BeamMP (BeamNG)How to Create a BeamNG Server with BeamMP — Step-by-Step Guide
Launch a multiplayer BeamNG server with BeamMP in under 30 min. Installation, configuration and VPS hosting explained step by step.
TL;DR
BeamMP is the unofficial multiplayer mod that lets you play BeamNG.drive with other players. You can create your own server in about 20 minutes: download BeamMP Server, generate a key on beammp.com, edit ServerConfig.toml, open TCP/UDP ports 30814, and launch. This guide covers Windows and Linux.
What is BeamMP and why create your own server?
BeamNG.drive is a driving simulator renowned for its realistic physics engine (body deformation, suspension simulation, vehicle dynamics). Originally, the game is strictly single-player: no multiplayer mode is built in by Valve or BeamNG GmbH.
BeamMP fills that gap. Developed by the community since 2020, this mod adds a true multiplayer mode to BeamNG: synchronization of vehicles, damage, collisions, chat and even weather. Compatible with nearly all vehicle mods from the original game.
Why create your own server rather than joining a public one?
- Full control over the player list, mods and map
- Private sessions with friends, no intruders
- Custom server mods to add scripts, rules or events
- Optimal performance: you pick the machine, not an overloaded host
- No queue: your server, your rules
Prerequisites before getting started
Before you dive in, make sure you have the technical minimum:
- Operating system: Windows 10/11 or Linux (Ubuntu 20.04+, Debian 11+, Arch)
- Minimum RAM: 2 GB free for 4 players, 4 GB for 8 players, 8 GB for 16 players
- CPU: 1 recent core (Ryzen or Intel 10th gen+) per group of 4 players
- Storage: 500 MB for the server, +500 MB to 5 GB depending on installed mods
- Connection: minimum 5 Mbps upload per group of 4 players
- Ports: 30814 TCP AND UDP open (configurable)
- No Java needed: BeamMP Server is a native C++ binary
You'll also need an account on beammp.com to generate an auth key (free, 2 min). And of course, the BeamNG.drive game installed on Steam on the client side (~€25).
Keep in mind: hosting quality matters more than RAM amount. A bad CPU = lag for everyone, even with 32 GB of RAM available.
Step 1: Download and install BeamMP Server
Head to the official download page: https://beammp.com/server. You'll find the binaries for Windows and Linux.
On Windows
- Download BeamMP-Server.exe (Windows x64 version)
- Create a dedicated folder, e.g.
C:\BeamMP-Server\ - Place the executable in this folder
- Run
BeamMP-Server.exefor the first time by double-clicking: a ServerConfig.toml file and a Resources/ folder are created automatically - Close the window (CTRL+C in the console) — the server won't start without an auth key
The file structure after the first launch:
C:\BeamMP-Server\
├── BeamMP-Server.exe
├── ServerConfig.toml
├── Server.log
└── Resources/
├── Client/
└── Server/
On Linux (Debian/Ubuntu)
# Install dependencies
sudo apt update
sudo apt install -y wget curl libssl3 zlib1g
# Create server folder
mkdir -p ~/beammp-server
cd ~/beammp-server
# Download the binary
wget https://github.com/BeamMP/BeamMP-Server/releases/latest/download/BeamMP-Server.debian.bookworm
mv BeamMP-Server.debian.bookworm BeamMP-Server
chmod +x BeamMP-Server
# Initial launch to generate the config
./BeamMP-Server
# Stop with CTRL+C
On Arch or other distributions, download the matching version from the BeamMP-Server GitHub releases.
Important: never run the server as root (
sudo). Create a dedicatedbeammpuser for security reasons.
Step 2: Get a BeamMP auth key
The server needs an AuthKey to communicate with BeamMP's master servers. Without a valid key, it refuses to start.
- Go to https://beammp.com and click "Login" at the top right
- Log in with your account (created in 30 seconds if you don't have one)
- Access "My Servers" from the user menu
- Click "Create new key"
- Name your key (e.g.:
My-personal-server) and confirm - Copy the generated key (format: long alphanumeric string)
Now open the ServerConfig.toml file in a text editor (Notepad++, VS Code, nano on Linux). Find the line:
AuthKey = ""
And paste your key between the quotes:
AuthKey = "your-generated-key-here-xxxxxxxxxxxxxxxxxxxxxx"
Save the file. Never share this key: it's tied to your beammp.com account and is used to identify your server on the public list.
One key per server: if you host multiple BeamMP servers, generate a different key for each. Otherwise they'll conflict in the public list.
Step 3: Configure ServerConfig.toml
The ServerConfig.toml file contains all your server's settings. Here are the main ones to know:
| Setting | Default value | Description |
|---|---|---|
| Name | "BeamMP Server" | Name shown in the public list. Capped at 64 characters. |
| Port | 30814 | Listening port (TCP and UDP). Change it if you host multiple servers. |
| AuthKey | "" | Key obtained on beammp.com. Required. |
| MaxPlayers | 8 | Maximum players (1 to 20). Beyond that = critical perf. |
| MaxCars | 1 | Cars per player. Use 2 or 3 for drift attempts / convoys. |
| Map | /levels/gridmap_v2/info.json | Default spawn map. See list below. |
| Description | "BeamMP Default Description" | Text shown on the server card. Markdown supported. |
| Tags | "Freeroam" | Tags for search (comma-separated). |
| Password | "" | Access password. Leave empty for an open server. |
| Private | false | true = server hidden from public list. |
| Debug | false | Enables detailed logs. Set to true when troubleshooting. |
| ResourceFolder | "Resources" | Mods folder name. Don't change without reason. |
Available official maps
| Map | Path |
|---|---|
| Gridmap v2 (default) | /levels/gridmap_v2/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 |
| Utah | /levels/utah/info.json |
| East Coast USA | /levels/east_coast_usa/info.json |
| Automation Test Track | /levels/automation_test_track/info.json |
| Industrial | /levels/industrial/info.json |
| Small Island | /levels/small_island/info.json |
Full example configuration
[General]
Name = "[EN] My Casual RP Server - Drift Italy"
Port = 30814
AuthKey = "my-key-xxxxxxxxxxxxxxxxxxxxxx"
MaxPlayers = 12
MaxCars = 2
Map = "/levels/italy/info.json"
Description = "English-speaking server, fun atmosphere, drift and cruising. Discord.gg/example"
Tags = "Freeroam,Drift,English,Italy"
Password = ""
Private = false
Debug = false
ResourceFolder = "Resources"
Save the file. Every change requires a server restart to take effect.
Step 4: Open the ports and launch the server
This is the step where most beginners get stuck. The BeamMP server needs TCP 30814 and UDP 30814 to be accessible from the Internet.
Case 1: hosting on a VPS
Good news: most VPS providers (including Lordhosting) don't block ports by default. You can go straight to the launch command.
If your Linux VPS uses ufw (Ubuntu) or firewalld (CentOS):
# Ubuntu/Debian
sudo ufw allow 30814/tcp
sudo ufw allow 30814/udp
sudo ufw reload
# CentOS/RHEL
sudo firewall-cmd --permanent --add-port=30814/tcp
sudo firewall-cmd --permanent --add-port=30814/udp
sudo firewall-cmd --reload
Case 2: hosting at home (internet router)
You need to set up port forwarding on your router:
- Log into your router's interface (usually
192.168.1.1or192.168.0.1) - Look for the section "NAT", "Port forwarding" or "Virtual server"
- Create 2 rules:
- External port 30814 TCP → local IP of your machine, port 30814
- External port 30814 UDP → local IP of your machine, port 30814
- Save and reboot the router
On Windows, also open the ports in Windows Defender Firewall:
New-NetFirewallRule -DisplayName "BeamMP TCP" -Direction Inbound -Protocol TCP -LocalPort 30814 -Action Allow
New-NetFirewallRule -DisplayName "BeamMP UDP" -Direction Inbound -Protocol UDP -LocalPort 30814 -Action Allow
Launch the server
On Windows: double-click BeamMP-Server.exe. A console opens. If everything is fine, you'll see:
[INFO] BeamMP-Server vX.X.X
[INFO] Loaded ServerConfig.toml
[INFO] Server registered on backend
[INFO] Listening on 0.0.0.0:30814
On Linux:
cd ~/beammp-server
./BeamMP-Server
For a persistent background launch (Linux), use screen or systemd (recommended in production).
Verify the connection
Launch BeamNG.drive on your PC, go to "Multiplayer" → "Direct Connect", enter your server's public IP (or 127.0.0.1 if testing locally) and port 30814. You should connect.
Step 5: Add mods and customize the map
BeamMP supports two types of mods:
Client-side mods (Resources/Client/)
These are mods automatically sent to players who join your server. Ideal for custom vehicles, custom maps, skin packs.
- Download the mod (
.zipfile) from mods.beamng.com or the BeamNG Workshop - Place the
.zipas is (without extracting it) inResources/Client/ - Restart the server
- Players will automatically download the mod when they connect
Limit to respect: 250 MB cumulative of Client mods maximum to avoid making player connection time excessively long.
Server mods (Resources/Server/)
Lua scripts that add server-side features: role system, automatic events, economy, custom anti-cheat, etc.
Expected structure:
Resources/Server/
└── MyScript/
├── main.lua
└── resources/
The server automatically loads all Lua scripts found in Resources/Server/ at startup. The full server API documentation is available at docs.beammp.com.
Change the map during a game
Edit ServerConfig.toml, change the Map = ... line and restart. All players will be disconnected while the map changes (about 30 seconds).
Hosting your BeamMP server on a Lordhosting VPS
Running BeamMP from home works for tests between friends, but for a serious server that needs to stay accessible 24/7, a dedicated VPS is the only real solution. Here's why:
- 24/7 uptime: your server stays joinable even with your PC off
- Fixed public IP: no need to redistribute the IP at every router outage
- Symmetric bandwidth: unlimited upload, unlike a residential router
- Dedicated CPU: no competition with your browser, Discord or your own play sessions
- No router configuration: ports already open, firewall pre-configured
- Anti-DDoS: your server stays online even during an attack
At Lordhosting, we offer Ryzen VPS perfectly suited to BeamMP: high single-thread performance (the mod is single-threaded for most calculations), ultra-fast NVMe for map loading, and 1 Gbps symmetric included.
Recommended configuration based on player count:
| Players | RAM | vCPU | Lordhosting plan |
|---|---|---|---|
| 4 players | 2 GB | 1 vCPU | VPS Ryzen S |
| 8 players | 4 GB | 2 vCPU | VPS Ryzen M |
| 16 players | 8 GB | 4 vCPU | VPS Ryzen L |
| 20+ players | 16 GB | 6 vCPU | VPS Ryzen XL |
Discover our BeamMP hosting plans → — Turn-key BeamMP server with Pterodactyl panel, anti-DDoS included, from €6.99/month.
FAQ
The answers to the most common questions about creating a BeamMP server are at the top of this page (FAQ box). If a question is missing, contact Lordhosting support via Discord or email.
Useful sources
- BeamMP — official website: server download and key generation
- BeamMP Server GitHub: source code, releases and issues
- BeamMP Documentation: full technical doc, server API, Lua examples
- BeamNG.drive Steam: Steam page of the base game (required to play)
- Official BeamNG mods: catalog of vehicles, maps and scenarios compatible with BeamMP

