> ## Documentation Index
> Fetch the complete documentation index at: https://docs.elementlabs.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Server requirements

> What your server needs before you install an Element Labs product.

Check this page before buying a product. Most installation failures are a requirement that was not
met, not a fault in the product.

## Contract

An Element Labs product runs on a FiveM server. It needs the shared `element_sdk` resource, and it
may need resources you already run: a framework, an inventory, a database. Which of those a given
product needs is stated on that product's own installation page.

## Inputs

### Always required

| Requirement                                  | Notes                                                                                           |
| -------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| A running FXServer                           | Keep it reasonably current. An artifact that is years old is not tested against.                |
| Write access to `resources` and `server.cfg` | You install by extracting a directory and adding two lines.                                     |
| The `element_sdk` resource                   | Downloaded from the CFX portal with your products. One installation is shared by every product. |
| A licensed download per product              | Bound to the account that purchased it. See [Licensing](/getting-started/licensing).            |

### Required by some products

| Requirement                                                   | When                                                                                                                                |
| ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| A supported framework: `es_extended`, `qb-core` or `qbx_core` | When a product needs to know who a player is. Most products do. A product that needs one **does not start** on a server without it. |
| A supported inventory                                         | When a product moves items.                                                                                                         |
| A supported database resource                                 | When a product stores data between sessions.                                                                                        |

The exact resource names and the order they are matched in are listed in [Supported server
resources](/sdk/supported-resources). Check that page against your server before buying.

### Not required

* A specific framework. Any of the three supported ones works, and no product is written against one
  of them in particular.
* A database, for products that store nothing.
* Any additional interface resource. A product that shows notifications or progress bars uses yours
  if you have one, and draws its own if you do not.

## Outputs

Outbound internet access is used once per server start, to compare your installed versions against
the published release catalogue. It is not required: without it, one warning is printed and
everything else continues.

The host contacted is `raw.githubusercontent.com`, over HTTPS. Add it to your allowlist if your firewall
works that way, point the check at a mirror of your own, or turn it off entirely. See
[Server settings](/sdk/server-settings).

## Errors

Two requirements fail loudly at start rather than degrading:

```text theme={null}
[ERROR] [Dependencies] Missing dependency 'element_sdk' (requires ^0.1.0-alpha.3).
```

```text theme={null}
No supported Framework adapter detected. Checked: [es_extended, qb-core, qbx_core]
```

Both stop the product before it does anything. See [A product does not
start](/support/product-will-not-start).

## Example

A server that meets the requirements for a product needing a framework:

```cfg theme={null}
ensure oxmysql
ensure es_extended

ensure element_sdk
ensure element_map
```

Listing the framework and database resources first is the tidy order, not a requirement: a product
matches them from what is running the first time it uses them, so one that starts earlier still finds
them.

## Related

* [Install a product](/getting-started/installation)
* [Supported server resources](/sdk/supported-resources)
* [Licensing](/getting-started/licensing)
