BeamMP guide

BeamMP ServerConfig.toml and AuthKey Setup Explained

By the ChicagoServers team · Updated · 7 min read

A BeamMP server needs two things before it will start: an AuthKey from keymaster.beammp.com, and that key pasted into the AuthKey field of ServerConfig.toml. Everything else in the file has a working default, but one default catches almost everyone: Private is true, so a new server stays out of the public server list until you change it.

This guide covers the key, then every setting the current server writes to the file, with defaults read from the BeamMP-Server v3.9.3 source and the official BeamMP docs (checked 2026-11-01). Server updates can add or rename settings, so compare against the file your own server generates.

Quick answer
  • Log in to Keymaster with Discord, open Keys, click the green + button, name the key, click Create, then copy it. Treat it like a password.
  • Start the server once so it generates ServerConfig.toml, then paste the key into AuthKey under [General] and start it again.
  • Private = true is the default and hides the server from the list. Set it to false for a public server.
  • Defaults in v3.9.3: Port 30814 (TCP and UDP), MaxPlayers 8, MaxCars 1, Map /levels/gridmap_v2/info.json.
  • The server reads ServerConfig.toml only at startup, so stop it, edit the file, then start it again.
On this page
  1. How to get a BeamMP AuthKey from Keymaster
  2. Where ServerConfig.toml comes from
  3. ServerConfig.toml settings explained
  4. A working public server config
  5. Ports, firewalls and why the server is not in the list
  6. Overriding settings with environment variables
  7. Frequently asked questions
  8. References

How to get a BeamMP AuthKey from Keymaster

The AuthKey is what identifies your server to the BeamMP backend. You create it on Keymaster, which uses your Discord login.

  1. Log in to Keymaster

    Open keymaster.beammp.com and sign in with Discord.

  2. Open Keys and add one

    Click Keys in the left sidebar, then the green + button in the top right.

  3. Name the key

    The name is only a label so you can tell your keys apart. It is not the server name players see in the list.

  4. Create and copy it

    Click Create, then use the clipboard icon to the right of the key to copy it.

A valid key is 36 characters long (the pattern is groups of letters and numbers separated by dashes). If yours is a different length the server logs a warning that it is probably not valid, which usually means the key was copied with a missing or extra character.

Where ServerConfig.toml comes from

You do not write the file from scratch. Run the server once and it creates ServerConfig.toml (plus Server.log and a Resources folder) in its working directory. That is the directory the process was started from, not necessarily the folder holding the executable, so on Linux start the server from the folder you want it to live in.

