BeamMP Server Configuration Guide: Every Setting Explained
Your ServerConfig.toml file controls everything about how your BeamMP server behaves — from who can join to how many cars are allowed. Most guides tell you to paste in your AuthKey and leave everything else alone. This guide explains every setting, what it actually does, and what values make sense for different types of servers.
The Config File
When you first run your BeamMP server, it generates a ServerConfig.toml file. Open it with any text editor. Here's what the default looks like:
[General] Port = 30814 AuthKey = "auth-key" AllowGuests = false LogChat = false Debug = false IP = "::" Private = true InformationPacket = true Name = "Test Server" Tags = "Freeroam,Modded,Racing,Police" MaxCars = 2 MaxPlayers = 10 Map = "/levels/gridmap_v2/info.json" Description = "Total Random Beam MP Server" ResourceFolder = "Resources"
Let's go through every setting.
General Settings
Port
Port = 30814
The network port your server listens on. Default 30814 works for most setups. Only change this if:
- You're running multiple servers on the same machine (use 30814, 30815, 30816, etc.)
- Port 30814 is already in use by another application
- Your hosting provider assigns a specific port
If you change the port, remember to update your port forwarding rules (self-hosted) and tell players the new port for direct connect.
AuthKey
AuthKey = "your-key-here"
Your authentication key from the BeamMP Keymaster. Required for both public and private servers. One key per server — you can't run two servers with the same key at the same time.
Never share this key. If it's compromised, revoke it on the Keymaster and create a new one.
Name
Name = "My Server Name"
What players see in the server browser. Maximum 250 characters. BeamMP supports colour formatting in server names using special codes — check the BeamMP server maintenance docs for formatting options.
Tips for a good server name:
- Make it descriptive: "UK Drift | Custom Maps | Mods" is better than "Bob's Server"
- Include your region so players know to expect good ping
- Mention what makes your server different (mods, maps, game mode)
Description
Description = "A fun multiplayer server with custom maps and mods"
A longer description shown in server details. Maximum 1000 characters. Use this to explain your server's rules, what mods you run, and what players can expect.
Tags
Tags = "Freeroam,Racing,Drift,UK"
Comma-separated tags that help players filter and find your server. Maximum 100 characters total. Use relevant tags:
- Game modes:
Freeroam,Racing,Drift,Roleplay,Derby - Content:
Modded,Vanilla,Custom Maps - Region:
UK,EU,US,Asia - Community:
Friendly,Competitive,Chill
MaxPlayers
MaxPlayers = 10
Maximum number of players who can be connected at once.
What to set this to depends on your resources:
| Server Type | Recommended MaxPlayers | Notes |
|---|---|---|
| Friends only (self-hosted) | 5-8 | Home internet usually can't handle more |
| Small community | 10-15 | Good balance for most setups |
| Medium public server | 15-25 | Needs decent hardware |
| Large public server | 25-50 | Needs dedicated hosting with good CPU |
Keep in mind that BeamNG.drive's physics simulation scales with player count. Each player's vehicles are simulated on every other client, so doubling players roughly quadruples the physics load.
MaxCars
MaxCars = 2
Maximum number of vehicles each player can spawn at the same time.
Recommended values:
| Server Size | MaxCars | Why |
|---|---|---|
| 1-5 players | 3-5 | Small group, performance isn't an issue |
| 5-10 players | 2-3 | Keeps things manageable |
| 10-20 players | 1-2 | Essential for playable framerates |
| 20+ players | 1 | Anything more and clients will struggle |
The physics load from each car is significant. A server with 10 players and MaxCars=3 has up to 30 vehicles being simulated on every client. That's usually unplayable.
Map
Map = "/levels/gridmap_v2/info.json"
The map your server loads. Must be a valid level path ending in /info.json. Maximum 100 characters.
All default maps:
| Map | Path |
|---|---|
| Grid Map (flat sandbox) | /levels/gridmap_v2/info.json |
| East Coast USA | /levels/east_coast_usa/info.json |
| West Coast USA | /levels/west_coast_usa/info.json |
| Italy | /levels/italy/info.json |
| Jungle Rock Island | /levels/jungle_rock_island/info.json |
| Industrial Site | /levels/industrial/info.json |
| Small Island | /levels/small_island/info.json |
| Utah | /levels/utah/info.json |
| Driver Training | /levels/driver_training/info.json |
| Johnson Valley (Desert) | /levels/johnson_valley/info.json |
| Hirochi Raceway | /levels/hirochi_raceway/info.json |
For custom maps, see our guide on adding mods to your BeamMP server.
Private
Private = true
Controls whether your server appears in the public server list.
true— server is hidden, players must direct connect using your IP and portfalse— server is visible in the BeamMP server browser
Set to false when you're ready for public players. Keep it true while you're setting up and testing.
AllowGuests
AllowGuests = false
Whether players without a BeamMP account can join. Most server owners leave this false — requiring an account helps with moderation since you can ban by account rather than by (changeable) IP.
LogChat
LogChat = false
When true, all in-game chat messages are written to the server log file. Useful for moderation if you need to review what was said. Enable this if you run a public server.
Debug
Debug = false
Enables verbose debug output in the server log. Leave this false unless you're troubleshooting a specific issue — it generates a lot of output.
IP
IP = "::"
The IP address the server binds to. The default :: means "listen on all available interfaces", which is correct for almost every setup. Only change this if you have multiple network interfaces and need to bind to a specific one.
InformationPacket
InformationPacket = true
Controls whether the server sends information packets to the BeamMP backend for the server list. Keep this true — it's required for your server to appear in the browser and for player counts to be accurate.
ResourceFolder
ResourceFolder = "Resources"
The folder where the server looks for client mods and server plugins. Default Resources is relative to the server's working directory. No reason to change this unless you have a specific deployment setup.
Environment Variables (Advanced)
Since BeamMP Server v3.2.0, you can override any config setting using environment variables. This is useful for hosting providers or Docker deployments where you don't want to edit config files.
The pattern: take the setting name, convert to ALL_CAPS with underscores between words, and prefix with BEAMMP_.
| Config Setting | Environment Variable |
|---|---|
| MaxPlayers | BEAMMP_MAX_PLAYERS |
| MaxCars | BEAMMP_MAX_CARS |
| Port | BEAMMP_PORT |
| Name | BEAMMP_NAME |
| AuthKey | BEAMMP_AUTH_KEY |
| Private | BEAMMP_PRIVATE |
| Map | BEAMMP_MAP |
| Debug | BEAMMP_DEBUG |
| LogChat | BEAMMP_LOG_CHAT |
Environment variables take priority over ServerConfig.toml. Boolean values accept true or 1 for on, anything else for off.
Provider-Specific Variables
If you're a hosting provider managing many servers:
BEAMMP_PROVIDER_PORT_ENV— read the port from a different environment variable (useful for Pterodactyl:BEAMMP_PROVIDER_PORT_ENV="SERVER_PORT")BEAMMP_PROVIDER_DISABLE_CONFIG— skip reading/generating ServerConfig.toml entirely (all settings must come from env vars)BEAMMP_PROVIDER_UPDATE_MESSAGE— customise the update notification message
Recommended Configs by Use Case
Private Server for Friends (3-5 players)
[General] Port = 30814 AuthKey = "your-key" Private = true Name = "The Squad's Server" MaxPlayers = 8 MaxCars = 3 Map = "/levels/west_coast_usa/info.json" AllowGuests = false LogChat = false Debug = false
Generous car limit since it's a small group. Private so only your friends can find it.
Public Freeroam Server (10-15 players)
[General] Port = 30814 AuthKey = "your-key" Private = false Name = "[UK] Open Freeroam | Mods | All Welcome" Description = "Chill freeroam server. UK hosted. Modded vehicles. No ramming, no trolling." Tags = "Freeroam,Modded,UK,Friendly" MaxPlayers = 15 MaxCars = 2 Map = "/levels/east_coast_usa/info.json" AllowGuests = false LogChat = true Debug = false
Chat logging on for moderation. MaxCars at 2 to keep performance smooth with more players.
Competitive Racing Server (8-12 players)
[General] Port = 30814 AuthKey = "your-key" Private = false Name = "[EU] Racing League | Hirochi Raceway" Description = "Competitive racing. Clean driving only. Weekly tournaments." Tags = "Racing,Competitive,EU,Clean" MaxPlayers = 12 MaxCars = 1 Map = "/levels/hirochi_raceway/info.json" AllowGuests = false LogChat = true Debug = false
MaxCars at 1 — racing servers don't need multiple vehicles per player.
Large Roleplay Server (20+ players)
[General] Port = 30814 AuthKey = "your-key" Private = false Name = "[US] City RP | Jobs | Economy | Active Staff" Description = "Full roleplay server with economy, jobs, police, EMS. Applications open on Discord." Tags = "Roleplay,Economy,US,Modded" MaxPlayers = 30 MaxCars = 1 Map = "/levels/west_coast_usa/info.json" AllowGuests = false LogChat = true Debug = false
Strict 1 car limit is essential at this scale. You'll want server-side Lua plugins for the roleplay systems (BeamJoy is a good starting point).
Common Mistakes
-
Setting MaxCars too high on a public server. The #1 cause of "laggy server" complaints. Start with 1-2 and increase only if performance allows.
-
Forgetting to set Private = false. Your server is ready, everything works, but nobody can find it — because it's still set to private.
-
Sharing your AuthKey. Treat it like a password. If someone else uses it, your server gets kicked off.
-
Using a map path without /info.json. The map setting must end with
/info.json, not just the level folder name. -
Not enabling LogChat on public servers. When someone reports harassment, you'll wish you had logs.
Want a server that's pre-configured and ready to go? Connect Hosting's BeamMP servers come optimised out of the box — just paste your AuthKey and you're live in under 60 seconds. View plans →