> ## 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.

# Start order

> The order to list resources in server.cfg, and what goes wrong when a product starts before what it uses.

A product uses resources you already run: `element_sdk`, and often a framework, an inventory or a
database. Each of them has to be running before the product needs it. Listing them in this order in
`server.cfg` guarantees it.

## Before you start

* The product and `element_sdk` are installed. See [Install a product](https://docs.elementlabs.net/get-started/install.md).

## Steps

**1. List what the product uses first**

Your database, framework, inventory and any menu, target or notification resource, in the order
they themselves need. A framework usually needs the database before it.

**2. Then element\_sdk**

Once, however many products you run.

**3. Then the products**

In any order among themselves.

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

ensure element_sdk
ensure element_3d_pausemenu_assets
ensure element_3d_pausemenu
```

A folder can be started as a whole with `ensure [element]`. Do that after the lines above, so
everything in it starts after the resources it uses.

## Check that it worked

Restart the server. The console shows no `[ERROR]` line naming a product, and no
`No supported … adapter detected` line.

To see which of your resources each product chose, turn on `el:debug` (see
[Server settings](https://docs.elementlabs.net/configure/server-settings.md)). Each choice is printed once, when the product first
uses it:

```text theme={null}
[DEBUG] [FrameworkAdapter] Using "esx" adapter.
```

## Why the order matters

**`element_sdk`.** Every product lists `element_sdk` as a dependency in its `fxmanifest.lua`, so the
server starts `element_sdk` first on its own if it is installed. If it is not installed, the server
refuses to start the product and says it could not find `element_sdk`.

**Everything else.** A product picks your framework, inventory, database and the rest the first time
it needs each one, from the resources running at that moment. Many products need their framework as
soon as they start. The choice is then kept until the product restarts. So:

* a framework that starts after the product may not be picked, and the product reports that it found
  none;
* starting or replacing a resource after a product has picked one does not change the choice.
  Restart the product: `restart element_3d_pausemenu`.

When nothing suitable is running, what happens depends on the capability. See
[Supported resources](https://docs.elementlabs.net/compatibility/supported-resources.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.