` / `/unmute` | Toggle chat |
| `/admins` | List admins |
| `/bans` | List bans |
| `/server-save` | Force save |
Whitelist [#whitelist]
```
/whitelist add PlayerName
/whitelist remove PlayerName
/whitelist get
```
Runtime Config Changes [#runtime-config-changes]
```
/config set afk-auto-kick 30
/config set max-players 20
/config get max-players
```
Related Guides [#related-guides]
* [Server Configuration](/docs/factorio/server-config)
# Factorio Server Troubleshooting (/docs/factorio/fix-issues)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Players Can't Connect [#players-cant-connect]
* Forward port **34197 UDP**
* Check firewall rules
* Some routers randomize source ports — try a different port
Server Not in Public Browser [#server-not-in-public-browser]
* Verify `visibility.public` is `true`
* Check `username` and `token` are set correctly
* Token is from [factorio.com/profile](https://factorio.com/profile)
Version Mismatch [#version-mismatch]
Server and all clients must be the **exact same version**. Don't mix Stable and Experimental branches. Update via **Reinstall Server** in the panel.
Mod Mismatch [#mod-mismatch]
All clients need identical mods and versions. Players can use **"Sync mods with server"** in the server browser.
Desync Errors [#desync-errors]
Usually caused by mods:
* Remove recently added/updated mods
* Delete local mods folder and let the game re-download
* Verify game files via Steam
Space Age Keeps Re-Enabling [#space-age-keeps-re-enabling]
Edit `mod-list.json` BEFORE first launch. If persistent, delete the `space-age`, `quality`, and `elevated-rails` directories from `data/`.
Related Guides [#related-guides]
* [Server Configuration](/docs/factorio/server-config)
* [Install Mods](/docs/factorio/mod-setup)
* [Space Age DLC](/docs/factorio/space-age)
# How to Update or Change Your Factorio Server Version (/docs/factorio/game-version)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Updating [#updating]
1. Stop your server
2. In the [XGamingServer Panel](https://panel.xgamingserver.com), on the **Dashboard**, click **Reinstall Server**
3. Wait, then start
Version Matching [#version-matching]
Server and **all clients** must be on the **exact same version**. Don't mix Stable and Experimental branches.
After Updating [#after-updating]
* Check mod compatibility — some mods may break
* Saves from newer versions cannot be loaded on older versions
Related Guides [#related-guides]
* [Server Configuration](/docs/factorio/server-config)
* [Install Mods](/docs/factorio/mod-setup)
# How to Upload a Map to Your Factorio Server (/docs/factorio/import-map)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Uploading an Existing Save [#uploading-an-existing-save]
Factorio saves are `.zip` files.
1. Stop your server
2. In the [XGamingServer Panel](https://panel.xgamingserver.com), click **Files**
3. Upload the `.zip` save file to the `saves/` folder
4. Update the startup command to reference it: `--start-server ./saves/my-save.zip`
5. Start the server
Starting with the Latest Save [#starting-with-the-latest-save]
Use `--start-server-load-latest` in startup to auto-load the most recent save file.
Map Generation Settings [#map-generation-settings]
Create a custom map with specific generation parameters using `map-gen-settings.json` and `map-settings.json`. Examples are in the `data/` folder.
Key generation controls:
* Resource frequency, size, richness (per-ore type)
* Enemy base frequency and size
* Starting area size
* Cliff settings
* Water coverage
* Map seed
Related Guides [#related-guides]
* [Server Configuration](/docs/factorio/server-config)
# Factorio Server Guides (/docs/factorio)
import { Rocket, Settings, Globe, Wrench, Shield, Puzzle, RefreshCw, Users, AlertTriangle } from "lucide-react";
Factorio is a factory-building game where you design and manage automated production lines. These guides will help you set up and manage your XGamingServer Factorio server.
Getting Started [#getting-started]
} title="Connect to Your Server" description="Join your Factorio server using the IP address." href="/docs/factorio/join-server" />
} title="Add Admins" description="Grant admin privileges on your server." href="/docs/factorio/admin-setup" />
} title="Make Your Server Public" description="List your server in the public server browser." href="/docs/factorio/public-listing" />
Configuration [#configuration]
} title="Change Server Name" description="Update the hostname displayed in the server browser." href="/docs/factorio/rename-server" />
} title="Set a Password" description="Protect your server with a password." href="/docs/factorio/server-password" />
} title="Set Max Players" description="Adjust the maximum player slots on your server." href="/docs/factorio/player-slots" />
} title="Enable Space Age DLC" description="Enable or disable the Space Age expansion." href="/docs/factorio/space-age" />
Server Management [#server-management]
} title="Update Your Server" description="Keep your server up to date with automatic updates." href="/docs/factorio/game-version" />
} title="Change Version" description="Switch to a specific Factorio version." href="/docs/factorio/game-version" />
} title="Upload an Existing Save" description="Transfer your local save to your server." href="/docs/factorio/import-map" />
} title="Reset Your Server" description="Wipe your server and start fresh." href="/docs/factorio/wipe-reinstall" />
Mods and Troubleshooting [#mods-and-troubleshooting]
} title="Install Mods" description="Add mods from the Factorio Mods Portal." href="/docs/factorio/mod-setup" />
} title="Troubleshooting" description="Fix common Factorio server issues." href="/docs/factorio/fix-issues" />
> **Don't have a server yet?** [Get Factorio Server Hosting](https://xgamingserver.com/factorio-hosting-server?utm_source=docs\&utm_medium=referral\&utm_campaign=factorio-hosting-server) starting from just $4/month with instant setup and 24/7 support.
# How to Connect to Your Factorio Server (/docs/factorio/join-server)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Server Browser [#server-browser]
If `visibility.public` is true with valid credentials, the server appears in the in-game public browser. Search by name and click **Join**.
Direct Connect [#direct-connect]
1. Launch Factorio → **Multiplayer** → **Connect to address**
2. Enter `IP:34197` (port optional if using default)
3. Enter password if required
LAN [#lan]
If `visibility.lan` is true, the server auto-appears on the local network.
Ports [#ports]
| Port | Protocol | Purpose |
| ----- | -------- | ------------ |
| 34197 | UDP | Game traffic |
Troubleshooting [#troubleshooting]
| Issue | Fix |
| ---------------- | -------------------------------------------------------------------------- |
| Not in browser | Check `visibility.public`, `username`, and `token` in server-settings.json |
| Version mismatch | Server and client must be exact same version |
| Mod mismatch | Use "Sync mods with server" in the browser |
Related Guides [#related-guides]
* [Server Configuration](/docs/factorio/server-config)
# How to Install Mods on Your Factorio Server (/docs/factorio/mod-setup)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Installing Mods [#installing-mods]
1. Download mods from [mods.factorio.com](https://mods.factorio.com/)
2. Upload the `.zip` files to the `mods/` folder — **do NOT extract**
3. Restart the server
mod-list.json [#mod-listjson]
Controls which mods are enabled. Auto-generated on first start:
```json
{
"mods": [
{"name": "base", "enabled": true},
{"name": "some-mod", "enabled": true}
]
}
```
Mod Settings (mod-settings.dat) [#mod-settings-mod-settingsdat]
This binary file stores mod startup settings. To configure:
1. Set up mod settings in your **local** Factorio client
2. Copy `mod-settings.dat` from your local `mods/` folder to the server's `mods/` folder
Important [#important]
* **All players must have identical mods and versions** — mismatches prevent connection
* Players can use "Sync mods with server" in the server browser to auto-match
* Mod checksums are verified at startup
Related Guides [#related-guides]
* [Server Configuration](/docs/factorio/server-config)
* [Space Age DLC](/docs/factorio/space-age)
# How to Change Max Players on Your Factorio Server (/docs/factorio/player-slots)
import { Step, Steps } from 'fumadocs-ui/components/steps';
In `server-settings.json`:
```json
"max_players": 0
```
`0` = unlimited. Set a number to cap (e.g., `20`).
You can also change it at runtime:
```
/config set max-players 20
```
Related Guides [#related-guides]
* [Server Configuration](/docs/factorio/server-config)
# How to Make Your Factorio Server Public (/docs/factorio/public-listing)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Requirements [#requirements]
1. Set `"visibility": {"public": true}` in server-settings.json
2. Add your **factorio.com username** to the `"username"` field
3. Add your **auth token** to the `"token"` field
Getting Your Token [#getting-your-token]
1. Go to [factorio.com/profile](https://factorio.com/profile)
2. Copy the auth token
3. Paste into `server-settings.json`
> 💡 **Tip:** Token is preferred over password because `server-settings.json` is stored as plaintext.
Related Guides [#related-guides]
* [Server Configuration](/docs/factorio/server-config)
# How to Change Your Factorio Server Name (/docs/factorio/rename-server)
import { Step, Steps } from 'fumadocs-ui/components/steps';
In `server-settings.json`:
```json
"name": "My Factorio Server",
"description": "Vanilla survival, all welcome!",
"tags": ["vanilla", "friendly"]
```
Related Guides [#related-guides]
* [Server Configuration](/docs/factorio/server-config)
# How to Configure Your Factorio Server (server-settings.json) (/docs/factorio/server-config)
import { File, Folder, Files } from 'fumadocs-ui/components/files';
All Factorio server settings live in `server-settings.json`.
Copy `data/server-settings.example.json` to `server-settings.json` and customize.
***
Server Identity [#server-identity]
| Setting | Default | Description |
| --------------- | ------- | ------------------------------ |
| `name` | `""` | Server browser name |
| `description` | `""` | Server description |
| `tags` | `[]` | Browser filter tags |
| `game_password` | `""` | Join password (empty = public) |
| `max_players` | `0` | 0 = unlimited |
Visibility & Authentication [#visibility--authentication]
| Setting | Default | Description |
| --------------------------- | ------- | -------------------------------------------------- |
| `visibility.public` | `true` | Show in public browser (requires username + token) |
| `visibility.lan` | `true` | LAN auto-discovery |
| `username` | `""` | Your factorio.com username |
| `token` | `""` | Auth token from factorio.com/profile |
| `require_user_verification` | `true` | Only verified factorio.com accounts can join |
> 📝 **Note:** For public listing, set `username` and `token` (preferred over `password` since the file is plaintext). Get your token at [factorio.com/profile](https://factorio.com/profile).
Auto-Save [#auto-save]
| Setting | Default | Description |
| ------------------------- | ------- | -------------------------------- |
| `autosave_interval` | `10` | Minutes between saves |
| `autosave_slots` | `5` | Rotating save slots |
| `autosave_only_on_server` | `true` | Only save on server, not clients |
| `auto_pause` | `true` | Pause when no players connected |
Player Management [#player-management]
| Setting | Default | Description |
| ------------------------------------------- | --------------- | --------------------------------------- |
| `afk_autokick_interval` | `0` | Minutes before AFK kick (0 = never) |
| `allow_commands` | `"admins-only"` | `"true"`, `"false"`, or `"admins-only"` |
| `ignore_player_limit_for_returning_players` | `false` | Let returning players bypass max count |
Network [#network]
| Setting | Default | Description |
| ------------------------------------ | ------- | ------------------------- |
| `max_upload_in_kilobytes_per_second` | `0` | 0 = unlimited |
| `max_heartbeats_per_second` | `60` | Network tick rate (6–240) |
Ports [#ports]
| Port | Protocol | Purpose |
| --------- | -------- | --------------------------------------------- |
| **34197** | UDP | Game traffic |
| RCON | TCP | Remote console (user-defined, commonly 27015) |
RCON Setup [#rcon-setup]
Add to startup parameters:
```
--rcon-port 27015 --rcon-password "YourPassword"
```
Related Guides [#related-guides]
* [Admin Setup](/docs/factorio/admin-setup)
* [How to Install Mods](/docs/factorio/mod-setup)
* [Space Age DLC](/docs/factorio/space-age)
* [How to Join](/docs/factorio/join-server)
# How to Set a Password on Your Factorio Server (/docs/factorio/server-password)
import { Step, Steps } from 'fumadocs-ui/components/steps';
In `server-settings.json`:
```json
"game_password": "YourPassword"
```
Empty = public server.
Related Guides [#related-guides]
* [Server Configuration](/docs/factorio/server-config)
# How to Enable or Disable Space Age DLC on Your Factorio Server (/docs/factorio/space-age)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Space Age is controlled through `mod-list.json`, not server-settings.json. It consists of three mod entries:
Enabling Space Age [#enabling-space-age]
In `mods/mod-list.json`:
```json
{
"mods": [
{"name": "base", "enabled": true},
{"name": "elevated-rails", "enabled": true},
{"name": "quality", "enabled": true},
{"name": "space-age", "enabled": true}
]
}
```
Disabling Space Age [#disabling-space-age]
Set all three to `false`:
```json
{"name": "elevated-rails", "enabled": false},
{"name": "quality", "enabled": false},
{"name": "space-age", "enabled": false}
```
> ⚠️ **Important:** Modify `mod-list.json` BEFORE the first server launch. Saves created with Space Age cannot simply have it disabled later.
> 💡 **Tip:** If the server keeps re-enabling the mods, delete the `space-age`, `quality`, and `elevated-rails` directories from the server's `data/` folder.
Related Guides [#related-guides]
* [Server Configuration](/docs/factorio/server-config)
* [Install Mods](/docs/factorio/mod-setup)
# How to Wipe & Reinstall Your Factorio Server (/docs/factorio/wipe-reinstall)
import { Step, Steps } from 'fumadocs-ui/components/steps';
World Wipe [#world-wipe]
1. Stop server
2. Delete saves from the `saves/` folder
3. Start — a new map generates (or create one with custom settings)
Full Reinstall [#full-reinstall]
1. Stop, delete all files, click **Reinstall Server**
> ⚠️ Back up `server-settings.json`, `mods/`, and any saves you want to keep.
Related Guides [#related-guides]
* [Server Configuration](/docs/factorio/server-config)
* [Upload a Map](/docs/factorio/import-map)
# Enshrouded Custom Difficulty Settings (/docs/enshrouded/custom-difficulty)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Set `"gameSettingsPreset": "Custom"` first, then configure `gameSettings`:
Player Stats [#player-stats]
| Setting | Range | Description |
| ---------------------- | ------ | -------------------- |
| `playerHealthFactor` | 0.25–4 | Player health scale |
| `playerManaFactor` | 0.25–4 | Player mana scale |
| `playerStaminaFactor` | 0.25–4 | Player stamina scale |
| `playerBodyHeatFactor` | 0.5–2 | Cold resistance |
Survival [#survival]
| Setting | Values | Description |
| ------------------------- | ----------------------------------------------------- | -------------------------- |
| `enableDurability` | true/false | Weapon/tool degradation |
| `enableStarvingDebuff` | true/false | Health loss when starving |
| `foodBuffDurationFactor` | 0.5–2 | Food buff duration |
| `shroudTimeFactor` | 0.5–2 | Time allowed in the Shroud |
| `tombstoneMode` | `AddBackpackMaterials` / `Everything` / `NoTombstone` | Death item loss |
| `enableGliderTurbulences` | true/false | Glider turbulence |
Environment [#environment]
| Setting | Values | Description |
| ------------------- | ---------------------------------------- | ----------------------------- |
| `dayTimeDuration` | nanoseconds | Day length (default 30 min) |
| `nightTimeDuration` | nanoseconds | Night length (default 12 min) |
| `weatherFrequency` | `Disabled` / `Rare` / `Normal` / `Often` | Weather changes |
| `curseModifier` | `Easy` / `Normal` / `Hard` | Shroud curse chance |
Resources & Production [#resources--production]
| Setting | Range | Description |
| ------------------------------- | ------ | ---------------- |
| `miningDamageFactor` | 0.5–2 | Mining yield |
| `plantGrowthSpeedFactor` | 0.25–2 | Plant growth |
| `resourceDropStackAmountFactor` | 0.25–2 | Resource drops |
| `factoryProductionSpeedFactor` | 0.25–2 | Production speed |
Progression [#progression]
| Setting | Range | Description |
| ----------------------------------- | ------ | ------------------ |
| `experienceCombatFactor` | 0.25–2 | Combat XP |
| `experienceMiningFactor` | 0–2 | Mining XP |
| `experienceExplorationQuestsFactor` | 0.25–2 | Quest XP |
| `perkCostFactor` | 0.25–2 | Rune upgrade costs |
Enemies [#enemies]
| Setting | Range/Values | Description |
| ---------------------------- | ------------------------------------- | ---------------------- |
| `randomSpawnerAmount` | `Few` / `Normal` / `Many` / `Extreme` | Enemy count |
| `aggroPoolAmount` | `Few` / `Normal` / `Many` / `Extreme` | Simultaneous attackers |
| `enemyDamageFactor` | 0.25–5 | Enemy damage |
| `enemyHealthFactor` | 0.25–4 | Enemy health |
| `enemyStaminaFactor` | 0.5–2 | Enemy stun resistance |
| `enemyPerceptionRangeFactor` | 0.5–2 | Detection range |
| `bossDamageFactor` | 0.2–5 | Boss damage |
| `bossHealthFactor` | 0.2–5 | Boss health |
| `pacifyAllEnemies` | true/false | Enemies won't attack |
> 📝 **Note:** Time values use nanoseconds. 1 minute = 60000000000 nanoseconds.
Related Guides [#related-guides]
* [Difficulty Presets](/docs/enshrouded/difficulty-presets)
* [Server Configuration](/docs/enshrouded/server-config)
# Enshrouded Difficulty Presets (/docs/enshrouded/difficulty-presets)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Set in `enshrouded_server.json`:
```json
"gameSettingsPreset": "Default"
```
Presets [#presets]
| Preset | Description |
| ------------ | ---------------------------------------------------------------------------------------------- |
| **Default** | Standard balanced experience. All multipliers at 1x. |
| **Relaxed** | Fewer enemies, more resources. Player health \~200%, enemy damage \~50%. Ideal for building. |
| **Hard** | More enemies, tighter resources. Tougher combat. |
| **Survival** | Starvation enabled, harsher death penalties, toughest enemies. |
| **Custom** | Unlocks 30+ individual settings — see [Custom Difficulty](/docs/enshrouded/custom-difficulty). |
> ⚠️ **Important:** If you use a named preset, the `gameSettings` block is **ignored**. You must set `"Custom"` to use individual settings.
Related Guides [#related-guides]
* [Custom Difficulty Settings](/docs/enshrouded/custom-difficulty)
* [Server Configuration](/docs/enshrouded/server-config)
# Enshrouded Server Troubleshooting (/docs/enshrouded/fix-issues)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Config Resets to Defaults [#config-resets-to-defaults]
**Cause:** Invalid JSON in `enshrouded_server.json`. Enshrouded silently overwrites the file.
**Fix:** Always validate JSON syntax before saving. Use an online JSON validator.
Server Crash on Start [#server-crash-on-start]
**Cause:** Duplicate passwords in `userGroups`.
**Fix:** Every group must have a **unique** password. Admin password cannot match server password.
Server Not in Browser [#server-not-in-browser]
* Update the server to latest version
* Wait 5–15 minutes after startup
* Try direct IP connect as workaround
* Verify ports 15636 + 15637 (TCP + UDP) are open
Version Mismatch [#version-mismatch]
Update server: `app_update 2278520 validate`
"Server Overloaded" Messages [#server-overloaded-messages]
Known issue. Restart the server, reduce spawn rates, group players together. See [Performance Guide](/docs/enshrouded/optimize-performance).
Character Not Saving [#character-not-saving]
Disable Steam Cloud: Steam → Library → right-click Enshrouded → Properties → toggle Cloud off.
Connection Failed [#connection-failed]
Verify ports 15636, 15637 are open for **both TCP and UDP**, inbound and outbound.
Related Guides [#related-guides]
* [Server Configuration](/docs/enshrouded/server-config)
* [Performance Guide](/docs/enshrouded/optimize-performance)
* [Roles & Admin](/docs/enshrouded/role-setup)
# How to Upload a Save to Your Enshrouded Server (/docs/enshrouded/import-save)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Local Save Locations [#local-save-locations]
**Steam Cloud enabled:**
```
C:\Program Files (x86)\Steam\userdata\[steamid]\1203620\remote
```
**Steam Cloud disabled:**
```
C:\Users\[user]\Saved Games\Enshrouded
```
Save File Names [#save-file-names]
| World | File Name |
| :---: | ---------------------------- |
| 1 | `3ad85aea` + `3ad85aea_info` |
| 2 | `3bd85c7d` |
| 3 | `38d857c4` |
Uploading [#uploading]
1. Stop your server
2. In the [XGamingServer Panel](https://panel.xgamingserver.com), click **Files**
3. Navigate to `savegame/`
4. Upload the save file (must be named `3ad85aea` for world slot 1)
5. Start the server
Backup [#backup]
Always back up the entire `savegame/` folder before changes.
Related Guides [#related-guides]
* [Server Configuration](/docs/enshrouded/server-config)
* [Wipe & Reinstall](/docs/enshrouded/wipe-reinstall)
# Enshrouded Server Guides (/docs/enshrouded)
import { Rocket, Settings, Globe, Wrench, AlertTriangle, Shield, Users, Gauge } from "lucide-react";
Enshrouded is a cooperative survival action RPG set in a vast open world consumed by a mysterious fog called the Shroud. These guides will help you set up and manage your XGamingServer Enshrouded server.
Getting Started [#getting-started]
} title="Connect to Your Server" description="Join your server using your IP address or the Steam browser." href="/docs/enshrouded/join-server" />
} title="Update Your Server" description="Enable automatic updates or manually update after patches." href="/docs/enshrouded/update-guide" />
} title="Change Server Name" description="Set a custom hostname for the server browser." href="/docs/enshrouded/rename-server" />
Configuration [#configuration]
} title="Change Difficulty Presets" description="Switch between Default, Relaxed, Hard, Survival, or Custom difficulty." href="/docs/enshrouded/difficulty-presets" />
} title="Custom Difficulty Settings" description="Fine-tune every individual game setting in enshrouded_server.json." href="/docs/enshrouded/custom-difficulty" />
} title="Set a Password" description="Protect your server with a password." href="/docs/enshrouded/server-password" />
} title="Max Players" description="Increase or decrease the player limit." href="/docs/enshrouded/player-slots" />
} title="Server Tags" description="Add tags to help players find your server." href="/docs/enshrouded/tag-setup" />
Administration [#administration]
} title="Adding Admins" description="Set up an admin password and become admin on your server." href="/docs/enshrouded/role-setup" />
} title="Server Roles" description="Configure custom roles and permissions for your server." href="/docs/enshrouded/role-setup" />
Maintenance and Troubleshooting [#maintenance-and-troubleshooting]
} title="Performance Guide" description="Optimize your server for better performance and reduce lag." href="/docs/enshrouded/optimize-performance" />
} title="Upload a Save" description="Transfer an existing save file to your server." href="/docs/enshrouded/import-save" />
} title="Reset Your Server" description="Completely wipe and reinstall your server." href="/docs/enshrouded/wipe-reinstall" />
} title="Troubleshooting" description="Fix common Enshrouded server issues." href="/docs/enshrouded/fix-issues" />
> **Don't have a server yet?** [Get Enshrouded Server Hosting](https://xgamingserver.com/enshrouded-server-hosting?utm_source=docs\&utm_medium=referral\&utm_campaign=enshrouded-server-hosting) starting from just $4/month with instant setup and 24/7 support.
# How to Connect to Your Enshrouded Server (/docs/enshrouded/join-server)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Direct IP (Recommended) [#direct-ip-recommended]
1. Launch Enshrouded → **Play** → **Join**
2. Press **\[T] Search By IPv4 / Domain**
3. Enter your server IP
4. Enter the **group password** (not server password) to join your role group
5. Click **Join**
Server Browser [#server-browser]
Your server appears in the public browser within 5–15 minutes of starting, if listed.
Steam Server Browser [#steam-server-browser]
1. In Steam → **View** → **Game Servers** → **Favorites**
2. Add `IP:15637` (query port)
3. Connect
Ports [#ports]
| Port | Default | Protocol |
| ----- | ------- | --------- |
| Game | 15636 | UDP + TCP |
| Query | 15637 | UDP + TCP |
Related Guides [#related-guides]
* [Server Configuration](/docs/enshrouded/server-config)
* [Roles & Admin](/docs/enshrouded/role-setup)
# Enshrouded Server Performance Guide (/docs/enshrouded/optimize-performance)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Daily Restarts (Essential) [#daily-restarts-essential]
Enshrouded has known memory leaks. **Restart every 8–12 hours** for stability.
Set up a scheduled restart in the [XGamingServer Panel](https://panel.xgamingserver.com) via **Schedules**.
Performance Tips [#performance-tips]
* **Group players together** — players in different biomes load separate terrain, which is the biggest RAM consumer
* **Reduce enemy spawns** — set `randomSpawnerAmount` to `"Few"` in Custom difficulty
* **Match `slotCount` to reality** — don't set 16 if you expect 4 players
* **8GB RAM minimum** for 8+ players
* **"Server Overloaded" messages** are a known issue with the official server software — restarts help
Heavy Areas [#heavy-areas]
**Hollow Halls** and certain late-game areas are especially hard on performance. Expect lag when multiple players are there simultaneously.
Related Guides [#related-guides]
* [Server Configuration](/docs/enshrouded/server-config)
* [Difficulty Settings](/docs/enshrouded/custom-difficulty)
# How to Change Max Players on Your Enshrouded Server (/docs/enshrouded/player-slots)
import { Step, Steps } from 'fumadocs-ui/components/steps';
In `enshrouded_server.json`:
```json
"slotCount": 16
```
Maximum: **16 players** (hard cap).
Performance Notes [#performance-notes]
* 8GB RAM recommended for 8+ regular players
* Players in different biomes load separate terrain data — grouping up reduces load
* Reduce `randomSpawnerAmount` to `"Few"` for better performance with many players
* Match `slotCount` to your actual expected player count
Reserved Slots [#reserved-slots]
Use `reservedSlots` in [user groups](/docs/enshrouded/role-setup) to guarantee join slots for admins/friends.
Related Guides [#related-guides]
* [Server Configuration](/docs/enshrouded/server-config)
* [Performance Guide](/docs/enshrouded/optimize-performance)
# How to Rename Your Enshrouded Server (/docs/enshrouded/rename-server)
import { Step, Steps } from 'fumadocs-ui/components/steps';
In `enshrouded_server.json`:
```json
"name": "My Enshrouded Server"
```
Related Guides [#related-guides]
* [Server Configuration](/docs/enshrouded/server-config)
# How to Set Up Roles & Admins on Your Enshrouded Server (/docs/enshrouded/role-setup)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Enshrouded uses a **user group** system — each group has a unique password and specific permissions.
User Groups in enshrouded_server.json [#user-groups-in-enshrouded_serverjson]
```json
"userGroups": [
{
"name": "Admin",
"password": "admin_password_123",
"canKickBan": true,
"canAccessInventories": true,
"canEditBase": true,
"canExtendBase": true,
"reservedSlots": 1
},
{
"name": "Friend",
"password": "friend_password_456",
"canKickBan": false,
"canAccessInventories": true,
"canEditBase": true,
"canExtendBase": true,
"reservedSlots": 0
},
{
"name": "Guest",
"password": "guest_password_789",
"canKickBan": false,
"canAccessInventories": false,
"canEditBase": false,
"canExtendBase": false,
"reservedSlots": 0
}
]
```
Permissions [#permissions]
| Permission | Description |
| ---------------------- | ------------------------------------ |
| `canKickBan` | Can use `/kick` and `/ban` commands |
| `canAccessInventories` | Can open other players' chests |
| `canEditBase` | Can modify other players' bases |
| `canExtendBase` | Can extend other players' base areas |
| `reservedSlots` | Guaranteed join slots for this group |
How Players Join a Group [#how-players-join-a-group]
Players enter the **group password** (not the server password) when connecting. The server assigns them to the matching group.
> ⚠️ **Every group password must be unique.** Duplicate passwords crash the server on startup.
> ⚠️ **Admin password cannot be the same as the server password.**
In-Game Admin Commands [#in-game-admin-commands]
Players with `canKickBan: true` can use:
| Command | Description |
| ------------------- | --------------- |
| `/kick PlayerName` | Kick a player |
| `/ban PlayerName` | Permanently ban |
| `/unban PlayerName` | Remove a ban |
Related Guides [#related-guides]
* [Server Configuration](/docs/enshrouded/server-config)
# How to Configure Your Enshrouded Server (enshrouded_server.json) (/docs/enshrouded/server-config)
import { File, Folder, Files } from 'fumadocs-ui/components/files';
All Enshrouded settings live in `enshrouded_server.json` in the server root. JSON format.
> ⚠️ **Critical:** Enshrouded **silently overwrites** the config with defaults if the JSON is invalid. Always validate JSON syntax before saving. No startup parameters are supported — all config is in this file.
***
Core Settings [#core-settings]
| Setting | Default | Description |
| --------------- | --------------------- | ------------------------------ |
| `name` | `"Enshrouded Server"` | Server browser name |
| `password` | `""` | Join password (empty = public) |
| `slotCount` | `16` | Max players (up to 16) |
| `ip` | `"0.0.0.0"` | Bind address (don't change) |
| `gamePort` | `15636` | Game port (UDP + TCP) |
| `queryPort` | `15637` | Steam query port (UDP + TCP) |
| `saveDirectory` | `"./savegame"` | Save folder path |
| `logDirectory` | `"./logs"` | Log folder path |
Voice & Chat [#voice--chat]
| Setting | Default | Description |
| ----------------- | ------------- | --------------------------- |
| `enableVoiceChat` | `false` | Enable voice chat |
| `voiceChatMode` | `"Proximity"` | `"Proximity"` or `"Global"` |
| `enableTextChat` | `false` | Enable text chat |
Difficulty [#difficulty]
| Setting | Default | Description |
| -------------------- | ----------- | ------------------------------------------------------ |
| `gameSettingsPreset` | `"Default"` | `Default`, `Relaxed`, `Hard`, `Survival`, `Custom` |
| `gameSettings` | `{}` | Individual settings (only used when preset = `Custom`) |
See [Difficulty Presets](/docs/enshrouded/difficulty-presets) and [Custom Difficulty](/docs/enshrouded/custom-difficulty) for all options.
Tags [#tags]
```json
"tags": ["English", "LookingForPlayers", "BaseBuilding"]
```
**Playstyle:** `LookingForPlayers`, `BaseBuilding`, `Exploration`, `Roleplay`
**Languages:** `English`, `German`, `French`, `Spanish`, `Japanese`, `Korean`, `Polish`, `Portuguese`, `Russian`, `Chinese`, + more
See [Server Tags](/docs/enshrouded/tag-setup).
User Groups (Roles) [#user-groups-roles]
See [Roles & Admin Setup](/docs/enshrouded/role-setup).
Ports [#ports]
| Port | Default | Protocol | Purpose |
| ----- | ------- | --------- | ------------------ |
| Game | 15636 | UDP + TCP | Player connections |
| Query | 15637 | UDP + TCP | Steam browser |
Both ports need firewall rules for TCP **and** UDP, inbound and outbound.
Related Guides [#related-guides]
* [Difficulty Presets](/docs/enshrouded/difficulty-presets)
* [Custom Difficulty](/docs/enshrouded/custom-difficulty)
* [Roles & Admin](/docs/enshrouded/role-setup)
* [How to Join](/docs/enshrouded/join-server)
# How to Set a Password on Your Enshrouded Server (/docs/enshrouded/server-password)
import { Step, Steps } from 'fumadocs-ui/components/steps';
In `enshrouded_server.json`:
```json
"password": "YourPassword"
```
Leave empty for public: `"password": ""`
> 📝 **Note:** The server password is separate from the user group passwords. Groups use their own unique passwords for role-based access — see [Roles & Admin](/docs/enshrouded/role-setup).
Related Guides [#related-guides]
* [Server Configuration](/docs/enshrouded/server-config)
* [Roles & Admin](/docs/enshrouded/role-setup)
# How to Set Server Tags on Your Enshrouded Server (/docs/enshrouded/tag-setup)
import { Step, Steps } from 'fumadocs-ui/components/steps';
In `enshrouded_server.json`:
```json
"tags": ["English", "LookingForPlayers", "BaseBuilding"]
```
Available Tags [#available-tags]
**Playstyle:** `LookingForPlayers`, `BaseBuilding`, `Exploration`, `Roleplay`
**Languages:** `English`, `German`, `French`, `Italian`, `Japanese`, `Korean`, `Polish`, `Portuguese`, `Russian`, `Spanish`, `Thai`, `Turkish`, `Ukrainian`, `Chinese`, `Taiwanese`
Related Guides [#related-guides]
* [Server Configuration](/docs/enshrouded/server-config)
# How to Update Your Enshrouded Server (/docs/enshrouded/update-guide)
import { Step, Steps } from 'fumadocs-ui/components/steps';
1. Stop your server
2. On the **Dashboard**, click **Reinstall Server**
3. Wait, then start
After Updating [#after-updating]
* All players must update their game client
* Back up `savegame/` before major updates
* Config is preserved during updates
Related Guides [#related-guides]
* [Server Configuration](/docs/enshrouded/server-config)
# How to Wipe & Reinstall Your Enshrouded Server (/docs/enshrouded/wipe-reinstall)
import { Step, Steps } from 'fumadocs-ui/components/steps';
World Wipe [#world-wipe]
1. Stop server
2. In **Files**, delete the `savegame/` folder
3. Start — new world generates
Full Reinstall [#full-reinstall]
1. Stop, delete all files, click **Reinstall Server** on Dashboard
> ⚠️ Back up `savegame/` and `enshrouded_server.json` first.
Related Guides [#related-guides]
* [Server Configuration](/docs/enshrouded/server-config)
# How To Change Your Foundry Server Name (/docs/foundry/change-server-name)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Here is how to change your Foundry server name.
Open the Startup Page [#1-open-the-startup-page]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your Foundry server. In the sidebar, click **Startup**.
Change the Server Name [#2-change-the-server-name]
Find the **Server Name** field and enter your desired name.
Restart Your Server [#3-restart-your-server]
Go to **Console** in the sidebar and restart your server for the new name to take effect.
# How To Configure Your Foundry Server (/docs/foundry/configure-your-server)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Foundry server configuration is managed through the **Startup** settings in your panel and server configuration files.
Using Startup Settings [#using-startup-settings]
Open the Startup Page [#1-open-the-startup-page]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your Foundry server. In the sidebar, click **Startup**.
Adjust Settings [#2-adjust-settings]
The Startup page provides fields for common settings including:
* **Server Name** - Display name in the server browser
* **Max Players** - Maximum player count
* **Server Password** - Password to join (leave blank for public)
* **World Name** - The name of the world/save to load
Restart Your Server [#3-restart-your-server]
After making changes, restart from the **Console** page.
Editing Configuration Files [#editing-configuration-files]
For more advanced configuration:
Open Files [#1-open-files]
In the sidebar, click **Files** and look for configuration files in your server directory.
Adjust Settings [#2-adjust-settings-1]
Edit the available configuration options for gameplay, world generation, and server behavior.
Save and Restart [#3-save-and-restart]
Save any changes and restart your server.
> 📝 **Note:** As Foundry is a newer title, configuration options may change with game updates. Check the game's official documentation or community resources for the latest available settings.
If you need help with a specific setting, join our [Discord](https://discord.xgamingserver.com) and we will assist you.
# How To Connect to Your Foundry Server (/docs/foundry/connect-to-your-server)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Here is how to connect to your Foundry dedicated server.
Connecting via the In-Game Browser [#connecting-via-the-in-game-browser]
Get Your Server IP [#1-get-your-server-ip]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your Foundry server. Your server IP and port are displayed on the **Dashboard**.
Launch Foundry [#2-launch-foundry]
Open Foundry through Steam.
Open Multiplayer [#3-open-multiplayer]
From the main menu, click **Multiplayer** and then **Join Server**.
Use Direct Connect [#4-use-direct-connect]
Enter your server's IP and port in the direct connect field (e.g., `123.456.789.0:3724`).
Join the Server [#5-join-the-server]
Click **Connect** to join the server. If a password is set, you will be prompted to enter it.
Connecting via the Server Browser [#connecting-via-the-server-browser]
Open the Server Browser [#1-open-the-server-browser]
From the main menu, go to **Multiplayer** and browse the server list.
Find Your Server [#2-find-your-server]
Search for your server by name.
Join [#3-join]
Select your server and click **Join**.
> 📝 **Note:** If you cannot find your server in the browser, try using the direct connect option with your IP and port instead.
# Foundry Server Guides (/docs/foundry)
import { Card, Cards } from "fumadocs-ui/components/card";
import { Rocket, Settings, Wrench, Users, Lock } from "lucide-react";
Foundry is a voxel-based building and exploration game where players mine resources, craft tools, build structures, and explore a vast open world. These guides will help you get your XGamingServer Foundry server configured and running smoothly.
Getting Started [#getting-started]
Connect and configure your server.
} title="Connect to Your Server" description="Join your Foundry server." href="/docs/foundry/connect-to-your-server" />
} title="Configure Your Server" description="Adjust gameplay and server settings." href="/docs/foundry/configure-your-server" />
} title="Set a Password" description="Password protect your server." href="/docs/foundry/set-a-password" />
Server Management [#server-management]
Manage your server settings and player slots.
} title="Change Server Name" description="Update your server's display name." href="/docs/foundry/change-server-name" />
} title="Max Players" description="Change the maximum player count." href="/docs/foundry/max-players" />
} title="Reset Server" description="Wipe and reinstall your server." href="/docs/foundry/reset-server" />
> **Don't have a server yet?** [Get Foundry Server Hosting](https://xgamingserver.com/foundry-server-hosting?utm_source=docs\&utm_medium=referral\&utm_campaign=foundry-server-hosting) starting from just $4/month with instant setup and 24/7 support.
# How To Change Max Players on Your Foundry Server (/docs/foundry/max-players)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Here is how to change the maximum player count on your Foundry server.
Open the Startup Page [#1-open-the-startup-page]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your Foundry server. In the sidebar, click **Startup**.
Change the Max Players Value [#2-change-the-max-players-value]
Find the **Max Players** field and set it to the number of player slots you want.
Restart Your Server [#3-restart-your-server]
Go to **Console** in the sidebar and restart your server to apply the change.
> 📝 **Note:** Higher player counts require more server resources. If you experience performance issues, consider upgrading your server plan.
# How To Reset Your Foundry Server (/docs/foundry/reset-server)
import { Step, Steps } from 'fumadocs-ui/components/steps';
If your Foundry server is having issues or you want a fresh start, you can reset it by reinstalling.
> ⚠️ **Warning:** Reinstalling your server deletes **all** files and data including world saves and configuration. This cannot be undone. Create a backup first if you want to keep any files.
Stop Your Server [#1-stop-your-server]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and **Stop** your Foundry server.
Delete All Server Files [#2-delete-all-server-files]
In the sidebar, click **Files** and delete **all folders and files** so the file manager is completely empty.
Reinstall the Server [#3-reinstall-the-server]
On the **Dashboard**, find the **Reinstall Server** option and click it. Wait for the installation to complete.
Reconfigure Your Server [#4-reconfigure-your-server]
Once the reinstall finishes, go to **Startup** to set your server name, max players, and other settings before starting the server.
If you continue to have issues after reinstalling, join our [Discord](https://discord.xgamingserver.com) and we will help you out.
# How To Set a Password on Your Foundry Server (/docs/foundry/set-a-password)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Setting a password on your Foundry server restricts access to only players who know the password.
Open the Startup Page [#1-open-the-startup-page]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your Foundry server. In the sidebar, click **Startup**.
Set the Server Password [#2-set-the-server-password]
Find the **Server Password** field and enter the password you want.
Restart Your Server [#3-restart-your-server]
Go to **Console** in the sidebar and restart your server.
Players will now be prompted to enter the password when they try to join.
> 📝 **Note:** To remove the password and make the server public again, clear the password field in **Startup** and restart.
# How To Change the Map on Your Garry's Mod Server (/docs/garrys-mod/change-map)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Here is how to change the map your Garry's Mod server runs.
Open the Startup Page [#1-open-the-startup-page]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your Garry's Mod server. In the sidebar, click **Startup**.
Change the Map [#2-change-the-map]
Find the **Map** field and enter the map name. Common default maps include:
| Map | Description |
| -------------------- | ---------------------------- |
| `gm_construct` | Classic sandbox building map |
| `gm_flatgrass` | Flat grass sandbox map |
| `gm_bigcity` | Large city sandbox map |
| `ttt_67thway_v14` | Popular TTT map |
| `ttt_minecraft_b5` | Minecraft-themed TTT map |
| `rp_downtown_v4c_v2` | Popular DarkRP map |
| `rp_rockford_v2b` | Large DarkRP city map |
Restart Your Server [#3-restart-your-server]
Go to **Console** in the sidebar and restart your server.
Using Workshop Maps [#using-workshop-maps]
If you want to use a custom map from the Steam Workshop:
Find the Map on the Workshop [#1-find-the-map-on-the-workshop]
Browse the [Steam Workshop for Garry's Mod](https://steamcommunity.com/app/4000/workshop/) and find your desired map.
Add the Map to Your Workshop Collection [#2-add-the-map-to-your-workshop-collection]
Follow the [Install Addons](/docs/garrys-mod/install-addons) guide to add the map's Workshop ID to your server.
Set the Map Name [#3-set-the-map-name]
In **Startup**, set the **Map** field to the map's BSP name (not the Workshop name). You can usually find this in the map's Workshop description.
Restart Your Server [#4-restart-your-server]
Restart to load the new map.
> 💡 **Tip:** You can change the map in-game using RCON or the admin console with the command `changelevel mapname`.
# How To Change Your Garry's Mod Server Name (/docs/garrys-mod/change-server-name)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Here is how to change your Garry's Mod server name.
Open the Startup Page [#1-open-the-startup-page]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your Garry's Mod server. In the sidebar, click **Startup**.
Change the Server Name [#2-change-the-server-name]
Find the **Server Name** field and enter your desired name.
Restart Your Server [#3-restart-your-server]
Go to **Console** in the sidebar and restart your server.
> 💡 **Tip:** You can also set the name in `garrysmod/cfg/server.cfg` with the `hostname` command:
>
> ```
> hostname "My GMod Server"
> ```
# How To Configure Your Garry's Mod Server (/docs/garrys-mod/configure-your-server)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Garry's Mod server configuration is handled through `server.cfg` and the **Startup** settings in your panel. Here is how to configure your server.
Using Startup Settings [#using-startup-settings]
Open the Startup Page [#1-open-the-startup-page]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your Garry's Mod server. In the sidebar, click **Startup**.
Adjust Settings [#2-adjust-settings]
The Startup page provides fields for common settings including:
* **Server Name** - Display name in the server browser
* **Map** - Starting map
* **Max Players** - Maximum player count
* **Game Mode** - The game mode to run (sandbox, terrortown, darkrp, etc.)
* **GSLT** - Your Game Server Login Token
* **Workshop Collection ID** - Steam Workshop collection for addons
Restart Your Server [#3-restart-your-server]
After making changes, restart from the **Console** page.
Editing server.cfg [#editing-servercfg]
Open Files [#1-open-files]
In the sidebar, click **Files**. Navigate to `garrysmod/cfg/` and open `server.cfg`.
Edit Configuration [#2-edit-configuration]
Common `server.cfg` settings:
```
// Server Identity
hostname "My GMod Server"
sv_password ""
rcon_password "yourrconpassword"
// Network
sv_maxrate 0
sv_minrate 0
sv_maxupdaterate 66
sv_minupdaterate 33
// Gameplay
sbox_noclip 1
sbox_godmode 0
sbox_maxprops 150
sbox_maxragdolls 10
sbox_maxnpcs 10
sbox_maxballoons 20
sbox_maxeffects 10
sbox_maxdynamite 5
sbox_maxlamps 10
sbox_maxthrusters 20
sbox_maxwheels 20
sbox_maxhoverballs 20
sbox_maxvehicles 6
sbox_maxbuttons 20
sbox_maxemitters 5
// Logging
log on
sv_logbans 1
sv_logecho 1
sv_logfile 1
sv_log_onefile 0
```
Save and Restart [#3-save-and-restart]
Save the file and restart your server.
Game Mode Configuration [#game-mode-configuration]
Each game mode may have its own configuration files:
* **Sandbox** - Uses the default `server.cfg` sandbox limits above
* **TTT** - Configuration in `garrysmod/cfg/` with TTT-specific convars
* **DarkRP** - Configuration in `garrysmod/addons/darkrpmodification/`
* **PropHunt** - Configuration through game mode-specific convars
> 📝 **Note:** The game mode is set in **Startup** and determines the core gameplay experience. Make sure you have the correct addons installed for your chosen game mode.
# How To Connect to Your Garry's Mod Server (/docs/garrys-mod/connect-to-your-server)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Here is how to connect to your Garry's Mod server.
Connecting via Console [#connecting-via-console]
Get Your Server IP [#1-get-your-server-ip]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your Garry's Mod server. Your server IP and port are displayed on the **Dashboard**.
Open the In-Game Console [#2-open-the-in-game-console]
Launch Garry's Mod and open the developer console by pressing the tilde key (`~`). If the console does not open, go to **Options** > **Keyboard** > **Advanced** and check **Enable Developer Console**.
Connect [#3-connect]
Type the following command and press Enter:
```
connect YOUR_IP:YOUR_PORT
```
Replace `YOUR_IP:YOUR_PORT` with your actual server address (e.g., `connect 123.456.789.0:27015`).
Connecting via the Server Browser [#connecting-via-the-server-browser]
Launch Garry's Mod [#1-launch-garrys-mod]
Open Garry's Mod and from the main menu, click **Find Multiplayer Game**.
Search for Your Server [#2-search-for-your-server]
Use the server browser to search for your server by name. You can also click the **Legacy Browser** button for a more detailed browser with favorites support.
Join the Server [#3-join-the-server]
Select your server and click **Join Server**.
Connecting via Steam [#connecting-via-steam]
Open Steam Server Browser [#1-open-steam-server-browser]
In Steam, go to **View** > **Game Servers**. Click the **Favorites** tab and then **Add a Server**.
Enter Your IP [#2-enter-your-ip]
Enter your server's IP and port and add it to your favorites.
Connect [#3-connect-1]
Select the server and click **Connect**.
> 📝 **Note:** If the server uses custom content (addons, maps, etc.), you may need to download files when connecting. This process is faster if the server has [FastDL](/docs/garrys-mod/fastdl) configured.
# Creating a GSLT Token for Your Garry's Mod Server (/docs/garrys-mod/create-gslt)
import { Step, Steps } from 'fumadocs-ui/components/steps';
A GSLT (Steam Game Server Login Token) is **required** by Valve for your Garry's Mod server to appear in the public server list. Here is how to create one and add it to your server.
Generate the Token [#1-generate-the-token]
Go to the [Steam Game Server Account Management](https://steamcommunity.com/dev/managegameservers) page and log in with your Steam account. Under `App ID`, enter `4000` for Garry's Mod, then name the memo anything you want.
Open the Startup Page [#2-open-the-startup-page]
Visit the [XGamingServer Panel](https://panel.xgamingserver.com) and select your Garry's Mod server. In the sidebar, go to **Startup**.
Enter Your Token [#3-enter-your-token]
Enter your token under **Game Server Login Token (GSLT)**.
Restart Your Server [#4-restart-your-server]
Click **Console** in the sidebar and then restart your server.
> 📝 **Note:** Each Garry's Mod server you run requires its own unique GSLT.
FAQ [#faq]
**What are the requirements for making a GSLT?**
Valve has some guidelines on what accounts are able to create a Game Server Login Token:
* Your Steam account must not be currently community banned or locked.
* Your Steam account must not be limited.
* Your Steam account must have a qualifying registered phone.
* Your Steam account must own the game for which you are creating a game server account.
* Your Steam account may create 1000 game server accounts.
**Can I get a GSLT Ban?**
Valve has token banned server owners in the past for violating their terms. If Valve token bans you, you can no longer host servers from your account. **We strongly suggest you view Valve's [Terms of Service](https://help.steampowered.com/en/faqs/view/07AF-502E-A104-BD4B)** to see what is and is not allowed.
# Setting Up FastDL for Garry's Mod (/docs/garrys-mod/fastdl)
import { Step, Steps } from 'fumadocs-ui/components/steps';
XGamingServer offers FastDL for your Garry's Mod server so players can download custom files such as maps, models, materials, and sounds quickly. Everything is automatic and there is no extra configuration required other than uploading your custom content.
How Does FastDL Work? [#how-does-fastdl-work]
While everything is automatic, there are some things you should know about the FastDL system:
* Files are synced (and compressed) to `/fastdl/` when you start your server.
* `sv_downloadurl` is automatically updated or added to your `server.cfg`.
* Files only get served to players after everything is compressed.
* You can view all the files online by checking your FastDL URL directly. Get it by typing `sv_downloadurl` into your console.
Here is a list of folders and file types that are synced:
| Folder | Extensions |
| --------- | ---------------------- |
| maps | .bsp, .nav, .res, .txt |
| materials | .vmt, .vtf |
| models | .mdl, .vtx, .vvd, .phy |
| resource | .txt, .res |
| sound | .mp3, .wav |
| lua | .lua |
If what you require is not listed, please join our [Discord](https://discord.xgamingserver.com) and we will add it.
Using A Third Party FastDL [#using-a-third-party-fastdl]
If you want to use an external FastDL, you can do so by adding another config that runs after `server.cfg`.
Create a FastDL Config [#1-create-a-fastdl-config]
Create a `fastdl.cfg` in `garrysmod/cfg/` where your `server.cfg` is located.
Add Your FastDL URL [#2-add-your-fastdl-url]
Add the line `sv_downloadurl "www.myfastdlurl.com"` to the file.
Execute the Config [#3-execute-the-config]
Go back to your `server.cfg` and add the line `exec fastdl` to the bottom of the file.
Restart Your Server [#4-restart-your-server]
Restart your server to apply the changes.
> 💡 **Tip:** FastDL is especially important for Garry's Mod servers that use many Workshop addons, as it significantly reduces the time players spend downloading content when joining.
# Garry's Mod Server Guides (/docs/garrys-mod)
import { Card, Cards } from "fumadocs-ui/components/card";
import { Rocket, Settings, Shield, Puzzle, Globe, Wrench, Users, Lock, Key, Zap } from "lucide-react";
Garry's Mod (GMod) is a physics sandbox game built on the Source engine by Facepunch Studios. It supports countless game modes including Sandbox, Trouble in Terrorist Town (TTT), DarkRP, Murder, Prop Hunt, and many more. These guides will help you get your XGamingServer Garry's Mod server configured and running smoothly.
Getting Started [#getting-started]
Connect and configure your server.
} title="Create GSLT" description="Generate a Steam Game Server Login Token." href="/docs/garrys-mod/create-gslt" />
} title="Connect to Your Server" description="Join your server using the console or browser." href="/docs/garrys-mod/connect-to-your-server" />
} title="Configure Your Server" description="Adjust server.cfg and game settings." href="/docs/garrys-mod/configure-your-server" />
} title="Set a Password" description="Password protect your server." href="/docs/garrys-mod/set-a-password" />
Server Management [#server-management]
Manage players, maps, and server state.
} title="Change Server Name" description="Update your server's display name." href="/docs/garrys-mod/change-server-name" />
} title="Max Players" description="Change the maximum player count." href="/docs/garrys-mod/max-players" />
} title="Change Map" description="Switch to a different map." href="/docs/garrys-mod/change-map" />
} title="Reset Server" description="Wipe and reinstall your server." href="/docs/garrys-mod/reset-server" />
Customization [#customization]
Add addons and set up content delivery.
} title="Install Addons" description="Add Steam Workshop addons to your server." href="/docs/garrys-mod/install-addons" />
} title="FastDL" description="Set up fast content downloads for players." href="/docs/garrys-mod/fastdl" />
> **Don't have a server yet?** [Get Garry's Mod Server Hosting](https://xgamingserver.com/gmod-server-hosting?utm_source=docs\&utm_medium=referral\&utm_campaign=gmod-server-hosting) starting from just $4/month with instant setup and 24/7 support.
# How To Install Addons on Your Garry's Mod Server (/docs/garrys-mod/install-addons)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Garry's Mod supports Steam Workshop addons for adding maps, weapons, player models, tools, and game mode content. Here is how to install them.
Using a Workshop Collection [#using-a-workshop-collection]
The recommended way to install addons is through a Steam Workshop collection.
Create a Workshop Collection [#1-create-a-workshop-collection]
Go to the [Steam Workshop for Garry's Mod](https://steamcommunity.com/app/4000/workshop/) and click **Browse** > **Collections** > **Create Collection**. Add all the addons you want on your server to this collection.
Get the Collection ID [#2-get-the-collection-id]
Once your collection is published, copy the collection ID from the URL. It is the number at the end of the URL (e.g., `https://steamcommunity.com/sharedfiles/filedetails/?id=123456789`).
Open the Startup Page [#3-open-the-startup-page]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your Garry's Mod server. In the sidebar, click **Startup**.
Enter the Collection ID [#4-enter-the-collection-id]
Find the **Workshop Collection ID** field and enter your collection ID.
Restart Your Server [#5-restart-your-server]
Go to **Console** and restart your server. The addons will download automatically during startup.
Adding Individual Addons [#adding-individual-addons]
If you prefer to add addons individually:
Find the Addon ID [#1-find-the-addon-id]
Find the addon on the Steam Workshop and copy the Workshop ID from the URL.
Open Files [#2-open-files]
In the sidebar, click **Files**. Navigate to `garrysmod/lua/autorun/server/` and create or edit a file called `workshop.lua`.
Add the Workshop Download [#3-add-the-workshop-download]
Add a line for each addon:
```
resource.AddWorkshop("123456789")
resource.AddWorkshop("987654321")
```
Save and Restart [#4-save-and-restart]
Save the file and restart your server.
> 📝 **Note:** Workshop addons are downloaded to the server automatically. Players connecting to the server will also download the addons when they join.
> 💡 **Tip:** For game modes like DarkRP, TTT, or PropHunt, you will likely also need specific addons and configurations for that game mode. Check the game mode's documentation for required addons.
> ⚠️ **Warning:** Too many large addons can significantly increase download times for players joining your server. Use [FastDL](/docs/garrys-mod/fastdl) to improve download speeds.
# How To Change Max Players on Your Garry's Mod Server (/docs/garrys-mod/max-players)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Here is how to change the maximum player count on your Garry's Mod server.
Open the Startup Page [#1-open-the-startup-page]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your Garry's Mod server. In the sidebar, click **Startup**.
Change the Max Players Value [#2-change-the-max-players-value]
Find the **Max Players** field and set it to the number of player slots you want.
Restart Your Server [#3-restart-your-server]
Go to **Console** in the sidebar and restart your server to apply the change.
> 📝 **Note:** The ideal max player count depends on your game mode. Sandbox servers typically run well with 16-32 players, while TTT and DarkRP servers may need more or fewer depending on the map size and addon complexity.
# How To Reset Your Garry's Mod Server (/docs/garrys-mod/reset-server)
import { Step, Steps } from 'fumadocs-ui/components/steps';
If your Garry's Mod server is having issues or you want a fresh start, you can reset it by reinstalling.
> ⚠️ **Warning:** Reinstalling your server deletes **all** files and data including addons, maps, and configuration. This cannot be undone. Create a backup first if you want to keep any files.
Stop Your Server [#1-stop-your-server]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and **Stop** your Garry's Mod server.
Delete All Server Files [#2-delete-all-server-files]
In the sidebar, click **Files** and delete **all folders and files** so the file manager is completely empty.
Reinstall the Server [#3-reinstall-the-server]
On the **Dashboard**, find the **Reinstall Server** option and click it. Wait for the installation to complete.
Reconfigure Your Server [#4-reconfigure-your-server]
Once the reinstall finishes, go to **Startup** to set your [GSLT](/docs/garrys-mod/create-gslt), server name, game mode, and other settings before starting the server.
If you continue to have issues after reinstalling, join our [Discord](https://discord.xgamingserver.com) and we will help you out.
# How To Set a Password on Your Garry's Mod Server (/docs/garrys-mod/set-a-password)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Setting a password on your Garry's Mod server restricts access to only players who know the password.
Open the Startup Page [#1-open-the-startup-page]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your Garry's Mod server. In the sidebar, click **Startup**.
Set the Server Password [#2-set-the-server-password]
Find the **Server Password** field and enter the password you want.
Restart Your Server [#3-restart-your-server]
Go to **Console** in the sidebar and restart your server.
Players will need to enter the password when joining through the server browser. They can also connect via the console using:
```
password yourpassword
connect YOUR_IP:YOUR_PORT
```
> 💡 **Tip:** You can also set the password in `garrysmod/cfg/server.cfg` with:
>
> ```
> sv_password "yourpassword"
> ```
> 📝 **Note:** To remove the password, clear the password field in **Startup** and restart the server.
# How to Set Up ACE Permissions on Your FiveM Server (/docs/fivem/ace-permissions)
import { Step, Steps } from 'fumadocs-ui/components/steps';
FiveM uses an **ACE (Access Control Entry)** system for permissions. You define **groups** (like admin, moderator), grant them **permissions** (aces), and assign **players** (principals) to groups using their identifiers.
Core Concepts [#core-concepts]
| Term | Description |
| --------------- | --------------------------------------------------------------------- |
| **ACE** | A permission entry — grants or denies access to a command or resource |
| **Principal** | An identity — a player identifier or a group |
| **Group** | A named collection of permissions (e.g., `group.admin`) |
| **Inheritance** | Groups can inherit permissions from other groups |
Set Up Permissions [#set-up-permissions]
Create a permissions file [#create-a-permissions-file]
In the [XGamingServer Panel](https://panel.xgamingserver.com), click **Files** in the sidebar. Create a file called `permissions.cfg` in the server root.
Define groups and permissions [#define-groups-and-permissions]
```ini
# Moderator permissions
add_ace group.moderator command.kick allow
add_ace group.moderator command.ban allow
# Admin inherits moderator + gets all commands
add_principal group.admin group.moderator
add_ace group.admin command allow
add_ace group.admin txadmin.menu allow
# Deny quit command even for admins
add_ace group.admin command.quit deny
```
Assign players to groups [#assign-players-to-groups]
Use their identifier (Steam, Discord, license, or FiveM):
```ini
# By Steam ID
add_principal identifier.steam:110000112345678 group.admin
# By Discord ID
add_principal identifier.discord:394446211341 group.moderator
# By FiveM license
add_principal identifier.license:abc123def456 group.moderator
```
Load in server.cfg [#load-in-servercfg]
Open `server.cfg` and add:
```ini
exec permissions.cfg
```
Restart [#restart]
Restart from **Console**. Permissions take effect on player connect.
How Inheritance Works [#how-inheritance-works]
```
group.admin
└── inherits from group.moderator
└── inherits from builtin.everyone
```
When you run `add_principal group.admin group.moderator`, admins get all moderator permissions **plus** their own. `builtin.everyone` is the implicit parent of all principals.
Common Permission Examples [#common-permission-examples]
```ini
# Allow a group to use a specific resource
add_ace group.admin myresource allow
# Allow a resource to run specific commands
add_ace resource.es_extended command.add_ace allow
add_ace resource.es_extended command.add_principal allow
# Check permissions in a script
add_ace group.vip myscript.vipfeature allow
```
Resources check permissions with `IsPlayerAceAllowed(source, 'myscript.vipfeature')`.
Identifier Types [#identifier-types]
| Format | Example |
| --------------------- | ---------------------------------- |
| `identifier.steam:` | `identifier.steam:110000112345678` |
| `identifier.discord:` | `identifier.discord:394446211341` |
| `identifier.license:` | `identifier.license:abc123def456` |
| `identifier.fivem:` | `identifier.fivem:123456` |
Related Guides [#related-guides]
* [Adding Admins](/docs/fivem/adding-admins)
* [Whitelist Setup](/docs/fivem/whitelist-setup)
* [Server Configuration](/docs/fivem/configure-your-server)
# How To Add Admins to Your FiveM Server (/docs/fivem/adding-admins)
FiveM uses an ace permissions system to manage admin access. This allows you to give specific players elevated privileges on your server.
Find the Player's Identifier [#1-find-the-players-identifier]
You need the player's FiveM identifier. The most common identifiers are:
* **Steam Hex ID** - Looks like `steam:110000xxxxxxxxx`
* **Discord ID** - Looks like `discord:123456789012345678`
* **License** - Looks like `license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`
Players can find their Steam Hex ID at [SteamID.io](https://steamid.io/) by converting their SteamID64 to hexadecimal.
Open Files [#2-open-files]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your FiveM server. In the sidebar, click **Files**.
Open server.cfg [#3-open-servercfg]
Open the `server.cfg` file.
Add Admin Permissions [#4-add-admin-permissions]
Add the following lines to your `server.cfg`:
```
# Add the player to the admin group
add_principal identifier.steam:110000xxxxxxxxx group.admin
# Give the admin group all permissions
add_ace group.admin command allow
add_ace group.admin command.quit deny
```
Replace `steam:110000xxxxxxxxx` with the player's actual identifier.
Set Up Permission Groups (Optional) [#5-set-up-permission-groups-optional]
You can create custom permission groups for different admin levels:
```
# Create moderator group
add_ace group.moderator command.kick allow
add_ace group.moderator command.ban allow
# Create admin group with full access
add_ace group.admin command allow
# Add players to groups
add_principal identifier.steam:110000xxxxxxxxx group.admin
add_principal identifier.steam:110000yyyyyyyyy group.moderator
```
Save and Restart [#6-save-and-restart]
Save the file and restart your server from the **Console** page.
> 📝 **Note:** If you are using a framework like ESX or QBCore, admin permissions may be managed differently through the framework's built-in admin system or a resource like vMenu or EasyAdmin.
> 💡 **Tip:** You can also manage permissions through [txAdmin](/docs/fivem/txadmin) if it is available on your server.
# How to Set Up Automated Messages on Your FiveM Server (/docs/fivem/automated-messages)
import { Tab, Tabs } from 'fumadocs-ui/components/tabs';
import { Step, Steps } from 'fumadocs-ui/components/steps';
txAdmin includes built-in announcement and scheduled restart features.
Scheduled Restart Warnings [#scheduled-restart-warnings]
txAdmin automatically sends countdown warnings before scheduled restarts at 30, 15, 10, 5, 4, 3, 2, and 1 minutes. Configure restart schedules in txAdmin under **Settings → Restart Schedule**.
Manual Announcements [#manual-announcements]
From the txAdmin dashboard, use the **Announce** feature to broadcast a message to all connected players immediately.
Custom Announcement Handling [#custom-announcement-handling]
To use your own announcement UI instead of the default, add to `server.cfg`:
```ini
setr txAdmin-hideDefaultAnnouncement true
setr txAdmin-hideDefaultScheduledRestartWarning true
```
Your resources can listen for `txAdmin:events:announcement` and `txAdmin:events:scheduledRestart` events to display custom notifications.
For timed recurring messages (e.g., "Join our Discord" every 15 minutes), use a dedicated announcement resource.
Download an announcement resource [#download-an-announcement-resource]
Search the cfx.re Releases forum for "announcement" or "auto message" resources.
Upload and configure [#upload-and-configure]
Upload to `resources/` via **Files** in the [XGamingServer Panel](https://panel.xgamingserver.com). Edit the resource's config to set your messages, intervals, and display style.
Add to server.cfg [#add-to-servercfg]
```ini
ensure my_announcement_resource
```
Restart from **Console**.
> FiveM has no built-in convar for simple timed chat messages — a resource is required for recurring automated announcements.
Related Guides [#related-guides]
* [txAdmin](/docs/fivem/txadmin)
* [Server Configuration](/docs/fivem/configure-your-server)
# How To Change Your FiveM Server Name (/docs/fivem/change-server-name)
Here is how to change your FiveM server name that appears in the server browser.
Open the Startup Page [#1-open-the-startup-page]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your FiveM server. In the sidebar, click **Startup**.
Change the Server Name [#2-change-the-server-name]
Find the **Server Name** field and enter your desired server name.
Restart Your Server [#3-restart-your-server]
Go to **Console** in the sidebar and restart your server.
> 💡 **Tip:** You can also change the server name in the `server.cfg` file by editing the `sv_hostname` line:
>
> ```
> sv_hostname "My FiveM Server"
> ```
> 📝 **Note:** FiveM server names support color codes using `^` followed by a number (0-9). For example, `^1Red ^2Green ^3Yellow` will display in those colors in the server browser.
# How to Clear the Cache on Your FiveM Server (/docs/fivem/clear-cache)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Clearing the server cache forces FiveM to rebuild cached resource data on next startup. Do this after adding/removing resources, updating server artifacts, or when experiencing resource loading errors.
Clear the Server Cache [#clear-the-server-cache]
Stop the server [#stop-the-server]
In the [XGamingServer Panel](https://panel.xgamingserver.com), go to **Console** and stop the server.
Delete the cache folder [#delete-the-cache-folder]
Click **Files** in the sidebar. Open the `cache/` folder in the server root. Delete all subfolders inside it.
Start the server [#start-the-server]
Start from **Console**. The cache rebuilds automatically on startup.
When to Clear Cache [#when-to-clear-cache]
* After adding or removing resources
* After updating server artifacts
* When resources fail to load or throw asset errors
* After major framework updates (ESX/QBCore)
Client-Side Cache [#client-side-cache]
If a **player** has issues (textures missing, scripts not loading), they need to clear their local FiveM cache:
1. Close FiveM completely
2. Navigate to `%localappdata%\FiveM\FiveM.app\cache\`
3. Delete the subfolders inside `cache/` (not the entire FiveM.app folder)
4. Relaunch FiveM
Related Guides [#related-guides]
* [Server Configuration](/docs/fivem/configure-your-server)
* [Install Resources](/docs/fivem/install-resources)
# How To Configure Your FiveM Server (/docs/fivem/configure-your-server)
FiveM server configuration is handled through the `server.cfg` file. Here is an overview of the key settings.
Using Startup Settings [#using-startup-settings]
Open the Startup Page [#1-open-the-startup-page]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your FiveM server. In the sidebar, click **Startup**.
Adjust Settings [#2-adjust-settings]
The Startup page provides fields for common settings including license key, server name, max players, and more.
Restart Your Server [#3-restart-your-server]
After making changes, restart from the **Console** page.
Editing server.cfg [#editing-servercfg]
Open Files [#1-open-files]
In the sidebar, click **Files** and open `server.cfg`.
Edit the Configuration [#2-edit-the-configuration]
Here is an example of common `server.cfg` settings:
```
# Server Identity
sv_hostname "My FiveM Server"
sv_projectName "My Server Project"
sv_projectDesc "A custom FiveM server"
# License Key
sv_licenseKey "your_license_key_here"
# Network Settings
sv_maxclients 32
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
# OneSync (improved player synchronization)
onesync on
# Security
sv_scriptHookAllowed 0
# Resources
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap
# Permissions
add_ace group.admin command allow
add_ace group.admin command.quit deny
add_principal identifier.steam:110000xxxxxxxxx group.admin
```
Save and Restart [#3-save-and-restart]
Save the file and restart your server.
Key Settings Explained [#key-settings-explained]
| Setting | Description |
| ---------------------- | ---------------------------------------------- |
| `sv_hostname` | Server name in the browser |
| `sv_maxclients` | Maximum player count |
| `sv_licenseKey` | Your cfx.re license key |
| `onesync` | Enables improved sync for higher player counts |
| `sv_scriptHookAllowed` | Allow ScriptHook (0 = disabled, 1 = enabled) |
| `ensure` | Starts a resource when the server boots |
> ⚠️ **Warning:** Keep `sv_scriptHookAllowed` set to `0` unless you specifically need it. Enabling it allows clients with modding tools to potentially exploit your server.
> 📝 **Note:** The `ensure` command loads resources in order. Make sure dependencies are loaded before resources that require them.
# How To Connect to Your FiveM Server (/docs/fivem/connect-to-your-server)
Here is how to connect to your FiveM server. Make sure you have [created a license key](/docs/fivem/create-license-key) first.
Connecting via Direct Connect [#connecting-via-direct-connect]
Get Your Server IP [#1-get-your-server-ip]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your FiveM server. Your server IP and port are displayed on the **Dashboard**.
Open FiveM [#2-open-fivem]
Launch the FiveM client. If you do not have it installed, download it from [https://fivem.net/](https://fivem.net/).
Direct Connect [#3-direct-connect]
Press **F8** to open the console, or click the **Direct Connect** button on the main screen. Enter your server's IP and port (e.g., `123.456.789.0:30120`) and click **Connect**.
Connecting via the Server Browser [#connecting-via-the-server-browser]
Open the Server Browser [#1-open-the-server-browser]
In the FiveM client, click **Play** to open the server browser.
Search for Your Server [#2-search-for-your-server]
Use the search bar to find your server by name. You can also filter by game type, map, and player count.
Join the Server [#3-join-the-server]
Select your server and click **Connect**. If a password is set, you will be prompted to enter it.
> 💡 **Tip:** You can add your server to favorites in the FiveM client for quick access. Right-click the server in the browser and select **Add to Favorites**.
> 📝 **Note:** The default FiveM port is `30120`. Make sure to use the correct port shown on your panel Dashboard.
# How To Create a FiveM License Key (/docs/fivem/create-license-key)
A cfx.re license key is **required** for your FiveM server to operate. Without it, the server will not start. Here is how to generate one.
Create a cfx.re Account [#1-create-a-cfxre-account]
Go to [https://keymaster.fivem.net/](https://keymaster.fivem.net/) and log in or create a new account. You can sign up using your existing Cfx.re forum account, Discord, or Steam.
Register a New Server Key [#2-register-a-new-server-key]
Once logged in, click **Register a new server** or **New Server**.
Fill in the Details [#3-fill-in-the-details]
Enter the following information:
* **Label** - A friendly name to identify this key (e.g., "My XGamingServer")
* **Server IP** - Your server's IP address (found on your panel **Dashboard**)
* **Server Type** - Select the appropriate type for your server
Generate the Key [#4-generate-the-key]
Click **Generate** to create your license key. Copy the key that is displayed.
Add the Key to Your Server [#5-add-the-key-to-your-server]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your FiveM server. In the sidebar, click **Startup**. Find the **License Key** field and paste your key.
Restart Your Server [#6-restart-your-server]
Go to **Console** and restart your server. It should now start successfully.
> ⚠️ **Warning:** Do not share your license key with anyone. Each key is tied to a specific server IP. If you change your server IP, you will need to update the key on the Keymaster website.
> 📝 **Note:** You can generate multiple license keys under the same cfx.re account for different servers.
# How to Add a Custom Loading Screen to Your FiveM Server (/docs/fivem/custom-loading-screen)
import { Step, Steps } from 'fumadocs-ui/components/steps';
import { Files, Folder, File } from 'fumadocs-ui/components/files';
The FiveM loading screen is an HTML page displayed while players connect and load assets. You can replace it with a custom design.
Loading Screen Structure [#loading-screen-structure]
Install a Loading Screen [#install-a-loading-screen]
Create or download a loading screen [#create-or-download-a-loading-screen]
You can build one from scratch (HTML/CSS/JS) or download a pre-made one from the cfx.re Releases forum.
Create the fxmanifest.lua [#create-the-fxmanifestlua]
```lua
fx_version 'cerulean'
game { 'gta5' }
loadscreen 'html/index.html'
loadscreen_cursor 'yes'
files {
'html/index.html',
'html/style.css',
'html/script.js',
'html/logo.png'
}
```
| Directive | Description |
| ---------------------------------- | ----------------------------------------------------------------------------------------- |
| `loadscreen` | Path to the HTML file (or a remote URL like `https://example.com/load/`) |
| `loadscreen_cursor 'yes'` | Enables mouse cursor on the loading screen |
| `loadscreen_manual_shutdown 'yes'` | Prevents auto-close — requires calling `SHUTDOWN_LOADING_SCREEN_NUI` from a client script |
Upload to the server [#upload-to-the-server]
In the [XGamingServer Panel](https://panel.xgamingserver.com), click **Files** in the sidebar and upload the folder to `resources/`.
Add to server.cfg [#add-to-servercfg]
```ini
ensure my_loadscreen
```
To hide the default loading spinner:
```ini
setr sv_showBusySpinnerOnLoadingScreen false
```
Restart [#restart]
Start from **Console**. Players see your custom loading screen when connecting.
Loading Progress [#loading-progress]
Your loading screen JavaScript can track load progress:
```javascript
window.addEventListener('message', function(event) {
if (event.data.eventName === 'loadProgress') {
// event.data.loadFraction = 0.0 to 1.0
updateProgressBar(event.data.loadFraction);
}
});
```
Server handover data is available via `window.nuiHandoverData`.
Related Guides [#related-guides]
* [Server Icon](/docs/fivem/server-icon)
* [Server Configuration](/docs/fivem/configure-your-server)
# How to Set Up a MySQL Database for Your FiveM Server (/docs/fivem/database-setup)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Both ESX and QBCore store player data, vehicles, jobs, and economy in a MySQL database. The standard connector is **oxmysql** (replaces the older mysql-async and ghmattimysql).
Create a Database [#create-a-database]
Open the Databases tab [#open-the-databases-tab]
In the [XGamingServer Panel](https://panel.xgamingserver.com), click **Databases** in the sidebar.
Create a new database [#create-a-new-database]
Click **New Database**. Note the generated credentials:
* **Host** (e.g., `127.0.0.1`)
* **Port** (e.g., `3306`)
* **Database name**
* **Username**
* **Password**
You'll need these for the connection string.
Configure oxmysql [#configure-oxmysql]
Add the connection string to your `server.cfg` (via **Files** in the sidebar):
```ini
set mysql_connection_string "mysql://dbuser:dbpassword@127.0.0.1:3306/dbname?charset=utf8mb4"
```
Alternative format (for passwords with special characters) [#alternative-format-for-passwords-with-special-characters]
If your password contains `;`, `/`, `?`, `@`, `&`, `=`, `+`, `$`, or `#`, use the semicolon format:
```ini
set mysql_connection_string "user=dbuser;password=dbpassword;host=127.0.0.1;port=3306;database=dbname"
```
Then ensure oxmysql starts **before** any framework resources:
```ini
ensure oxmysql
ensure es_extended # or ensure qb-core
```
Import .sql Files [#import-sql-files]
Framework installation requires importing an SQL file that creates the database tables. If the txAdmin recipe handled this automatically, you can skip this step.
Open phpMyAdmin [#open-phpmyadmin]
From the **Databases** tab on the panel, click the phpMyAdmin link (or access it directly).
Select your database [#select-your-database]
Click your database name in the left sidebar.
Import the SQL file [#import-the-sql-file]
Click the **Import** tab. Click **Choose File** and select the `.sql` file:
* **ESX**: `legacy.sql` (from the esx\_core download)
* **QBCore**: `qbcore.sql` (from the txAdmin recipe)
Click **Go** to import.
Verify the Connection [#verify-the-connection]
After starting the server, check **Console** for:
```
[oxmysql] Connected to database
```
If you see connection errors, check:
| Error | Fix |
| ------------------------------------------ | --------------------------------------------------------------------------- |
| `Access denied for user` | Wrong username or password in the connection string |
| `Unknown database` | Database name doesn't match — check Databases tab |
| `AUTH_SWITCH_PLUGIN_ERROR` | MySQL 8+ auth issue. Set the user to `mysql_native_password` authentication |
| `Connection refused` | Wrong host/port, or database server not running |
| Connection string with special chars fails | Switch to semicolon format |
Related Guides [#related-guides]
* [Install ESX](/docs/fivem/install-esx)
* [Install QBCore](/docs/fivem/install-qbcore)
* [Server Configuration](/docs/fivem/configure-your-server)
# ESX vs QBCore: Which FiveM Framework Should You Choose? (/docs/fivem/esx-vs-qbcore)
ESX and QBCore are the two dominant roleplay frameworks for FiveM. Both are free, open-source, and actively maintained. This guide compares them to help you choose.
Quick Comparison [#quick-comparison]
| Feature | ESX Legacy | QBCore |
| -------------- | ---------------------------------- | ------------------------ |
| Multicharacter | Addon (`esx_multicharacter`) | Built-in |
| Gang system | Addon | Built-in with grades |
| Inventory | Default F2 menu (or ox\_inventory) | Built-in `qb-inventory` |
| Jobs | 32 addon job resources | \~50 qb-\* job resources |
| Economy | Bank accounts, billing, society | Cash, bank, crypto |
| Starting money | 50,000 bank | 500 cash + 5,000 bank |
| Phone | Addon | Built-in (`qb-phone`) |
| HUD | Addon | Built-in (`qb-hud`) |
| Voice | pma-voice (addon) | pma-voice + qb-radio |
| MySQL resource | oxmysql | oxmysql |
| OneSync | Required (1.7.5+) | Required |
| txAdmin recipe | Yes | Yes |
| License | GPL | GPLv3 |
Technical Differences [#technical-differences]
| Aspect | ESX | QBCore |
| --------------------- | ------------------------------ | ------------------------------------ |
| Player loaded event | `esx:playerLoaded` | `QBCore:Client:OnPlayerLoaded` |
| Get player data | `ESX.GetPlayerData()` | `QBCore.Functions.GetPlayerData()` |
| Server callbacks | `ESX.RegisterServerCallback` | `QBCore.Functions.CreateCallback` |
| Register usable items | `ESX.RegisterUsableItem` | `QBCore.Functions.CreateUseableItem` |
| Notifications | `esx:showAdvancedNotification` | `QBCore:Notify` |
Scripts written for one framework **do not work on the other** without conversion.
When to Choose ESX [#when-to-choose-esx]
* You want the **largest script ecosystem** — ESX has been around longer and has more third-party resources available
* You're migrating from an existing ESX server
* You prefer more **modular** architecture — pick only the addons you need
When to Choose QBCore [#when-to-choose-qbcore]
* You want more **built-in features out of the box** (phone, HUD, gangs, multicharacter)
* You're starting a **new server from scratch** and want a complete package
* Your community prefers QBCore scripts (increasingly common for newer RP servers)
Can You Switch Later? [#can-you-switch-later]
Switching between frameworks is a **major migration** — it requires converting all scripts, re-importing the database, and retraining admins. Choose carefully before building your server.
Related Guides [#related-guides]
* [Install ESX](/docs/fivem/install-esx)
* [Install QBCore](/docs/fivem/install-qbcore)
* [Database Setup](/docs/fivem/database-setup)
# How to Enable DLC Content on Your FiveM Server (Game Build) (/docs/fivem/game-build)
import { Step, Steps } from 'fumadocs-ui/components/steps';
FiveM can enable GTA Online DLC content (vehicles, weapons, maps) by setting a **game build** number. Each build includes all content from previous builds — so setting the latest build gives access to everything.
Game Build Numbers [#game-build-numbers]
| Build | DLC content |
| ------ | ------------------------ |
| `2189` | Cayo Perico Heist |
| `2372` | Los Santos Tuners |
| `2545` | The Contract |
| `2699` | The Criminal Enterprises |
| `2802` | Los Santos Drug Wars |
| `2944` | San Andreas Mercenaries |
| `3095` | The Chop Shop |
| `3258` | Bottom Dollar Bounties |
| `3407` | Agents of Sabotage |
Set the Game Build [#set-the-game-build]
Open server.cfg [#open-servercfg]
In the [XGamingServer Panel](https://panel.xgamingserver.com), click **Files** in the sidebar and open `server.cfg`.
Add or update sv_enforceGameBuild [#add-or-update-sv_enforcegamebuild]
```ini
sv_enforceGameBuild 3095
```
Replace `3095` with the build number for the DLC content you want. Higher = more content.
Restart the server [#restart-the-server]
Restart from **Console**. Players connecting will automatically use the matching game build.
> Both ESX and QBCore txAdmin recipes default to build `3095` (The Chop Shop). Increase the number to access newer DLC vehicles and content.
> Players do **not** need to own the GTA Online DLC. FiveM handles build compatibility automatically.
Related Guides [#related-guides]
* [Server Configuration](/docs/fivem/configure-your-server)
* [Install Custom Vehicles](/docs/fivem/install-custom-vehicles)
# FiveM Server Guides (/docs/fivem)
import { Card, Cards } from "fumadocs-ui/components/card";
import { Rocket, Settings, Shield, Puzzle, Wrench, Users, Lock, Key, Monitor, Database, Image, Trash2, Gamepad2, Car, Map, Palette, Siren, Shirt, Globe, MessageSquare, Zap, Network } from "lucide-react";
FiveM is a multiplayer modification framework for GTA V, allowing you to host custom multiplayer servers with unique game modes, scripts, and modifications. Whether you are running a roleplay server, racing community, or custom game mode, these guides will help you get your XGamingServer FiveM server configured and running smoothly.
Getting Started [#getting-started]
} title="Create License Key" description="Generate a cfx.re license key for your server." href="/docs/fivem/create-license-key" />
} title="Connect to Your Server" description="Join your FiveM server using the FiveM client." href="/docs/fivem/connect-to-your-server" />
} title="Configure Your Server" description="Edit server.cfg and adjust settings." href="/docs/fivem/configure-your-server" />
} title="Set a Password" description="Password protect your server." href="/docs/fivem/set-a-password" />
Frameworks (Roleplay) [#frameworks-roleplay]
} title="ESX vs QBCore" description="Compare the two RP frameworks and choose the right one." href="/docs/fivem/esx-vs-qbcore" />
} title="Install ESX Legacy" description="Install the ESX roleplay framework via txAdmin recipe or manually." href="/docs/fivem/install-esx" />
} title="Install QBCore" description="Install the QBCore roleplay framework via txAdmin recipe." href="/docs/fivem/install-qbcore" />
} title="Database Setup" description="Create a MySQL database and configure oxmysql for ESX or QBCore." href="/docs/fivem/database-setup" />
Server Management [#server-management]
} title="Adding Admins" description="Grant admin permissions using ace permissions." href="/docs/fivem/adding-admins" />
} title="ACE Permissions" description="FiveM's native permission system — groups, principals, and inheritance." href="/docs/fivem/ace-permissions" />
} title="Whitelist Setup" description="Whitelist via txAdmin, ACE, or Discord roles." href="/docs/fivem/whitelist-setup" />
} title="Change Server Name" description="Update your server's display name." href="/docs/fivem/change-server-name" />
} title="Max Players" description="Change the maximum player count." href="/docs/fivem/max-players" />
} title="txAdmin" description="Use the txAdmin web panel for server management." href="/docs/fivem/txadmin" />
} title="txAdmin Discord Bot" description="Server status embeds and notifications in Discord." href="/docs/fivem/txadmin-discord" />
} title="Reset Server" description="Wipe and reinstall your server." href="/docs/fivem/reset-server" />
Customization [#customization]
} title="Install Resources" description="Add scripts, mods, and custom resources." href="/docs/fivem/install-resources" />
} title="Custom Vehicles" description="Add addon car mods to your server." href="/docs/fivem/install-custom-vehicles" />
} title="Custom Maps / MLOs" description="Add custom buildings and interiors." href="/docs/fivem/install-custom-maps" />
} title="Loading Screen" description="Custom HTML loading screen." href="/docs/fivem/custom-loading-screen" />
} title="Enable DLC Content" description="Set game build to unlock Cayo Perico, Tuners, and more." href="/docs/fivem/game-build" />
} title="Steam Web API Key" description="Set up Steam identifier support." href="/docs/fivem/steam-web-api-key" />
} title="Server Icon" description="Add a custom icon to the server browser." href="/docs/fivem/server-icon" />
} title="Install ELS" description="Emergency Lighting System for RP vehicles." href="/docs/fivem/install-els" />
} title="Install EUP" description="Emergency Uniforms Pack for police/fire/EMS." href="/docs/fivem/install-eup" />
Troubleshooting & Advanced [#troubleshooting--advanced]
} title="Clear Cache" description="Fix resource loading errors by clearing the server cache." href="/docs/fivem/clear-cache" />
} title="Server Not Listed" description="Fix your server not appearing in the browser." href="/docs/fivem/server-not-listed" />
} title="Server Ports" description="Which ports FiveM uses and how to verify." href="/docs/fivem/server-ports" />
} title="Optimize Performance" description="OneSync, convars, and entity lockdown." href="/docs/fivem/optimize-performance" />
} title="Automated Messages" description="Scheduled announcements and timed messages." href="/docs/fivem/automated-messages" />
> **Don't have a server yet?** [Get FiveM Server Hosting](https://xgamingserver.com/five-m-server-hosting?utm_source=docs\&utm_medium=referral\&utm_campaign=five-m-server-hosting) starting from just $4/month with instant setup and 24/7 support.
# How to Install Custom Maps and MLOs on Your FiveM Server (/docs/fivem/install-custom-maps)
import { Step, Steps } from 'fumadocs-ui/components/steps';
import { Files, Folder, File } from 'fumadocs-ui/components/files';
Custom maps and MLOs (Map Location Objects) add new buildings, interiors, and locations to your FiveM server.
MLO vs IPL [#mlo-vs-ipl]
| Type | What it is | How it loads |
| ------- | ----------------------------------------------------------- | ------------------------------------------------------- |
| **MLO** | Self-contained interior with room/portal data (.ytyp files) | Streamed automatically via `stream/` — no script needed |
| **IPL** | Vanilla GTA interior that's unloaded by default | Requires a client script calling `RequestIpl('name')` |
Most custom interiors you download are MLOs.
MLO Resource Structure [#mlo-resource-structure]
Install a Map / MLO [#install-a-map--mlo]
Download the map mod [#download-the-map-mod]
Download from cfx.re Releases forum or GTA5-Mods.com. Most MLOs come pre-packaged as FiveM resources.
Upload to the server [#upload-to-the-server]
In the [XGamingServer Panel](https://panel.xgamingserver.com), stop the server. Click **Files** in the sidebar and upload the map folder to `resources/` (or `resources/[maps]/`).
Verify the fxmanifest.lua [#verify-the-fxmanifestlua]
For MLO maps, the fxmanifest is minimal:
```lua
fx_version 'cerulean'
game { 'gta5' }
this_is_a_map 'yes'
```
All asset files go in the `stream/` folder and are sent to clients automatically.
Add to server.cfg [#add-to-servercfg]
```ini
ensure my_mlo
```
Restart and visit [#restart-and-visit]
Start from **Console**. Travel to the map location in-game.
Related Guides [#related-guides]
* [Install Resources](/docs/fivem/install-resources)
* [Install Custom Vehicles](/docs/fivem/install-custom-vehicles)
# How to Install Custom Vehicles on Your FiveM Server (/docs/fivem/install-custom-vehicles)
import { Step, Steps } from 'fumadocs-ui/components/steps';
import { Files, Folder, File } from 'fumadocs-ui/components/files';
Custom addon vehicles add new car models to FiveM alongside the default GTA V vehicles. Each vehicle is a resource with model files (YFT/YTD) and meta data (handling, colors, etc.).
Vehicle Resource Structure [#vehicle-resource-structure]
* **`stream/`** — model (.yft) and texture (.ytd) files. Automatically sent to clients
* **`data/`** — meta files defining handling, colors, and variations. Must be declared in fxmanifest
Install a Vehicle [#install-a-vehicle]
Download the vehicle mod [#download-the-vehicle-mod]
Download from [GTA5-Mods.com](https://www.gta5-mods.com) or the cfx.re Releases forum. Look for mods labeled "FiveM ready" — they include the fxmanifest and proper folder structure.
Upload to the server [#upload-to-the-server]
In the [XGamingServer Panel](https://panel.xgamingserver.com), stop the server. Click **Files** in the sidebar and upload the vehicle folder to `resources/` (or a subfolder like `resources/[vehicles]/`).
Verify the fxmanifest.lua [#verify-the-fxmanifestlua]
The resource needs a `fxmanifest.lua` that declares the meta files:
```lua
fx_version 'cerulean'
game { 'gta5' }
files {
'data/**/*.meta'
}
data_file 'HANDLING_FILE' 'data/**/handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'data/**/vehicles.meta'
data_file 'CARCOLS_FILE' 'data/**/carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/**/carvariations.meta'
data_file 'VEHICLE_LAYOUTS_FILE' 'data/**/vehiclelayouts.meta'
client_script 'vehicle_names.lua'
```
Stream files (YFT/YTD) don't need `files {}` entries — they're auto-streamed.
Add to server.cfg [#add-to-servercfg]
Open `server.cfg` in **Files** and add:
```ini
ensure my_addon_car
```
Restart and test [#restart-and-test]
Start from **Console**. In-game, spawn the vehicle with its model name (e.g., `/spawn mycar`).
Not FiveM-Ready? [#not-fivem-ready]
If the mod was designed for singleplayer (no fxmanifest), you'll need to create the resource structure yourself — add a `fxmanifest.lua`, move model files to `stream/`, and meta files to `data/`.
Related Guides [#related-guides]
* [Install Resources](/docs/fivem/install-resources)
* [Enable DLC Content](/docs/fivem/game-build)
* [Server Configuration](/docs/fivem/configure-your-server)
# How to Install ELS (Emergency Lighting System) on Your FiveM Server (/docs/fivem/install-els)
import { Step, Steps } from 'fumadocs-ui/components/steps';
**ELS (Emergency Lighting System)** syncs custom emergency vehicle lighting, sirens, and indicator controls across all players. Each vehicle gets a VCF (Vehicle Configuration File) defining its light patterns.
> ELS handles lighting behavior only — the vehicle models (YFT/YTD) must be installed separately as addon vehicles. See [Install Custom Vehicles](/docs/fivem/install-custom-vehicles).
Install ELS [#install-els]
Download ELS-FiveM [#download-els-fivem]
Get the original from [github.com/MrDaGree/ELS-FiveM](https://github.com/MrDaGree/ELS-FiveM) or the actively maintained fork [MISS-ELS](https://github.com/matsn0w/MISS-ELS).
Upload to the server [#upload-to-the-server]
In the [XGamingServer Panel](https://panel.xgamingserver.com), stop the server. Click **Files** in the sidebar and upload the `ELS-FiveM` folder to `resources/`.
Configure VCF files [#configure-vcf-files]
Copy `vcf._default_.lua` to `vcf.lua` (don't delete the default). Place VCF files for each emergency vehicle model in the `vcf/` subfolder. VCF files define light patterns, siren tones, and extras per vehicle.
> VCF files are specific to each vehicle model. Download them from the same source as the vehicle mod, or create your own.
Add to server.cfg [#add-to-servercfg]
```ini
ensure ELS-FiveM
```
Restart [#restart]
Start from **Console**. Emergency vehicle lights now sync across all players.
Related Guides [#related-guides]
* [Install Custom Vehicles](/docs/fivem/install-custom-vehicles)
* [Install EUP](/docs/fivem/install-eup)
* [Install Resources](/docs/fivem/install-resources)
# How to Install ESX Legacy Framework on Your FiveM Server (/docs/fivem/install-esx)
import { Tab, Tabs } from 'fumadocs-ui/components/tabs';
import { Step, Steps } from 'fumadocs-ui/components/steps';
import { Files, Folder, File } from 'fumadocs-ui/components/files';
**ESX Legacy** is the leading open-source roleplay framework for FiveM. It provides a complete RP foundation: player identity, multicharacter system, jobs (police, EMS, taxi, mechanic), economy with bank accounts, inventory, vehicle ownership, garages, properties, clothing, and more.
Prerequisites [#prerequisites]
Before installing ESX you need:
* A **MySQL database** — create one in the **Databases** tab on the [XGamingServer Panel](https://panel.xgamingserver.com). See [Database Setup](/docs/fivem/database-setup)
* **OneSync enabled** — ESX 1.7.5+ requires it. Set `set onesync on` in server.cfg
* **oxmysql** — the MySQL connector ESX depends on (the txAdmin recipe installs this automatically)
Install ESX [#install-esx]
The txAdmin recipe is the easiest method — it downloads and configures everything automatically.
Open txAdmin Server Deployer [#open-txadmin-server-deployer]
Access txAdmin through your panel (usually via the **Console** or a direct txAdmin URL). Go to **Server Deployer** → **Popular Recipes**.
Select "ESX Legacy" [#select-esx-legacy]
Find the recipe authored by **"ESX Framework"** and select it. The recipe automatically downloads and installs:
* Default FiveM resources (chat, spawnmanager, hardcap)
* **oxmysql** (MySQL connector)
* **\[core]** — 16 core ESX resources (es\_extended, identity, inventory, multicharacter, etc.)
* **\[esx\_addons]** — 32 addon resources (police job, ambulance, taxi, vehicle shop, garages, etc.)
* **bob74\_ipl** (interior props)
* **pma-voice** (voice chat)
* Preconfigured `server.cfg`
Configure the database connection [#configure-the-database-connection]
During the recipe setup, you'll be prompted for the MySQL connection string. Use the credentials from your **Databases** tab:
```
mysql://dbuser:dbpassword@127.0.0.1/dbname?waitForConnections=true&charset=utf8mb4
```
Replace `dbuser`, `dbpassword`, and `dbname` with your actual database credentials from the panel.
> If your database password contains special characters (`;`, `/`, `?`, `@`, `&`, `=`, `+`, `$`, `#`), URL-encode them or the connection will fail.
Complete the recipe [#complete-the-recipe]
The recipe imports `legacy.sql` into your database (creates 24 tables for players, vehicles, jobs, economy, etc.) and deploys the server. Follow the remaining prompts.
Start the server [#start-the-server]
Once the recipe completes, start the server. ESX is fully installed and ready.
Download ESX core [#download-esx-core]
Download the latest release from [github.com/esx-framework/esx\_core](https://github.com/esx-framework/esx_core). Extract the `[core]` folder into your server's `resources/` directory.
Download ESX addons [#download-esx-addons]
Download from [github.com/esx-framework/ESX-Legacy-Addons](https://github.com/esx-framework/ESX-Legacy-Addons). Extract the `[esx_addons]` folder into `resources/`.
Download oxmysql [#download-oxmysql]
Download the latest release ZIP from [github.com/overextended/oxmysql/releases](https://github.com/overextended/oxmysql/releases). Extract to `resources/[standalone]/oxmysql/`.
Import the database [#import-the-database]
In the **Databases** tab on the panel, create a database if you haven't already. Then import `[SQL]/legacy.sql` from the esx\_core download into your database. This creates 24 tables including `users`, `owned_vehicles`, `jobs`, `items`, `billing`, and more.
Configure server.cfg [#configure-servercfg]
Add these lines to your `server.cfg` (via **Files** in the sidebar):
```ini
set onesync on
set mysql_connection_string "mysql://dbuser:dbpassword@127.0.0.1/dbname?waitForConnections=true&charset=utf8mb4"
# Default resources
ensure chat
ensure spawnmanager
ensure hardcap
# ACE permissions for ESX
add_principal group.admin group.user
add_ace group.admin command allow
add_ace group.admin command.quit deny
add_ace resource.es_extended command.add_ace allow
add_ace resource.es_extended command.add_principal allow
add_ace resource.es_extended command.remove_principal allow
add_ace resource.es_extended command.stop allow
# MySQL
ensure oxmysql
# ESX
ensure es_extended
ensure [core]
ensure [esx_addons]
```
> **Start order matters** — `oxmysql` must start before `es_extended`.
Start the server [#start-the-server-1]
Start from **Console**. Watch for any database connection or resource errors.
ESX Resource Structure [#esx-resource-structure]
Key Configuration [#key-configuration]
After installing, you can customize ESX in `[core]/es_extended/shared/config/main.lua`:
| Setting | Default | Description |
| ----------------------------- | ------------------ | ------------------------------------------ |
| `Config.Locale` | `"en"` | Language |
| `Config.StartingAccountMoney` | `{ bank = 50000 }` | Starting bank balance for new characters |
| `Config.MaxWeight` | `24` | Max inventory weight |
| `Config.EnablePaycheck` | `true` | Enable job paychecks |
| `Config.PaycheckInterval` | `7 * 60000` | Paycheck frequency (7 minutes) |
| `Config.EnableSocietyPayouts` | `false` | Pay from society account instead of server |
| `Config.Identifier` | `"license"` | Player identifier type |
Common Issues [#common-issues]
| Problem | Fix |
| --------------------------- | -------------------------------------------------------------------------------------- |
| Database connection failed | Check the connection string. Special characters in the password must be URL-encoded |
| "Table not found" errors | `legacy.sql` wasn't imported. Import it into your database via phpMyAdmin or the panel |
| ESX not loading | Check that `oxmysql` starts before `es_extended` in server.cfg |
| OneSync errors | Add `set onesync on` to server.cfg — required for ESX 1.7.5+ |
| `mysql-async` errors | ESX Legacy uses **oxmysql**, not mysql-async. Remove mysql-async if present |
| AUTH\_SWITCH\_PLUGIN\_ERROR | MySQL 8+ issue. Set the database user to use `mysql_native_password` authentication |
Related Guides [#related-guides]
* [Database Setup](/docs/fivem/database-setup)
* [QBCore Framework](/docs/fivem/install-qbcore)
* [ESX vs QBCore](/docs/fivem/esx-vs-qbcore)
* [Install Resources](/docs/fivem/install-resources)
* [Server Configuration](/docs/fivem/configure-your-server)
# How to Install EUP (Emergency Uniforms Pack) on Your FiveM Server (/docs/fivem/install-eup)
import { Step, Steps } from 'fumadocs-ui/components/steps';
**EUP (Emergency Uniforms Pack)** adds detailed police, fire, EMS, and military uniforms to freemode character models. Players use the `/eup` command in-game to browse and equip uniforms.
> EUP requires a **Cfx.re Element Club** subscription for FiveM asset encryption (streaming the clothing files).
Three Resources Required [#three-resources-required]
| Resource | Purpose |
| -------------- | ----------------------------------------------------- |
| **eup-stream** | All clothing model and texture files (large download) |
| **eup-ui** | The in-game `/eup` menu |
| **NativeUI** | UI framework dependency for eup-ui |
Install EUP [#install-eup]
Download all three resources [#download-all-three-resources]
Get eup-stream, eup-ui, and NativeUI from the official cfx.re releases thread.
Upload to the server [#upload-to-the-server]
In the [XGamingServer Panel](https://panel.xgamingserver.com), stop the server. Click **Files** in the sidebar and upload all three folders to `resources/` (or `resources/[eup]/`).
Add to server.cfg [#add-to-servercfg]
Open `server.cfg` in **Files** and add:
```ini
ensure NativeUI
ensure eup-stream
ensure eup-ui
```
Start order matters — NativeUI must load before eup-ui.
Restart and test [#restart-and-test]
Start from **Console**. In-game, type `/eup` to open the uniform selection menu. Browse by department (police, sheriff, fire, EMS, military).
Related Guides [#related-guides]
* [Install ELS](/docs/fivem/install-els)
* [Install Custom Vehicles](/docs/fivem/install-custom-vehicles)
* [Install Resources](/docs/fivem/install-resources)
# How to Install QBCore Framework on Your FiveM Server (/docs/fivem/install-qbcore)
import { Tab, Tabs } from 'fumadocs-ui/components/tabs';
import { Step, Steps } from 'fumadocs-ui/components/steps';
**QBCore** is an open-source FiveM roleplay framework that provides jobs, gangs, housing, inventory, phone, HUD, and more. It includes built-in multicharacter support and a gang system — features that require addons on ESX.
Prerequisites [#prerequisites]
* A **MySQL/MariaDB database** — create one in the **Databases** tab on the [XGamingServer Panel](https://panel.xgamingserver.com). MariaDB is recommended over MySQL by both QBCore and oxmysql documentation
* A **FiveM license key** from [keymaster.fivem.net](https://keymaster.fivem.net)
Install QBCore [#install-qbcore]
The recommended method is the **txAdmin recipe** — it downloads \~70 resources, imports the database schema, and configures server.cfg automatically.
Open txAdmin Server Deployer [#open-txadmin-server-deployer]
Access txAdmin through your panel. At the deployment step, select **Popular Template**, then choose **"QBCore Framework"**.
Configure the database connection [#configure-the-database-connection]
When prompted, enter the MySQL connection string using the credentials from your **Databases** tab:
```
mysql://dbuser:dbpassword@127.0.0.1:3306/dbname?charset=utf8mb4
```
> If your password contains special characters, use the semicolon format instead: `user=root;password=12345;host=127.0.0.1;port=3306;database=dbname`
Complete the recipe [#complete-the-recipe]
The recipe automatically:
* Downloads cfx-server-data (default resources)
* Installs **oxmysql** (MySQL connector)
* Installs **pma-voice** + **qb-radio** (voice chat)
* Installs **\~50 qb-* resources*\* (core, HUD, inventory, phone, jobs, gangs, housing, etc.)
* Installs standalone dependencies (PolyZone, progressbar, menuv, connectqueue)
* Imports `qbcore.sql` into your database
* Deploys a preconfigured `server.cfg`
Start the server [#start-the-server]
Once the recipe completes, start the server from **Console**. QBCore is fully installed.
Key server.cfg Entries [#key-servercfg-entries]
The recipe generates these — you can adjust after install:
```ini
sv_enforceGameBuild 3095
set mysql_connection_string "mysql://user:password@localhost:3306/dbname?charset=utf8mb4"
# Voice
setr voice_useNativeAudio true
setr voice_useSendingRangeOnly true
setr voice_defaultCycle "GRAVE"
setr voice_defaultVolume 0.3
# QBCore
setr qb_locale "en"
setr UseTarget false
# Start order
ensure qb-core
ensure [qb]
ensure [standalone]
ensure [voice]
ensure [defaultmaps]
# Permissions
add_ace resource.qb-core command allow
add_ace qbcore.god command allow
```
Key Configuration (config.lua) [#key-configuration-configlua]
After installing, customize QBCore in `resources/[qb]/qb-core/config.lua`:
| Setting | Default | Description |
| -------------------------------- | ----------------------------------------- | ----------------------------------- |
| `QBConfig.Money.MoneyTypes` | `{ cash = 500, bank = 5000, crypto = 0 }` | Starting money for new characters |
| `QBConfig.Money.PayCheckTimeOut` | `10` | Paycheck interval in minutes |
| `QBConfig.Player.HungerRate` | — | Hunger decrease rate |
| `QBConfig.Player.ThirstRate` | — | Thirst decrease rate |
| `QBConfig.DefaultSpawn` | — | Coordinates for default spawn point |
Max players is read from `sv_maxclients` in server.cfg (default 48).
Common Issues [#common-issues]
| Problem | Fix |
| -------------------------- | ------------------------------------------------------------------------------------------------- |
| Database connection failed | Check connection string. Special characters in password need URL-encoding or use semicolon format |
| Resources not starting | Ensure `qb-core` starts before `[qb]` in server.cfg |
| "Table not found" errors | `qbcore.sql` wasn't imported. Re-run the recipe or import manually via phpMyAdmin |
| OneSync errors | The recipe sets `set onesync on` — verify it's in your server.cfg |
Related Guides [#related-guides]
* [Database Setup](/docs/fivem/database-setup)
* [ESX Framework](/docs/fivem/install-esx)
* [ESX vs QBCore](/docs/fivem/esx-vs-qbcore)
* [Install Resources](/docs/fivem/install-resources)
# How To Install Resources on Your FiveM Server (/docs/fivem/install-resources)
FiveM uses a resource system for adding scripts, game modes, vehicles, maps, and other custom content to your server. Here is how to install them.
Download the Resource [#1-download-the-resource]
Download the resource you want to install. Popular sources for FiveM resources include:
* [Cfx.re Forums](https://forum.cfx.re/c/development/releases/7)
* [GitHub](https://github.com/)
* Various FiveM resource communities
Resources typically come as a `.zip` file containing a folder with scripts and configuration.
Stop Your Server [#2-stop-your-server]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and **Stop** your FiveM server.
Upload the Resource [#3-upload-the-resource]
In the sidebar, click **Files**. Navigate to the `resources/` directory (or a subfolder like `resources/[custom]/`). Upload and extract the resource folder.
Add the Resource to server.cfg [#4-add-the-resource-to-servercfg]
Open `server.cfg` and add an `ensure` line for the new resource:
```
ensure my-new-resource
```
The name should match the resource's folder name.
Configure the Resource (If Needed) [#5-configure-the-resource-if-needed]
Many resources include a `config.lua` or `config.json` file. Open it and adjust the settings according to the resource's documentation.
Start Your Server [#6-start-your-server]
Start the server and check the console for any errors related to the new resource.
Organizing Resources [#organizing-resources]
It is good practice to organize your resources into folders:
```
resources/
[core]/
mapmanager/
chat/
sessionmanager/
[vehicles]/
custom-cars/
[scripts]/
esx_core/
esx_ambulancejob/
[maps]/
custom-interior/
```
In your `server.cfg`, you can ensure entire folders:
```
ensure [core]
ensure [vehicles]
ensure [scripts]
```
> ⚠️ **Warning:** Only install resources from trusted sources. Malicious scripts can compromise your server or your players' experience.
> 📝 **Note:** Some resources depend on other resources (like ESX or QBCore frameworks). Make sure all dependencies are installed and loaded first in your `server.cfg`.
> 💡 **Tip:** If a resource is not working, check the server console for error messages. Common issues include missing dependencies, incorrect folder names, or syntax errors in configuration files.
# How To Change Max Players on Your FiveM Server (/docs/fivem/max-players)
Here is how to change the maximum player count on your FiveM server.
Open the Startup Page [#1-open-the-startup-page]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your FiveM server. In the sidebar, click **Startup**.
Change the Max Players Value [#2-change-the-max-players-value]
Find the **Max Players** field and set it to the number of player slots you want.
Restart Your Server [#3-restart-your-server]
Go to **Console** in the sidebar and restart your server to apply the change.
> 💡 **Tip:** You can also set this in `server.cfg` with the `sv_maxclients` setting:
>
> ```
> sv_maxclients 32
> ```
> 📝 **Note:** Higher player counts require more server resources. FiveM servers with many players and resource-heavy scripts may need a higher-tier plan for optimal performance.
# How to Optimize Your FiveM Server Performance (/docs/fivem/optimize-performance)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Enable OneSync [#enable-onesync]
**OneSync** replaces the default peer-to-peer sync with server-authoritative entity synchronization. It's required by both ESX and QBCore, and increases the player cap from 32 to 2048.
In `server.cfg` (via **Files** in the [XGamingServer Panel](https://panel.xgamingserver.com)):
```ini
set onesync on
```
| Mode | Max players | Description |
| --------------- | ----------- | -------------------------------------------------------------- |
| `on` (Infinity) | 2048 | Recommended — full server-side sync with population management |
| `legacy` | 64 | Older mode, no server-side population |
| `off` | 32 | Default GTA Online sync |
OneSync Infinity is the current recommended standard.
Performance Convars [#performance-convars]
Add these to `server.cfg`:
```ini
# Entity lockdown — prevents clients from creating unauthorized entities
sv_entityLockdown strict
# Script hook control
sv_scriptHookAllowed 0
# Duplicate player checking
sv_duplicatePlayers true
```
Reduce Resource Load [#reduce-resource-load]
1. **Remove unused resources** — every `ensure` in server.cfg loads a resource. Remove what you don't use
2. **Check resource monitor** — in txAdmin, view the Resources tab to see CPU/memory per resource
3. **Avoid heavy client-side scripts** — large MLOs, high-poly vehicles, and complex UI scripts increase load times
4. **Limit streaming assets** — each addon vehicle/MLO increases client download time and memory usage
Server Artifacts [#server-artifacts]
Keep your server artifacts (FXServer build) up to date. Newer builds include performance improvements and bug fixes. Update via **Reinstall Server** on the **Dashboard**.
Related Guides [#related-guides]
* [Server Configuration](/docs/fivem/configure-your-server)
* [Server Ports](/docs/fivem/server-ports)
* [Clear Cache](/docs/fivem/clear-cache)
# How To Reset Your FiveM Server (/docs/fivem/reset-server)
If your FiveM server is having issues or you want a fresh start, you can reset it by reinstalling.
> ⚠️ **Warning:** Reinstalling your server deletes **all** files and data including resources, scripts, and configuration. This cannot be undone. Create a backup first if you want to keep any files.
Stop Your Server [#1-stop-your-server]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and **Stop** your FiveM server.
Delete All Server Files [#2-delete-all-server-files]
In the sidebar, click **Files** and delete **all folders and files** so the file manager is completely empty.
Reinstall the Server [#3-reinstall-the-server]
On the **Dashboard**, find the **Reinstall Server** option and click it. Wait for the installation to complete.
Reconfigure Your Server [#4-reconfigure-your-server]
Once the reinstall finishes, go to **Startup** to set your [license key](/docs/fivem/create-license-key), server name, and other settings before starting the server.
If you continue to have issues after reinstalling, join our [Discord](https://discord.xgamingserver.com) and we will help you out.
# How to Add a Server Icon to Your FiveM Server (/docs/fivem/server-icon)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Add a Server Icon [#add-a-server-icon]
Create the icon [#create-the-icon]
The icon must be a **96x96 pixel PNG** file. Use any image editor to create or resize it.
Upload to the server [#upload-to-the-server]
In the [XGamingServer Panel](https://panel.xgamingserver.com), click **Files** in the sidebar. Upload the PNG to the **server root** (same directory as `server.cfg`).
Add to server.cfg [#add-to-servercfg]
Open `server.cfg` and add:
```ini
load_server_icon myicon.png
```
Replace `myicon.png` with your actual filename.
Restart the server [#restart-the-server]
Restart from **Console**. The icon appears in the FiveM server browser next to your server name.
Icon Not Showing? [#icon-not-showing]
* Verify the file is exactly **96x96 pixels** and **PNG format**
* Ensure the filename in `server.cfg` matches the uploaded file (case-sensitive)
* The icon file must be in the same directory as `server.cfg`
Related Guides [#related-guides]
* [Change Server Name](/docs/fivem/change-server-name)
* [Server Configuration](/docs/fivem/configure-your-server)
# Fix: FiveM Server Not Showing in the Server List (/docs/fivem/server-not-listed)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Quick Checks [#quick-checks]
Verify the server is reachable [#verify-the-server-is-reachable]
From any browser outside your network, visit:
```
http://YOUR_SERVER_IP:30120/info.json
```
If it loads with JSON data, the server is online and the port is open. If it doesn't load, the port is blocked — check the **Network** tab in the [XGamingServer Panel](https://panel.xgamingserver.com).
Wait 5–10 minutes [#wait-510-minutes]
A newly started server can take several minutes to appear in the FiveM server list. This is normal.
Check your license key [#check-your-license-key]
In `server.cfg`, verify `sv_licenseKey` is set to a valid key from [keymaster.fivem.net](https://keymaster.fivem.net). The key must match the server's IP address.
Check sv_hostname [#check-sv_hostname]
The server needs a hostname to appear in the list:
```ini
sv_hostname "My Server Name"
```
Check for port issues [#check-for-port-issues]
Port 30120 must be open for both TCP and UDP. See [Server Ports](/docs/fivem/server-ports).
Common Causes [#common-causes]
| Cause | Fix |
| -------------------------- | ------------------------------------------------------------------------- |
| Port 30120 not open | Allocate in **Network** tab, ensure TCP + UDP |
| Invalid license key | Regenerate at keymaster.fivem.net for your current IP |
| No sv\_hostname set | Add `sv_hostname` to server.cfg |
| Server just started | Wait 5–10 minutes |
| Master server line removed | Don't comment out or remove the master server configuration in server.cfg |
Players Can Still Connect Directly [#players-can-still-connect-directly]
Even if the server isn't in the list yet, players can connect using:
* **FiveM client** → Settings → Direct Connect → enter `IP:30120`
* Share the connect link: `fivem://connect/YOUR_IP:30120`
Related Guides [#related-guides]
* [Server Ports](/docs/fivem/server-ports)
* [Create License Key](/docs/fivem/create-license-key)
* [Connect to Your Server](/docs/fivem/connect-to-your-server)
# FiveM Server Ports Explained (/docs/fivem/server-ports)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Default Ports [#default-ports]
FiveM uses a single port for both TCP and UDP traffic:
| Port | Protocol | Purpose |
| --------- | --------- | ------------------------------------------------------------ |
| **30120** | TCP + UDP | Game traffic, server browser listing, and client connections |
Both TCP **and** UDP must be open on port 30120.
How Ports Are Configured [#how-ports-are-configured]
In `server.cfg` (via **Files** in the [XGamingServer Panel](https://panel.xgamingserver.com)):
```ini
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
```
To change the port, update the number in both lines to match. The port must also be allocated in your panel's **Network** tab.
Verify Your Port Is Open [#verify-your-port-is-open]
From any browser outside your network, visit:
```
http://YOUR_SERVER_IP:30120/info.json
```
If the page loads with server info JSON, the port is open and the server is reachable. If it doesn't load, the port is blocked.
Common Issues [#common-issues]
| Problem | Fix |
| ------------------------------------------------------ | ------------------------------------------------------- |
| Server not reachable | Verify port 30120 is allocated in **Network** tab |
| Server not in browser but reachable via direct connect | Wait 5–10 minutes for the server list to index |
| `info.json` doesn't load | Port is blocked — check firewall and Network allocation |
Related Guides [#related-guides]
* [Connect to Your Server](/docs/fivem/connect-to-your-server)
* [Server Not Listed](/docs/fivem/server-not-listed)
* [Server Configuration](/docs/fivem/configure-your-server)
# How To Set a Password on Your FiveM Server (/docs/fivem/set-a-password)
Setting a password on your FiveM server restricts access to only players who know the password.
Open Files [#1-open-files]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your FiveM server. In the sidebar, click **Files**.
Open server.cfg [#2-open-servercfg]
Open the `server.cfg` file.
Add the Password Setting [#3-add-the-password-setting]
Add the following line to `server.cfg`:
```
sv_password "yourpassword"
```
Replace `yourpassword` with your desired password.
Save and Restart [#4-save-and-restart]
Save the file and restart your server from the **Console** page.
Players will now be prompted to enter the password when connecting through the FiveM client.
> 📝 **Note:** To remove the password, either delete the `sv_password` line or set it to an empty string:
>
> ```
> sv_password ""
> ```
# How to Set Up a Steam Web API Key for Your FiveM Server (/docs/fivem/steam-web-api-key)
import { Step, Steps } from 'fumadocs-ui/components/steps';
A Steam Web API key enables Steam identifier resolution on your server. Without it, scripts that rely on Steam IDs (identifiers, bans, whitelists) won't work, and you'll see warnings in the console.
Set Up the Steam API Key [#set-up-the-steam-api-key]
Get a key from Steam [#get-a-key-from-steam]
Go to [steamcommunity.com/dev/apikey](https://steamcommunity.com/dev/apikey). You'll need a Steam account. Enter any domain name when prompted and click **Register**. Copy the key.
Add to server.cfg [#add-to-servercfg]
In the [XGamingServer Panel](https://panel.xgamingserver.com), click **Files** in the sidebar and open `server.cfg`. Add:
```ini
set steam_webApiKey "YOUR_STEAM_API_KEY_HERE"
```
Restart the server [#restart-the-server]
Restart from **Console**. The Steam API warning should no longer appear.
Don't Need Steam Auth? [#dont-need-steam-auth]
To suppress the warning without using Steam identifiers, set:
```ini
set steam_webApiKey "none"
```
Related Guides [#related-guides]
* [Server Configuration](/docs/fivem/configure-your-server)
* [Install ESX](/docs/fivem/install-esx)
* [Install QBCore](/docs/fivem/install-qbcore)
# How to Connect txAdmin to Discord on Your FiveM Server (/docs/fivem/txadmin-discord)
import { Step, Steps } from 'fumadocs-ui/components/steps';
txAdmin has a built-in Discord bot that posts server status, player counts, and restart notifications to a Discord channel.
Set Up the Discord Bot [#set-up-the-discord-bot]
Create a Discord Application [#create-a-discord-application]
Go to [discord.com/developers/applications](https://discord.com/developers/applications). Click **New Application** and name it (e.g., "My Server Status").
Get the Bot Token [#get-the-bot-token]
In the left sidebar, click **Bot**. Click **Reset Token** and copy it. Under **Privileged Gateway Intents**, enable **Server Members Intent**.
Invite the bot to your Discord [#invite-the-bot-to-your-discord]
Use this URL, replacing `YOUR_APP_ID` with your Application ID (found on the General Information page):
```
https://discordapp.com/oauth2/authorize?&client_id=YOUR_APP_ID&scope=bot&permissions=18432
```
Select your Discord server and authorize.
Get your Discord server and channel IDs [#get-your-discord-server-and-channel-ids]
In Discord, enable **Developer Mode** (User Settings → Advanced). Then:
* Right-click your **server icon** → **Copy Server ID**
* Right-click the **channel** where you want status updates → **Copy Channel ID**
Configure in txAdmin [#configure-in-txadmin]
Open txAdmin. Go to **Settings → Discord**. Enter:
* **Bot Token** — from step 2
* **Server ID** — from step 4
* **Status Channel ID** — from step 4
Save the settings.
Add the status embed [#add-the-status-embed]
In the Discord channel you configured, type:
```
/status add
```
An auto-updating embed appears showing player count and server status.
What the Bot Does [#what-the-bot-does]
* Auto-updating **server status embed** (online/offline, player count)
* **Restart notifications** with countdown
* **Admin action logs** (kicks, bans)
* **Announcement forwarding** from txAdmin to Discord
Related Guides [#related-guides]
* [txAdmin](/docs/fivem/txadmin)
* [Server Configuration](/docs/fivem/configure-your-server)
# How To Use txAdmin on Your FiveM Server (/docs/fivem/txadmin)
txAdmin is a powerful web-based admin panel for FiveM servers. It provides server monitoring, player management, live console access, and more through a browser interface.
Accessing txAdmin [#accessing-txadmin]
Get the txAdmin URL [#1-get-the-txadmin-url]
Log in to the [XGamingServer Panel](https://panel.xgamingserver.com) and select your FiveM server. Check the **Dashboard** or **Startup** page for the txAdmin URL and port. txAdmin typically runs on your server's IP with a separate port (e.g., `http://YOUR_IP:40120`).
Log in to txAdmin [#2-log-in-to-txadmin]
Open the txAdmin URL in your browser. On first access, you may need to set up an admin account using the PIN displayed in your server console.
Complete the Setup [#3-complete-the-setup]
Follow the on-screen setup wizard to configure txAdmin with your server details.
Key Features [#key-features]
txAdmin provides several useful tools:
| Feature | Description |
| ---------------------- | -------------------------------------------------------- |
| **Dashboard** | Overview of server status, player count, and performance |
| **Live Console** | View and send commands to the server console |
| **Players** | View connected players, kick, ban, or send messages |
| **Server Log** | View server activity and player actions |
| **Resources** | Start, stop, and restart individual resources |
| **CFG Editor** | Edit your server.cfg directly from the browser |
| **Scheduled Restarts** | Set up automatic server restarts |
Managing Players [#managing-players]
In the txAdmin **Players** section, you can:
* View all connected players with their identifiers
* Send direct messages to players
* Kick players with a reason
* Ban players temporarily or permanently
* View player history and warnings
Setting Up Scheduled Restarts [#setting-up-scheduled-restarts]
Open Server Settings [#1-open-server-settings]
In txAdmin, go to **Settings** > **Server**.
Configure Restart Schedule [#2-configure-restart-schedule]
Set up restart times (e.g., every 6 hours) to keep your server running smoothly.
Save Settings [#3-save-settings]
Click **Save** to apply the schedule.
> 📝 **Note:** txAdmin availability depends on your server's configuration. If txAdmin is not available, you can still manage your server through the [XGamingServer Panel](https://panel.xgamingserver.com).
> 💡 **Tip:** txAdmin supports Discord webhook integration, so you can receive notifications about server events, player joins, and admin actions directly in your Discord server.
# How to Whitelist Your FiveM Server (/docs/fivem/whitelist-setup)
import { Tab, Tabs } from 'fumadocs-ui/components/tabs';
import { Step, Steps } from 'fumadocs-ui/components/steps';
txAdmin has built-in whitelist modes.
Open txAdmin Settings [#open-txadmin-settings]
Access txAdmin through your panel. Go to **Settings → Whitelist**.
Choose a whitelist mode [#choose-a-whitelist-mode]
| Mode | Description |
| -------------------- | --------------------------------------------------------------------------------- |
| **Admin-only** | Only admins can join (maintenance/lockdown) |
| **Approved License** | Admins manually approve players via the txAdmin dashboard or `/whitelist` command |
| **Discord Member** | Any member of a linked Discord server can join |
| **Discord Roles** | Only members with specific Discord roles can join |
Save and restart [#save-and-restart]
Apply the settings. The whitelist takes effect immediately.
Use the native FiveM ACE system to whitelist specific players by their identifier.
In `server.cfg` (via **Files** in the [XGamingServer Panel](https://panel.xgamingserver.com)):
```ini
add_ace group.whitelisted command.whitelist allow
add_principal identifier.license:xxxx group.whitelisted
add_principal identifier.steam:110000112345 group.whitelisted
```
This requires a whitelist resource that checks for the ACE permission on connect. See [ACE Permissions](/docs/fivem/ace-permissions) for the full guide.
Use a Discord-based whitelist resource like [DiscordWhitelist](https://github.com/FAXES/DiscordWhitelist) to dynamically check players' Discord roles on connect.
Download DiscordWhitelist [#download-discordwhitelist]
Get it from [github.com/FAXES/DiscordWhitelist](https://github.com/FAXES/DiscordWhitelist).
Upload and configure [#upload-and-configure]
Upload to `resources/` via **Files**. Edit the config file with your Discord bot token and the required role IDs.
Add to server.cfg [#add-to-servercfg]
```ini
ensure DiscordWhitelist
```
Restart the server. Players must have the required Discord role to connect.
Related Guides [#related-guides]
* [ACE Permissions](/docs/fivem/ace-permissions)
* [txAdmin](/docs/fivem/txadmin)
* [Server Configuration](/docs/fivem/configure-your-server)
# Beginner's Guide (/docs/getting-started/beginners-guide)
Your First Game Server [#your-first-game-server]
After purchasing a server from [XGamingServer](https://xgamingserver.com), you'll receive an email with your login credentials for the game panel.
Accessing the Game Panel [#accessing-the-game-panel]
1. Go to [panel.xgamingserver.com](https://panel.xgamingserver.com)
2. Log in with the credentials from your welcome email
3. You'll see your server listed on the dashboard
Server Basics [#server-basics]
Starting and Stopping [#starting-and-stopping]
Use the power controls at the top of your server page:
* **Start** — Boots up your server
* **Stop** — Gracefully shuts down your server
* **Restart** — Stops and starts your server
* **Kill** — Force stops the server (use only if it's unresponsive)
Console [#console]
The console tab shows your server's live output. You can type commands directly into the console input at the bottom.
Server Address [#server-address]
Your server IP and port are displayed at the top of the panel. Share this with friends so they can connect.
Next Steps [#next-steps]
* [Connect to Your Server](/docs/getting-started/connect-to-server) — Learn how to join your server in-game
* [Server Management](/docs/panel-guides/server-management) — Learn about advanced server controls
* [Backups](/docs/panel-guides/backups) — Keep your server data safe
# Connect to Your Server (/docs/getting-started/connect-to-server)
Finding Your Server Address [#finding-your-server-address]
1. Log into the [game panel](https://panel.xgamingserver.com)
2. Select your server from the dashboard
3. Your server address is displayed at the top in the format `IP:Port` (e.g., `192.168.1.1:25565`)
Connecting In-Game [#connecting-in-game]
The exact steps vary by game, but the general process is:
1. Launch your game
2. Navigate to the multiplayer or server browser menu
3. Add your server using the `IP:Port` from the panel
4. Connect and play!
For game-specific connection instructions, check the guide for your game in the sidebar.
Troubleshooting Connection Issues [#troubleshooting-connection-issues]
Server shows as offline [#server-shows-as-offline]
* Make sure your server is **started** in the game panel
* Wait 1–2 minutes after starting for the server to fully boot
Can't connect / connection timed out [#cant-connect--connection-timed-out]
* Double-check the IP and port — make sure there are no extra spaces
* Ensure you're running the same game version as your server
* Check if the server has a whitelist enabled
High ping or lag [#high-ping-or-lag]
* Choose a server location closest to you and your players
* Check your server's resource usage in the panel — you may need an upgrade
Still stuck? [Contact our support team](https://xgamingserver.com/support) — we're here 24/7.
# Welcome to XGamingServer (/docs/getting-started)
Welcome to XGamingServer! We make game server hosting simple so you can focus on playing.
Quick Start [#quick-start]
1. **Choose your game** — Pick from 50+ supported titles
2. **Deploy your server** — One-click setup through our game panel
3. **Connect and play** — Share your server IP with friends and start playing
What's in these docs? [#whats-in-these-docs]
* **Getting Started** — You're here! Learn the basics of managing your server
* **Panel Guides** — Detailed walkthroughs for every panel feature (backups, file manager, schedules, and more)
* **Game Guides** — Game-specific setup, configuration, and troubleshooting for every supported title
Need help? [#need-help]
If you can't find what you're looking for, our support team is available 24/7:
* [Open a Support Ticket](https://xgamingserver.com/support)
* [Join our Discord](https://discord.gg/xgamingserver)
# How to Add Admins on Your Ground Branch Server (/docs/ground-branch/adding-admins)
import { Step, Steps } from 'fumadocs-ui/components/steps';
Admin access on a Ground Branch server allows you to manage players, change maps, kick or ban disruptive players, and control the server remotely. You can grant admin access through RCON (Remote Console) using an admin password, or by adding Steam IDs to the admin configuration file.
Setting Up RCON Admin Access [#setting-up-rcon-admin-access]
RCON lets you manage the server remotely using an admin password. This is the quickest way to get admin access running.
Open the XGamingServer panel [#1-open-the-xgamingserver-panel]
Log in to the [XGamingServer panel](https://panel.xgamingserver.com) and select your Ground Branch server.
Go to Startup [#2-go-to-startup]
In the sidebar, click `Startup`.
Set the admin password [#3-set-the-admin-password]
Find the **Admin Password** field and enter a strong password. This corresponds to the `-ServerAdminPassword=` startup parameter.
Save and restart [#4-save-and-restart]
Save your changes and restart the server.
> 📝 **Note:** The admin password is separate from the [server password](/docs/ground-branch/set-a-password). The server password controls who can join, while the admin password controls who can manage the server.
Using RCON In-Game [#using-rcon-in-game]
Once the admin password is set, you can authenticate in-game:
Connect to your server [#1-connect-to-your-server]
[Join your Ground Branch server](/docs/ground-branch/connect-to-your-server) as normal.
Open the console [#2-open-the-console]
Press the **tilde key** (`~`) to open the console.
Authenticate as admin [#3-authenticate-as-admin]
Type the following command:
```
adminlogin YourAdminPassword
```
Replace `YourAdminPassword` with the admin password you set in the startup parameters.
You'll see a confirmation message when successfully authenticated.
Adding Admins via Steam ID [#adding-admins-via-steam-id]
For persistent admin access that doesn't require entering a password each session, you can add Steam IDs to the server's admin configuration:
Stop your server [#1-stop-your-server]
Stop your server from the XGamingServer panel.
Navigate to Files [#2-navigate-to-files]
In the sidebar, go to `Files`.
Find the admin config [#3-find-the-admin-config]
Navigate to the server configuration directory:
```
GroundBranch/ServerConfig/
```
Look for the admin list or admins configuration file.
Add Steam IDs [#4-add-steam-ids]
Add the Steam64 IDs of players you want to grant admin access, one per line:
```
76561198012345678
76561198087654321
```
Save and start [#5-save-and-start]
Save the file and start your server.
> 💡 **Tip:** To find a player's Steam64 ID, visit [steamid.io](https://steamid.io/) and enter their Steam profile URL. You'll need the 17-digit Steam64 ID format.
Admin Commands Reference [#admin-commands-reference]
Once authenticated as admin, you have access to server management commands through the console:
Player Management [#player-management]
| Command | Description |
| ------------------ | ------------------------------------------------ |
| `listplayers` | Lists all connected players with their IDs |
| `kick ` | Kicks a player from the server (they can rejoin) |
| `ban ` | Bans a player from the server |
| `unban ` | Removes a ban, allowing the player to rejoin |
Server Management [#server-management]
| Command | Description |
| -------------------- | ----------------------------------- |
| `servertravel