For a private BeamNG.drive group, start with a vanilla map, Private = true, a player cap that matches your actual group, and a conservative MaxCars value. The current BeamMP server uses ServerConfig.toml; the old Server.cfg format is no longer compatible. You must also forward the chosen port for both TCP and UDP and permit the server through your firewall. A practical starting point is eight players, two cars per player, the default Gridmap, and debugging disabled until a connection problem appears.
This guide explains every important setting, shows a complete private-group configuration, covers home, VPS and managed hosting choices, and gives a troubleshooting path for the problems that stop friends from joining.
What is the best BeamMP configuration for a private group?
The best baseline is a small, invite-only server with a valid AuthKey, Private = true, a map everyone can load, and limits based on your real group rather than an optimistic maximum. Use this configuration as a starting point:
[General]
Port = 30814
AuthKey = "YOUR-AUTH-KEY"
AllowGuests = false
LogChat = false
Debug = false
IP = "0.0.0.0"
Private = true
InformationPacket = true
Name = "Your Group Server"
Tags = "Freeroam,Racing"
MaxCars = 2
MaxPlayers = 8
Map = "/levels/gridmap_v2/info.json"
Description = "Private BeamNG group server"
ResourceFolder = "Resources"
The values for eight players and two cars are editorial starting points, not guaranteed capacity figures. Increase either limit only after watching server logs, CPU, memory, upload bandwidth and the driving experience for every participant.
What each baseline value does
| Setting | Purpose | Starting choice | Important qualification |
|---|---|---|---|
Port |
TCP and UDP listening port | 30814 |
Any unused port from 1024 through 65535 is valid. |
AuthKey |
Authenticates the server with BeamMP services | Your Keymaster key | Treat it as a password; never publish it. |
AllowGuests |
Controls guest access | false |
Use true only when unauthenticated guest access is intentional. |
LogChat |
Writes chat messages to Server.log |
false |
Enable for moderation or troubleshooting, remembering that it stores chat. |
Debug |
Produces additional diagnostic logging | false |
Turn it on temporarily; it greatly increases log size. |
IP |
Address to which the server binds | 0.0.0.0 |
Leave the default unless you deliberately need a specific interface. |
Private |
Controls public-list visibility | true |
It hides the listing but does not authenticate direct connections. |
MaxPlayers |
Simultaneous player cap | 8 |
Must be at least 1 and should match your group size. |
MaxCars |
Cars permitted per player | 2 |
Must be at least 1; cars beyond the limit are deleted immediately. |
Map |
Map information file loaded at startup | /levels/gridmap_v2/info.json |
The path must refer to an installed map. |
Which configuration file does BeamMP use?
BeamMP reads ServerConfig.toml. TOML syntax is case-sensitive in practice for the documented keys, so edit the generated names rather than inventing alternatives. The former Server.cfg format is not compatible with current BeamMP server builds.
How do I create the file?
- Download the BeamMP-Server build for Windows or Linux and place it in a dedicated folder.
- Run the executable once. The first launch creates
ServerConfig.toml,Server.log, and theResourcesdirectory. - Stop the process, open
ServerConfig.tomlin a plain-text editor, and replace the generated values with your choices. - Save as UTF-8 text with the exact
.tomlextension, then start the server again.
On Linux, run the binary under a dedicated non-root service account. This limits the damage a faulty plugin or compromised process could cause and makes service management easier.
How should I set AuthKey, privacy and guest access?
Get an AuthKey from BeamMP Keymaster and place it in the AuthKey field. BeamMP requires the key for public server-list access, recommends configuring one even on private servers, and allows one key to be used by only one running server at a time.
Why must the key stay secret?
The key identifies your server to BeamMP services. Do not paste it into screenshots, chat, support posts or public repositories; if you show a configuration image, blur the entire value. If the key is exposed, replace it in Keymaster and update the server file before restarting.
What does Private = true actually protect?
Private = true removes the server from public-list discovery. It does not create a password gate: anyone who learns the correct public IP address and port can still attempt a direct connection. Treat it as obscurity for an invite-only group, not as authentication.
Set Private = false when you want the server discoverable in the public list. A valid AuthKey is still required for that mode. For a closed group, keep the server private, distribute the address only to members, and use a sensible MaxPlayers cap.
How do I install and launch a BeamMP server?
- Choose Windows or Linux and download the matching BeamMP-Server build.
- Create a separate directory for the server rather than mixing it with your game installation or unrelated services.
- Launch it once to generate the configuration, log and resource folders.
- Acquire your AuthKey, stop the server, and edit
ServerConfig.toml. - Choose an unused port, set the map and limits, and save the file.
- Start the server and inspect
Server.logfor binding, map-loading and plugin errors.
The generated resource tree includes Resources/Client and Resources/Server. If those folders are absent before the first run, starting the binary normally creates them.
Which ports and firewall rules are required?
Forward the configured port on your router for both TCP and UDP. Port 30814 is the common documented example, but you may choose any unused value in the valid range and must use the same value in the router, firewall, server configuration and connection dialog.
Home-router checklist
- Give the host computer a stable LAN address, preferably with a DHCP reservation.
- Create one port-forwarding rule for the selected port using TCP and another using UDP, or one combined TCP/UDP rule if your router supports it.
- Allow BeamMP-Server through the operating-system firewall for inbound and outbound traffic on both protocols.
- Keep the router firewall enabled; disabling it is not the documented fix for connection failures.
- Check that your internet service provides a reachable public IPv4 address.
Carrier-grade NAT (CGNAT) and many mobile-internet plans do not provide a forwardable public address. In that situation, a correct local rule can still be unreachable from the internet; use a VPS or managed host instead of repeatedly changing firewall settings.
How do players connect to the server?
The correct address depends on where the player is located.
| Player location | Address to enter | Why |
|---|---|---|
| The host computer itself | 127.0.0.1 and the configured port |
Loopback reaches the local server without leaving the machine. |
| Another device on the same LAN | The host’s private LAN address and port | Local traffic should use the router-assigned address, not the public address. |
| Friend on the internet | The host’s public IPv4 address and port | The router forwards that traffic to the server computer. |
If local players can join but internet friends cannot, the server itself is probably running; investigate the public address, CGNAT status, port forwarding and firewall path.
How many players and cars should I allow?
MaxPlayers limits simultaneous players. MaxCars limits cars per player, and cars spawned above that limit are deleted immediately. These controls protect a small server from an unexpectedly heavy vehicle load, but they are not performance guarantees.
Choosing a player cap
Set the cap slightly above your normal attendance only if the host has headroom. An eight-person cap is a reasonable small-group example; a larger community needs its own observation-based limit. A cap higher than the available upload bandwidth or CPU capacity simply lets more people encounter lag.
Choosing a car cap
Start at two cars per player. Raise it only after testing the actual map, vehicle mix and mod set. A high per-player allowance multiplies physics and synchronization work, so reducing MaxCars is often the fastest way to stabilize a struggling session.
What hardware and bandwidth does BeamMP require?
BeamMP’s published minimum guidance is modest, but it is not a promise that every map, mod collection or player count will perform identically.
| Resource | Published guidance | How to interpret it |
|---|---|---|
| Memory | More than 50 MiB usable RAM, excluding operating-system overhead | Reserve additional memory for the OS, plugins, logs and your chosen workload. |
| CPU | Above 1 GHz, preferably multicore | Physics-heavy sessions and larger groups benefit from more cores and headroom. |
| Storage | 10 MiB plus mods and plugins | Actual use grows with every client archive, server plugin and accumulated log. |
| Upload bandwidth | 5–10 Mb/s | This is minimum guidance; busy modded sessions can need more margin. |
| Port | 1024–65535 | The chosen value must be unused and consistently configured everywhere. |
Monitor the host while a full group drives. If CPU saturation, memory pressure, upload saturation or large latency spikes appear, lower MaxPlayers or MaxCars before adding more content.
Where do I put BeamMP map and vehicle mods?
Put client vehicle and map ZIP archives in Resources/Client. Clients download those archives when they join, so every participant receives the same content from the server.
How do I add a vehicle or ordinary map mod?
- Stop the server before changing the collection.
- Copy the mod’s ZIP file, without extracting it unless its instructions specifically require otherwise, into
Resources/Client. - Start the server and watch the log for loading errors.
- Have clients reconnect so their local files can download or update.
Do not install a vanilla map as a mod; it is already part of the game. Keep ZIP names stable so updates replace the intended file rather than leaving duplicates.
How do I configure a modded map?
- Open the map archive and inspect the directory beneath
levels. - Copy the exact folder name, preserving spelling and capitalization.
- Place the archive in
Resources/Client. - Set
Mapto/levels/MAPNAME/info.json, replacingMAPNAMEwith that folder name. - Restart and confirm in
Server.logthat the information file loads.
A typo in the folder name or an archive with an extra top-level directory is a common reason for a map-loading failure.
How do server and client resources behave after startup?
Client ZIP files are loaded when the server starts, so restart after adding, removing or replacing one. Lua files in server plugins can hot-reload when changed, which is useful for development and quick fixes; still check the log after editing because a syntax error can disable a plugin.
Keep server-side plugins in Resources/Server and client-distributed content in Resources/Client. Separating the two prevents a server-only script from being sent to every player and makes backups easier.
Can I configure BeamMP with environment variables?
Yes. In containers and hosting panels, variables beginning with BEAMMP_ override values in the General section of ServerConfig.toml. Useful mappings include:
| Environment variable | Overrides |
|---|---|
BEAMMP_PORT |
Port |
BEAMMP_MAX_PLAYERS |
MaxPlayers |
BEAMMP_MAX_CARS |
MaxCars |
BEAMMP_MAP |
Map |
BEAMMP_PRIVATE |
Private |
BEAMMP_NAME |
Name |
BEAMMP_AUTH_KEY |
AuthKey |
When a panel supplies both a TOML editor and environment fields, check which source has precedence before troubleshooting a value that appears to “revert.” Keep secrets out of publicly readable panel templates and image captures.
Should I host at home, use a VPS or rent managed hosting?
All three approaches can run a BeamMP server. The right choice depends on whether you value control, simplicity or avoiding home-network exposure.
| Option | Setup effort | Router and firewall exposure | File and plugin control | Recurring cost and maintenance |
|---|---|---|---|---|
| Home computer | Moderate: install software, forward ports and maintain the machine | Your home address and router must accept inbound traffic; CGNAT can block it | Full control | No separate hosting bill, but you handle power, uptime, backups and updates |
| VPS | Moderate to high, especially on Linux | No home-router forwarding; configure the VPS firewall and networking | Full control over files, plugins and services | Recurring provider charge; you perform operating-system and server maintenance |
| Managed game-server host | Lowest: a control panel usually handles deployment and networking | Provider handles the underlying network | Depends on the panel and plan | Recurring charge; the provider typically handles platform upkeep, while you manage settings and content |
BeamMP documents both home and VPS routes and lists partnered hosting services, but current prices, inventory and program terms change. Verify those details directly before committing. A VPS is a good fit for an administrator comfortable with Linux; managed hosting is usually easier when the group wants to play rather than maintain infrastructure.
Why can’t my friends connect?
Work through the failure from the server outward instead of changing several settings at once.
The server does not start
- Confirm the executable matches the host operating system and has permission to run.
- Check that
ServerConfig.tomlis valid TOML and that the map path points to an installed map. - Look for a port conflict; choose another unused value between 1024 and 65535 if necessary.
- Temporarily set
Debug = true, reproduce the failure, readServer.log, then return it tofalseto avoid oversized logs.
The host can join, but internet friends cannot
- Verify that the friend is using the public IPv4 address, not
127.0.0.1or the host’s private LAN address. - Confirm the same port appears in the TOML file, router rule and firewall exception.
- Check both TCP and UDP forwarding and allow the server in both firewall directions.
- Determine whether the ISP uses CGNAT or a mobile connection that cannot accept inbound forwarding.
Players connect and are then removed or see missing content
- Compare the server’s
MaxPlayersandMaxCarsvalues with the group’s actual activity. - Ensure every client ZIP is in
Resources/Clientand restart after changing it. - For a map, verify the exact
/levels/MAPNAME/info.jsonpath and the archive’s internal folder structure. - Read the log for a failed download, malformed ZIP or plugin error before adding more mods.
Which operating practices keep a group server reliable?
- Back up
ServerConfig.toml, theResourcesfolders and any service or panel settings before changing mods. - Keep the AuthKey out of backups that are uploaded publicly; store secret copies with restricted permissions.
- Change one setting or mod at a time, restart, and check the log so you can identify the change that caused a regression.
- Use
LogChat = trueonly when moderation or diagnosis requires a chat record. - Leave
Debug = falsefor normal play and rotate or archive large logs. - Test a new map or plugin with a small player cap before inviting the full group.
Frequently Asked Questions
Can I run two BeamMP servers on one computer?
Yes, provided each process has its own server directory, listens on a different unused port, and uses a separate AuthKey because one key is limited to one running server. Give each instance its own resources and log files so content changes do not collide.
How do I change the server port without breaking existing invites?
Stop the server, edit the Port value, change the router and firewall rules to the same number, then restart. Every direct-connect address must include the new port, so send the updated address to group members.
What should I do before removing a mod?
Stop the server and make a copy of the current resource folder and configuration. Remove the archive, start the server, and have clients reconnect; keeping the backup lets you restore the previous session if the map or plugin depended on that file.
Does a private server need an AuthKey if nobody can see it in the list?
Configure one anyway. Privacy only removes list discovery, while the key is still part of the supported server identity and is required if you later switch to public listing.