A BeamMP server that "does not work" is nearly always one of two separate failures that look the same from a player's chair. Either the server never registered with the BeamMP backend, so it is missing from the list - an auth key or Private problem - or it registered but cannot be reached on port 30814, so it shows up and then refuses everyone. A third group of faults lives entirely on the player's PC: the launcher, the game version, the mod cache. The fastest way to tell which one you have is to try a direct connect by address and port, and to run the server's port through the CheckBeamMP tool. Those two tests split the problem before you edit a single file.
This post is the diagnosis order, with the evidence each step gives you. For setting the server up in the first place - ServerConfig.toml line by line, maps, Lua - see the BeamMP server guide. For the general version of this checklist that applies to any game, see why players cannot connect to your server.
Not in the list, or not reachable? Split the problem first#
Two systems are involved every time somebody joins, and they fail independently.
The server talks outbound to the backend to prove who it is and to appear in the list. The player's launcher talks to the backend to fetch the list and authenticate the player, then connects directly to your server on its port. The list is just a directory; being in it says nothing about whether your port is open, and being absent from it says nothing about whether the port is closed.
| What you see | Most likely layer |
|---|---|
| Server not in the list, direct connect works | Auth key, Private, backend registration |
| Server in the list, nobody can join | Port, protocol, firewall |
| Not in the list, direct connect also fails | Server not running, or both of the above |
| One player fails, others join | That player's launcher, game or network |
| Everyone fails right after a BeamNG patch | Version mismatch |
| Players connect, then hang on mod download | Mod pack size or a bad cached file |
If one player out of eight cannot join, leave the server alone. Seven successful joins prove the key, the list and the port.
The diagnosis order#
Work through these in sequence. Each step takes a minute and rules out a layer, and skipping ahead - rewriting firewall rules before reading the log - is how an evening disappears.
- Read the server log. Did it start, and did it authenticate?
- Check
Privateand the list registration. - Direct connect by address and port from outside the server's network.
- Test the port with CheckBeamMP.
- Check versions: BeamNG, the BeamMP client, the server build.
- Check the mod pack in
Resources/Client. - Only then look at the player's launcher and PC.
The rest of this post takes each step apart.
Step 1: read Server.log before anything else#
The server writes everything it prints to Server.log in its own directory. It mirrors the console, and it never contains your auth key, so it is safe to paste into a support channel without editing.
What you are looking for is whether the server reached the point of accepting players. A server that exits a second after starting is never a network problem. The usual causes, all visible in the log:
- No auth key, or the placeholder. The key is empty by default and the server will not run without it. This is the single most common first-start failure.
- A TOML syntax error. A missing quote around a string in
ServerConfig.tomlstops the server rather than being ignored. The log names the line. - An old `Server.cfg` beside the new file. Older BeamMP servers used
Server.cfg; current builds useServerConfig.tomland warn if the old file is still there. The formats are not compatible, so editing the wrong one changes nothing. - A bind error. Codes
10022and10048mean the server could not take its port, usually because another program - often a second BeamMP server - already holds it. Give each server on a machine its own port.
On RE:NODE the console shows the live log, and the file manager opens Server.log and ServerConfig.toml in the browser, so this step is two tabs. If a server is restarting in a loop, game server crash loops covers reading that pattern.
Step 2: auth key failures#
Every BeamMP server, private ones included, needs an auth key from the BeamMP Keymaster at keymaster.beammp.com. The key identifies the server to the backend; without a valid one it does not start or does not register. Auth failures come in a handful of shapes.
- Mistyped or truncated. The key is a long hyphenated string. Copying from a Discord message or a phone often loses a character or adds a trailing space inside the quotes. Paste it fresh from the Keymaster.
- Regenerated or deleted. If you, or someone with your account, regenerated the key in the Keymaster, the old string stops working at once. Every server still holding it fails on next start.
- Shared between two servers. One key per server. Two running servers presenting the same key will not both behave, and the symptom - a server that appears and disappears from the list - is confusing enough that it is worth ruling out early. Keep a test server on its own key.
- Out of keys. Accounts get a limited number of server keys; BeamMP's own FAQ lists supporter perks that add more. If you cannot create a new key, that is why, and the fix is to reuse a key from a server you have retired.
- Leaked. A key posted in a public channel can be used by somebody else's server. Regenerate it in the Keymaster, and if the account itself is compromised, BeamMP handles that through an Account Support ticket on its official Discord.
[General]AuthKey = "paste-the-whole-key-here"Private = falsePort = 30814The key must be inside double quotes, on one line, with nothing else between them. Treat it like a password, for the same reasons as any other secret a server holds - environment variables and secrets makes the general case.
Step 3: the server is up but not in the list#
If the log shows a clean start and the server is still missing from the in-game browser, check in this order.
`Private` is `true`. That setting hides the server from the list and does nothing else. It is not a password. Set it to false, restart, and wait a couple of minutes.
The server cannot reach the backend. Registration is an outbound connection from the server to BeamMP's backend. On a home machine, an outbound firewall rule or security suite blocking BeamMP-Server stops it silently. On a VPS with a default-deny outbound policy, the same. Hosted game panels allow outbound traffic, so this is mostly a self-hosting problem.
You are looking for it from the same network. BeamMP's own FAQ calls this out: joining your own home-hosted server through the list needs NAT loopback on your router, which many home routers do not support. From the PC running the server, use Direct Connect with 127.0.0.1 and the port; from another PC in the house, use the server's LAN address. Your friends outside use the public address. Your own view of the list is the least reliable test you have.
The search is hiding it. The list is long. Search for an unusual word from your server's Name, not a common one like "freeroam". Formatting codes in the name are fine but make it harder to match by eye.
It just started. Give a new or restarted server a couple of minutes before deciding it is missing. If it still is not there and direct connect works, the server is fine for anyone who has the address - hand that out while you sort the listing.
For the general mechanics of how master lists and server browsers work across games, why a server does not show in the server list is the companion piece.
Step 4: ports, protocols and firewalls#
BeamMP needs one port number on two protocols, and both must reach the server.
| Port | Protocol | Carries |
|---|---|---|
30814 | TCP | Join handshake, mod downloads |
30814 | UDP | Vehicle position and state |
If you changed Port in ServerConfig.toml, that number replaces 30814 everywhere below. Valid values are above 1024 and below 65535.
Test the port from outside
BeamMP runs a checker that tries to reach your server from the internet. With the server running, open this in a browser, using your public IPv4 address and port:
https://check.beammp.com/api/v2/beammp/203.0.113.10/30814A status of ok means the port is reachable. An error means the connection failed - a closed port, a firewall, a wrong forward, or no public address at all. BeamMP does not support hosting over IPv6, so use the IPv4 address. A test from the server itself, or from a PC on the same network, proves nothing; the checker exists precisely so you do not have to find a friend on mobile data.
What the launcher error codes mean
Players see Windows socket codes in the launcher when a join fails. They are more useful than they look.
| Code | Meaning | Look at |
|---|---|---|
10060 | Timed out, nothing answered | Forward, firewall, protocol |
10061 | Refused, machine answered, nothing listening | Server down or wrong port |
10038 | Socket operation failed | Firewall, then forward |
10051 / 10065 | Network or host unreachable | Address, forward, routing |
10048 | Port already in use | Another program on that port |
The distinction between 10060 and 10061 is the best clue you get. Refused means packets reached a machine and were rejected, so the address is right and the server is not listening there - wrong port, or the server is not running. Timed out means something dropped the packets on the way.
Opening the port on your own machine
On Windows, allow both protocols inbound. BeamMP's FAQ notes that switching the firewall off entirely usually does not help, so add rules instead:
New-NetFirewallRule -DisplayName "BeamMP TCP" -Direction Inbound ` -Protocol TCP -LocalPort 30814 -Action AllowNew-NetFirewallRule -DisplayName "BeamMP UDP" -Direction Inbound ` -Protocol UDP -LocalPort 30814 -Action AllowOn a Linux VPS with ufw:
$ sudo ufw allow 30814/tcp$ sudo ufw allow 30814/udp$ sudo ufw statusAt home, the router forward needs both protocols too - some routers make you add two separate rules - pointed at the server's LAN address, which should be fixed so it does not change on reboot. No forward will ever work behind CGNAT, and mobile 4G and 5G connections do not support forwarding at all. NAT and CGNAT for game hosts explains how to tell whether your connection has a public address, and the ufw firewall guide covers the VPS side in more depth.
The classic half-open symptom: TCP open, UDP blocked. Players connect, download mods, the map loads, and then every other car is frozen or invisible because the state stream never arrives. If that is what people describe, check the UDP rule specifically.
On a hosted panel
There is no router and no Windows firewall to fight, but there is one equivalent mistake: Port in ServerConfig.toml set to a number that is not allocated to the server. On RE:NODE the allocated port is listed on the Network tab; if the config names any other port, the server listens where nothing routes. Make the two match, restart, and run the checker again. Game server ports explained goes through why allocation matters.
Step 5: version mismatch after a BeamNG update#
A large share of "nobody can join" reports arrive the day BeamNG.drive updates. Three moving parts have to agree: the game, the BeamMP client mod and launcher on each player's PC, and the server build.
- The game updated before BeamMP did. BeamMP has to release a compatible client after a BeamNG update. Until it does, players on the new game version cannot play multiplayer anywhere, and nothing you change on the server fixes it. Check BeamMP's announcements before debugging.
- The server is older than the clients. When BeamMP updates its protocol, an old server build rejects or confuses updated clients. Update the server; it is a small binary, and on a panel it is usually a reinstall or restart with updates enabled. Keep a copy of
ServerConfig.tomlandResources/Serverfirst. - One player is behind. A player whose launcher did not update, or who is on an outdated game, fails while everyone else joins. BeamMP's FAQ is explicit that it does not work with pirated or outdated copies of BeamNG.drive.
- A mod broke with the patch. Vehicle and map mods in
Resources/Clientbreak with BeamNG updates regularly. The server starts, players join, and then crash or hang on load. Move the mod folder aside and start clean to prove it.
Do not update a working server on an evening when people are waiting to drive. The habits in the game server update day checklist apply here unchanged.
Step 6: mod downloads that stall or never finish#
When a player joins, the server sends every .zip in Resources/Client over TCP before they can drive. That transfer is where most "stuck on loading" reports come from.
- The pack is too big. A several-gigabyte pack over the server's uplink, divided among several people joining at once, takes minutes. Players assume it has hung and quit, which restarts the download next time. Trim the pack, and state its size in your Discord so people know to wait.
- One corrupt zip. A file truncated during upload is sent faithfully to every player and fails to load on all of them. Re-upload over SFTP rather than a flaky browser upload; compare file sizes with the original.
- Things in `Resources/Client` that are not mods. Only mod zips belong there. Lua plugins go in
Resources/Server, which is never sent to clients; a plugin dropped in the wrong folder is pushed to every player as if it were a mod. - A wrong map path. If
Mappoints at a level folder that does not exist inside any installed map or mod zip, the server starts and players load into nothing useful. Open the map zip and read the folder name underlevels/. - A bad file in the player's cache. The launcher caches downloaded server mods in a
Resourcesfolder inside its own install directory. If one player hangs on a mod that loads for everybody else, have them close the game and launcher and delete thatResourcesfolder; it refills on next join. - The player's own mods. Third-party mods installed locally can interfere with BeamMP. BeamMP's documented clean-slate method is to close the game and rename the
currentfolder in the BeamNG userfolder to something likecurrent_old, which gives a fresh profile and keeps the old one to move back.
Upload large packs with a proper client - SFTP and the file manager has the details - and test a join yourself with an empty cache after every mod change.
Step 7: the player's launcher and PC#
When the server checks out and one player still cannot join, the fault is on their side. BeamMP's client is two pieces: the BeamMP launcher, and a mod inside BeamNG.drive that talks to it over a local port on the same PC.
- The game was started on its own. Multiplayer needs the launcher running; start the game through
BeamMP-Launcher, not from Steam directly. - Antivirus removed or blocked the launcher. Because it talks to the network, security software sometimes quarantines it. BeamMP's FAQ addresses this and documents adding a Windows Defender exclusion. If the launcher vanishes after a download, check quarantine.
- The launcher's local port is taken. The game and launcher talk over port
4444on the player's own machine by default. If another program holds it, the launcher shows a bind error such as10013or10048and the game never connects. Change it in two places so they match: in BeamNG, Options, Multiplayer, show advanced options, Launcher port; then thePortvalue inlauncher.cfgbeside the launcher. Any number from about 2000 up works. - A VPN, school or hotel network. VPNs cause trouble with BeamMP and restrictive networks often drop UDP. Have the player test on another connection.
- Guest accounts. With
AllowGuests = false, players without a BeamMP account are refused. That is deliberate on most servers; tell them to sign in. - The server is full.
MaxPlayersreached. Obvious in hindsight, rarely obvious from "it won't let me in at 9pm".
The Linux client is not officially supported, so a player on Linux hitting launcher errors is outside what BeamMP itself will help with.
FAQ#
Why can I join my BeamMP server by IP but not see it in the list?
Because joining and listing are separate. Direct connect proves the port is open; the list depends on the server registering with the backend using its auth key and on Private being false. If you are on the same home network as the server, you may also simply be unable to use the list for it without NAT loopback.
Does BeamMP need TCP or UDP?
Both, on the same port number - 30814 unless you changed it. TCP carries the join and mod downloads; UDP carries vehicle state. With only TCP open, players load in but other cars freeze or never appear.
Can I run two BeamMP servers on one key?
No. Each server needs its own key from the Keymaster. Reusing one causes servers to fail to register or flicker in the list, and the cure is a second key or retiring the first server.
Players are stuck downloading mods. Is the server too small?
Rarely. The server is light on CPU and memory; the download is limited by the uplink, the pack size and how many people join at once. Shrink the pack first. If one player is stuck and others are not, clear that player's launcher Resources cache.
Do players need to open ports to join?
No. Players connect outbound. The only port a player might change is the launcher's local port 4444, and only when another program on their PC is already using it.
Everyone failed to join right after a BeamNG update. What do we do?
Wait for BeamMP to release a client update for the new game version, then update the server build and check your client mods. Until BeamMP catches up, multiplayer does not work for anyone on the new version, on any server.


