Host a
server
A BeamOnline server is one small program. It doesn't need BeamNG.drive or a graphics card: it passes what each player's game sends to the others. A cheap Linux VPS runs it all day; a Windows PC works too.
- Players connect on
- UDP port
47800(you can choose another). - Resources
- One CPU core and 256 MB of memory are plenty for a few dozen players.
- Upload
- Roughly 3.6 Mbit/s for 8 players driving one car each at the default 50 updates a second (2.2 at 30).
Get a VPS
Any 64-bit Linux server with systemd works; Ubuntu or Debian are the easiest. The cheapest plan is enough. Pick a location close to your players: the public list shows it as a flag. Note the VPS's IP address and its root (or sudo) login.
Get the installer
It's one file, beamonline-server-install.sh. It carries everything it needs and
checks itself before it runs.
powershell -ExecutionPolicy Bypass -File tools\make-linux-installer.ps1
It's written to build\dist\.
Upload it
From the folder the file is in on your PC. Put your VPS's address instead of YOUR_VPS_IP.
(Prefer clicking? WinSCP or your provider's file upload do the same.)
scp beamonline-server-install.sh root@YOUR_VPS_IP:~
Connect to the VPS
ssh root@YOUR_VPS_IP
Everything from here on is typed on the VPS.
Run the installer
sudo bash beamonline-server-install.sh
It shows its steps as it goes ([1/7] Getting ready …). It installs what it needs,
builds the server (a few minutes; small VPSes get temporary extra memory), creates its own user, and
asks the setup questions below.
Answer the setup questions
Press Enter to keep the value in [brackets].
| Question | What to answer |
|---|---|
| Server name | What players see in the list. |
| Map | A number from the list, or a mod map's folder name. Everyone joins on this map. |
| Who can join? | 2 (other computers). On a VPS, always 2. |
| UDP port | Enter keeps 47800. |
| Most players / cars each | Your limits (up to 64 players, 10 cars each). |
| Updates per second | 30, 50 or 60. Enter keeps 50. More is smoother but uses more upload. |
| Password | Empty for an open server. Only a scrambled (hashed) copy is saved. |
| List it publicly? (Y/N) | Y to show up in every player's Public tab. |
When it's done, it starts the server, makes it start again after a reboot, and opens the port in the VPS's own firewall.
Open the port at your provider
Many providers also have a firewall in their web panel (“firewall”, “security group”, “network rules”). Allow UDP 47800 there, incoming. If your provider has no such panel, skip this.
Check it's running
beamonline status
“The server is running.” If you answered Y to the public list, the log shows
public server list: listed as … within a minute, and your server is in everyone's
Public tab.
Go public later Optional
Said N at setup? Turn the public list on (or off) any time:
beamonline public on
Not listed? beamonline logs says why. It's almost always the port in step 7.
Your server is live.
Friends find it in the Public tab, or add it with your VPS's address: YOUR_VPS_IP:47800.
Everyday commands
Type these on the VPS. They ask for your password when they need to.
| Command | What it does |
|---|---|
beamonline restart | Restart the server, for example after changing settings. |
beamonline stop · beamonline start | Stop it (players are told) or start it. |
beamonline status | Whether it's running, and its latest log lines. |
beamonline logs | Watch the log live. Ctrl+C stops watching, not the server. |
beamonline settings | Edit the settings file (each setting says what it does). It's checked, then the server restarts. |
beamonline setup | Answer the setup questions again. |
beamonline version | Which version is installed. |
beamonline public on · off | Show it in the public list, or not. |
beamonline help | All of these. |
beamonline update
sudo bash beamonline-server-install.sh --uninstall
Good for playing with friends. Your PC has to stay on while people play, and players over the internet need a port forwarded in your router. For a server that's always up, a Linux VPS is easier.
Get the server
A zip with beamonline-server.exe, an example settings file and a guide.
powershell -ExecutionPolicy Bypass -File tools\make-server-zip.ps1
Unzip it into a folder of its own, for example C:\BeamOnlineServer, so that
beamonline-server.exe is in it.
Set it up
cd C:\BeamOnlineServer .\beamonline-server.exe init
The same questions as on Linux: name, map, who can join (2 for other computers), port,
limits, an optional password, and whether to list it publicly. It writes server.toml and
tells you what to give your players.
Open the firewall
In PowerShell as administrator (right-click PowerShell → Run as administrator). Use your port if you changed it.
New-NetFirewallRule -DisplayName "BeamOnline server" -Direction Inbound -Protocol UDP -LocalPort 47800 -Action Allow
Forward the port For players over the internet
In your router's settings (“port forwarding”, “virtual server” or “NAT”), forward UDP
47800 to this PC's address on your home network. The setup showed it, for example
192.168.1.20. Friends on the same Wi-Fi don't need this.
Some internet providers share one public address between customers (CGNAT); then port forwarding can't work, and a Linux VPS is the way.
Start it
.\beamonline-server.exe
Leave the window open while people play. Type help in it for the admin commands:
players, kick, ban, say, stop.
stop or Ctrl+C closes it cleanly, and players are told.
Your server is up.
Friends add it with your address and port, for example 203.0.113.10:47800 (your public
address is what a “what is my IP” search shows), or find it in the Public tab if you listed it.
