Server configuration (conf.json)
conf.json lives next to altv-server.exe. It is a flat JSON object in RAGE:MP's format, so an
existing RAGE:MP conf.json works as-is. // comments are allowed. Server scripts can read it
as mp.config.
{
"name": "Sapphire RolePlay",
"gamemode": "server",
"bind": "0.0.0.0",
"port": 22005,
"maxplayers": 100,
"stream-distance": 500.0,
"csharp": "enabled",
"password": ""
}
Keys that change how the server works
| Key | Type | Default | What it does |
|---|---|---|---|
name | string | "RAGE:MP Unofficial server" | Server name shown to players. |
bind | string | "0.0.0.0" | Address to listen on. |
port | number | 22005 | UDP game port. The HTTP file server always uses port + 1 (TCP). |
maxplayers | number | 100 | Player limit. |
gamemode | string | "freeroam" | The package in packages/ that starts first. Every other folder in packages/ is loaded after it, alphabetically. |
csharp | "enabled" / "disabled" | "disabled" | Loads C# resources from dotnet/resources/. |
stream-distance | number | 500.0 | Streaming radius in metres: entities further away are not sent to a player. 0 or less streams everything. |
max-streamed-entities | number | 150 | Most entities streamed to one player at a time. The nearest ones win. |
sync-rate | number (ms) | 16 | How often entity sync is relayed (16 ms ≈ 60 Hz). Lower is smoother and costs more bandwidth. |
password | string | "" | Connect password. Empty means no password. |
upnp | bool | true | Tries to forward the UDP port and port + 1 on your router through UPnP. |
debug | bool | false | Prints verbose boot and debug lines to the console and server.log. |
Keys accepted for compatibility
These are read, so a RAGE:MP config loads without errors, and they are visible through mp.config.
They do not change the server's behaviour yet:
announce, website, language, description, token, voice-chat, enable-nodejs, dlcpacks.
- Voice chat is always available.
- Node.js packages always run.
- DLC packs are found automatically in
client_packages/game_resources/dlcpacks/(see DLC packs), so thedlcpacksarray is not needed.
Files the server writes next to conf.json
| File | What it is |
|---|---|
server.log | The console output of the current run. |
clientfile-hashes.cache | Hashes of DLC packs, keyed by size and date, so big packs are not re-hashed on every start. Safe to delete: it is rebuilt. |
dlcpack.key | The server's DLC key: it protects the DLC pack list and pack data sent to players. Created automatically. Keep it private and do not share it. |
cache/, logs/ | Working folders. |