Before You Begin#
Before installing Sit Everywhere, make sure your server meets the minimum requirements. Only one resource is mandatory; everything else is optional and detected on its own.
Requirement | Status | Notes |
|---|---|---|
| Required | Callbacks, the interface bridge and shared helpers. Must start before Sit Everywhere. |
| Recommended | Keeps what you change in |
Framework | Optional |
|
Third eye | Optional |
|
| Optional | Notifications in its style, and the HUD hidden while the settings panel is open. |
| Optional | Draws the floating prompts over preset seats. Without it, the game's own 3D text is used. |
The resource picks each layer by looking at what is already running:
Layer | Detection order |
|---|---|
Framework |
|
Third eye |
|
Notifications |
|
Floating text |
|
Every optional integration degrades silently. If a resource is missing, that part simply stands down — nothing errors. Integrations has the details and how to force one by hand.
github.comReleases · overextended/ox_libA FiveM resource and script library for Lua and JS.github.comReleases · overextended/oxmysqlMySQL resource for FXServer.Downloading Sit Everywhere#
After purchasing Sit Everywhere, the resource is automatically linked to your CFX Portal account.
Sign in to the CFX Portal using the same account used during checkout, open Granted Assets, and download Sit Everywhere.
After extracting the download, you should have the following folder:
qs-siteverywhere/
├── config/ -- framework and third-eye detection (editable)
├── custom/ -- framework, notification and floating-text bridges (editable)
├── client/custom/ -- the HUD bridge (editable)
├── server/custom/ -- your own server-side additions (editable)
├── locales/ -- 41 languages, one JSON file each (editable)
├── sql/ -- database.sql, only if your database user cannot create tables
├── web/build/ -- the interface, already built
├── web/images/ -- the picture of every animation
└── fxmanifest.luaKeep the folder named
qs-siteverywhere. The update check at boot looks the resource up by that name, and every console message and support answer refers to it.
Installing the Resource#
Move the qs-siteverywhere folder into your server's resources directory. It can live anywhere inside it, including a category folder:
resources/
└── [qs]/
└── qs-siteverywhere/Once copied, open your server.cfg and make sure every dependency — and everything it should detect — starts before Sit Everywhere:
ensure oxmysql
ensure ox_lib
# Framework (optional)
ensure es_extended
# ensure qb-core
# ensure qbx_core
# Third eye (optional, only one)
ensure ox_target
# ensure qb-target
# ensure qtarget
# Optional extras
ensure qs-interface
ensure qs-textui
ensure qs-siteverywhereThe loading order matters. The framework is detected the moment Sit Everywhere starts, so a framework that starts after it is not found and the resource runs standalone. The third eye is looked for a few seconds later; one that starts after that is missed until Sit Everywhere is restarted.
The Database#
There is no SQL file to import. When oxmysql is running, Sit Everywhere creates its one table on first start and writes to it every time an admin saves the panel.
Table | Holds |
|---|---|
| One row per setting you changed in |
Only the settings you change are stored. Everything else comes from the defaults the resource ships with, so an update never wipes your configuration, and a setting added in a later version simply starts at its default.
Nothing to do. The table is created on the first start and every save is written straight away.
If your database user is not allowed to create tables, the console says so on start. Run sql/database.sql once on your database — it is the same CREATE TABLE IF NOT EXISTS statement the resource runs itself — and restart.
The panel still opens, saves and applies to every player, but the values only live in memory and go back to the defaults on the next restart. The console warns about it the first time.
Claiming Admin Access#
/sitconfig is where everything is configured, so it is behind an ACE permission: command.sitconfig. Anyone without it gets "You do not have permission to do that." and the server console logs the attempt with the exact line to grant it. Any of these routes gives access:
The usual route. Grant the permission to your admin group in server.cfg, and add your staff to that group:
add_ace group.admin command.sitconfig allow
add_principal identifier.license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx group.adminGrant it to a single identifier, without touching your groups:
add_ace identifier.license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx command.sitconfig allowAlready have an ace for your staff? Open /sitconfig → Commands → Settings permission and type it there (for example qs.admin). The panel then answers to that ace instead of command.sitconfig.
Restart the server after editing server.cfg, or type the same add_ace line in the server console to apply it right away. The permission is checked when the panel opens and again on every save, so a player who loses it cannot keep saving from an open panel.
Renaming the command in Commands → Settings command does not rename the permission.
/chairsinstead of/sitconfigstill needscommand.sitconfig, unless you change Settings permission too.
Configuring the Resource#
Almost nothing is configured in files. Distances, keys, the seat solver, manual placement, the menu, preset seats, the language and even the command names all live in the in-game panel, /sitconfig, changed live and applied to every player at once. The files are for plumbing:
File | Contents |
|---|---|
| Framework and third-eye detection — only what must be known before the server starts. |
| Every text the players and the panel see, one file per language. |
| How notifications and the floating prompts are drawn. |
| Which HUD is hidden while a menu is open. |
| The framework bridges. |
The settings worth reviewing first, all in /sitconfig:
Setting | Section | Default |
|---|---|---|
Language | General |
|
Target system | General | Detect automatically |
Interaction distance | Interaction |
|
Stand up key | Interaction |
|
Preset locations | Preset locations | Only the base-game maps are on |
The animation catalogue, the prop lists and the preset seat data are part of the resource itself, not configuration. Usage lists everything they contain.
Verifying the Installation#
After completing the installation, restart your server and read the console. Sit Everywhere prints what it picked and how many saved settings it loaded:
[qs-siteverywhere] framework resolved: esx
[qs-siteverywhere] server adapter loaded: esx
[qs-siteverywhere] loaded 0 saved settings, 125 fields in total
You are using the latest version of qs-siteverywhere!framework resolved: standalone means no framework was running when it started — if you do have one, move it above ensure qs-siteverywhere. (memory only, no oxmysql) at the end of the settings line means nothing you save will survive a restart.
Then join your server and work through the first loop:
Sit on a bench
Walk up to any public bench and use the third eye on it. Sit down takes the bench's hand-placed seat in one press; Choose pose opens the animation picker. With no third-eye resource, a floating prompt appears over the bench instead — press
E.Sit on the ground
Away from any seat, type
/sit. Pick a pose, watch the preview of your own character play it, and press Sit here. PressEto change pose without standing up, andXto stand.Open the panel
/sitconfigopens the settings. Under Preset locations, switch on the maps your server has installed, then restart the resource. From there, Usage covers every section.
Nothing needs a restart from here on, except the handful of settings marked Needs restart in the panel — the command names, the stand-up and prompt keys, the third eye, the preset seat options and the location switches.