On the first run without a key the console tells you to get an AuthKey, enter it in the config file and restart. That is expected. Open ServerConfig.toml over SFTP (or in your host's file or config editor, if it has one), set the key, and start the server again.

The server reads the file at startup and writes it back with the values it loaded, so any hand-written comments are not preserved. Edit while the server is stopped and start it again to apply the change. The old Server.cfg format is obsolete and not compatible; if one is still present the server warns about it.

ServerConfig.toml settings explained

Everything below sits under the [General] header unless noted. Defaults are the values in the v3.9.3 server source.

SettingWhat it doesDefault
AuthKeyYour Keymaster key. The server will not start without it.empty
NameServer name shown in the list. Supports formatting codes. The backend limit is 250 characters.BeamMP Server
DescriptionText shown in the list for public servers. Supports formatting codes. Limit 1000 characters.BeamMP Default Description
TagsComma-separated tags to help players find you, such as Freeroam,Modded,Racing. Not case sensitive. Limit 100 characters.Freeroam
PortPort the server listens on. Any value from 1024 to 65535 that nothing else on the machine uses.30814
IPLocal address to bind to. Leave it alone unless you know why you are changing it.::
MaxPlayersPlayer slots. Does not limit vehicles.8
MaxCarsVehicles per player. Extra spawns are deleted immediately.1
MapLevel path, for example /levels/gridmap_v2/info.json. Must be a stock map or a map installed as a server mod. Limit 100 characters./levels/gridmap_v2/info.json
Privatetrue keeps the server out of the public list. Players who know the IP and port can still join.true
AllowGuestsWhether players who are not logged in to a BeamMP account may join.true
InformationPacketLets clients that are not connected fetch your public server info directly from the server.true
LogChatWrites chat messages to the log. The sample in the BeamMP setup guide shows false, but the v3.9.3 source default is true.true
DebugVerbose logging. Greatly increases log size, so leave it off unless you are chasing a problem.false
ResourceFolderWhere the Resources folder lives, so you can keep it away from the server files.Resources
ImScaredOfUpdates (under [Misc])Controls the periodic update reminder in the console. An update notice always appears at startup.true
UpdateReminderTime (under [Misc])How often the update reminder repeats, for example 30s, 10min, 2h or 1d.30s

The generated file may also contain SendErrors and SendErrorsShowMessage under [Misc], which control whether the server sends crash and error information back to the BeamMP developers. Other section names, such as one named after a plugin, are reserved for server plugins.

A working public server config

This is a typical public freeroam setup. The AuthKey is a placeholder.

ServerConfig.toml
[General]
AuthKey = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Name = "My BeamMP Server"
Description = "Freeroam, friendly drivers, no ramming."
Tags = "Freeroam,Modded"
Port = 30814
MaxPlayers = 16
MaxCars = 2
Map = "/levels/gridmap_v2/info.json"
Private = false
AllowGuests = true
Debug = false

Raise MaxPlayers and MaxCars gradually. Total vehicle count is what players and the server actually feel, so 16 players with 2 cars each is a much heavier session than 16 players with 1 car each.

Ports, firewalls and why the server is not in the list

BeamMP needs both TCP and UDP on the configured port (30814 by default). If you run more than one server on a machine, give each its own port, for example 30814 and 30815. At home that means forwarding the port on your router, and CGNAT or a 4G/5G-only connection can make forwarding impossible. On a hosted machine with its own public address you skip the router part and just use the IP and port your host gives you, which is the main reason many communities use BeamMP server hosting instead.

If the server starts but nobody can find or join it, work through these in order:

  • Not in the list at all: check Private. It defaults to true.
  • Startup error about the AuthKey: the key is empty or malformed. Re-copy it from Keymaster.
  • Error 10048 or 10022: another program or BeamMP server is already using that port. Pick a different Port.
  • Errors 10060, 10061 or 10065 for joining players: the port is not reachable from the internet. Check forwarding and firewall rules for both TCP and UDP.
  • You can see the server but cannot join from the same PC: use Direct Connect to 127.0.0.1 and your port, since many home routers do not support NAT loopback.

Also scan the console and Server.log for [ERROR] and [WARN] lines after every start; the official docs recommend this as the first check.

Overriding settings with environment variables

Since server v3.2.0 each setting can be overridden by an environment variable with a BEAMMP_ prefix, which is useful for containers. The documented names are BEAMMP_AUTH_KEY, BEAMMP_NAME, BEAMMP_DESCRIPTION, BEAMMP_TAGS, BEAMMP_PORT, BEAMMP_MAX_PLAYERS, BEAMMP_MAX_CARS, BEAMMP_MAP, BEAMMP_PRIVATE, BEAMMP_DEBUG, BEAMMP_LOG_CHAT and BEAMMP_RESOURCE_FOLDER. Booleans are on for true or 1 and off for anything else.

If you do not use them, ignore this section. If you do, remember that an environment variable wins over the file, which is a common reason an edit to ServerConfig.toml seems to be ignored.

Frequently asked questions

Why is my BeamMP server not showing in the server list?

The most common cause is Private = true, which is the default. Set Private = false, make sure the AuthKey is valid, and restart. If it still does not appear, check the console for [ERROR] or [WARN] lines and confirm the port is reachable over TCP and UDP.

Can I use one AuthKey for two servers?

A key works on one server at a time, and each account gets a limited number of keys. Create a separate key in Keymaster for each server you run.

What port does a BeamMP server use?

30814 by default, over both TCP and UDP. You can change it in ServerConfig.toml to any free port between 1024 and 65535, and every extra server on the same machine needs its own.

What does MaxCars do?

It limits how many vehicles each player can have spawned at once. Extra vehicles are deleted instantly. MaxPlayers only limits player slots and does not affect the vehicle count.

References