Making a server for BeamMP is very easy and free!
Servers are an integral part of BeamMP; players are connected to each other through the server. They run natively on Windows and Linux.
You can make private servers, which only people you invite can join, or public servers, which will show in our official server list.
Getting a server up and running is a process with a few steps! It's quite easy, but if you run into any issues, feel free to ask on our Forum or on our Discord server in the #server-support
channel. Also refer to the Server Maintenance section for more info.
Please make sure to read the LICENSE of the server before use.
Note: The server only supports IPv4. If you don't know which one you have, look at the IP address you see on whatsmyip.org - if it contains :
colons, it's IPv6. In that case, you should investigate further whether you also have an IPv4. You can call your ISP to find this out, or ask someone who lives with you (if they're tech-savvy, they might know!). IPv6 support is planned.
Setup consists of a few steps, you should follow all of them.
If you are on a VPS (Virtual Private Server) or Rootserver, you can usually skip this step. If you're unsure about what a VPS or Rootserver is, you aren't on one.
This step is necessary if you want someone outside of your household to join ("outside of your local network").
This step is the same for almost every game's server, such as Minecraft Servers, so you can find many tutorials online for this, even for your specific router model. A good full guide is this tutorial. Make sure you forward port 30814, as TCP and UDP.
While the default Port you want to “forward” is 30814, you can choose any other number >1024, but you need to note down what you picked if it's not 30814. You need to forward both TCP and UDP.
If you have issues, also feel free to ask on our Forum or on our Discord server in the #server-support
channel.
Depending on your setup, you may need to let BeamMP-Server through your firewall. This is the case on Windows (turning the firewall off does not work usually), and on a lot of preinstalled Linux servers.
There, just like with the port forwarding, you want to allow the BeamMP-Server through the firewall, both incoming and outgoing connections, and both TCP and UDP. If your firewall asks for a port instead, that will have to be the same port you used in step “1. Port Forwarding” (usually 30814).
The “Authentication Key”, often called “AuthKey”, is necessary for making a public server, but should be done for private servers, too.
You will need a Discord account for this step. This is necessary to prevent spam.
To get your key, head to the Keymaster, click on "Keys” on the left (key symbol) and then click on the blue 'here' text.
Next, fill out the Server Name field (this is just the key name not the actual name of the server on the list). Example:
It should, in the end, look something like this:
Ignore the IP field as it doesn't do anything.
DO NOT EVER SHARE THIS KEY OR SHOW IT TO ANYONE. TREAT THIS LIKE A PASSWORD.
You have a limited number of keys. One key can be used on one server at a time, so you cannot start two servers at the same time with the same key.
Now copy the text in the “Key” field, in this example that is 3173a2e-6az0-4542-a3p0-ddqq5ff95558
and hold onto it for the next step.
The BeamMP-Server is available for Windows and Linux. The next two sections are dedicated to Windows and Linux each.
For the Linux installation, see the next step.
Please ensure you have port-forwarded before attempting to host a server! Without you ports being forwarded, you cannot host a server to the public!
BeamMP-Server.exe
.BeamMP-Server.exe
there. This is where your server will live.Server.log
file and a ServerConfig.toml
file next to your BeamMP-Server.exe
.BeamMP-Server.exe
using [Right click] > Send to > Desktop (create shortcut).Now proceed to the next step.
Skip this if you did “Installation on Windows”.
This step will work on all distributions we provide binaries for here. If you're on a different distribution or architecture, refer to the "Building from source” step below.
BeamMP-Server-xxx
from now on, where xxx
denotes the version for the distro you're using.BeamMP-Server-xxx
, among others which you can ignore for now. Make a folder somewhere and put the BeamMP-Server-xxx
there. This is where your server will live.BeamMP-Server-xxx
in, and run chmod +x BeamMP-Server-xxx
. This ensures that you have permissions to run it../BeamMP-Server-xxx
. This will generate all the necessary files for you, once you see text you can close it and proceed to the next step. You should see a Server.log
file and a ServerConfig.toml
file next to your BeamMP-Server-xxx
.beammpserver
(or similar), as we do NOT recommend running the server as root, sudo or with your personal user account. You should then take steps to make sure that you start the server as this user only.Now proceed to the next step.
Other distributions in addition to the ones that already have a binary here are likely to work too, but aren't officially supported. If you want to build it yourself you can do it by downloading the source on our GitHub, a tutorial can be found here.
At the end, make sure to run your server once with ./BeamMP-Server
and then proceed to the next step.
Now that you ran the server once, it should have created some files and probably uttered an error or two. This is because we are not yet done. Your folder should have these files:
They might be called “ServerConfig”, “Server” and “BeamMP-Server” (no extensions like “.exe”), but that's correct, too!
Open the ServerConfig.toml
with a text editor such as Notepad
. You can do this with [Right Click] → “Open With…” and then selecting a text editor.
You should see something like this:
[General]
AuthKey = ''
Debug = false
Description = 'BeamMP Default Description'
Map = '/levels/gridmap_v2/info.json'
MaxCars = 1
MaxPlayers = 10
Name = 'BeamMP Server'
Port = 30814
Private = false
ResourceFolder = 'Resources'
This is your configuration file. It uses a format called TOML. Refer to the Server Maintenance section for more info on this file.
For now, we only care about the AuthKey
field. Between the quotes ''
, you want to paste in your AuthKey you copied in the first step.
For our example key, it should then look like this:
AuthKey = '3173a2e-6az0-4542-a3p0-ddqq5ff95558'
Give your server a name, too, in the Name
field. You can format this with colors and more, please refer to this section on Name customization in the server maintenance page.
If you picked a different Port other than 30814, make sure to replace it here under Port
.
IMPORTANT: Your server will NOT show in the server list as long as Private = True
. If you want it to show in the list, set that to Private = False
.
Now run your server again, and see if it spits out any more [ERROR]
messages. It should just stay open. At this point, you can start BeamMP through the BeamMP-Launcher and you should find your server by the Name you entered in the ServerConfig.toml
in the server list.
Vehicle mods and map mods are different to install, but both require you to put them in your server's (Resources/Client
) folder. Simply slide any mod you want to add in that folder.
If you only wanted to add modded vehicles, you simply put the zip file of the mod in the Resources/Client
folder. They will automatically be downloaded by anyone who joins your server.
All default maps (maps which aren't mods) work out-of-the-box and do not have to be installed. You simply change the Map
setting in the ServerConfig.toml
file to any of these. For any other modded maps, do this:
.zip
file in your server's (Resources/Client
) folder.levels
folder. In this folder there should be simply one other folder with the name of the map, for example “myawesomedriftmap2021”. Make sure to copy or remember this name exactly as it is written in that folder's name.ServerConfig.toml
. In the Map
setting, you should see /levels/MAPNAME/info.json
, where MAPNAME
is likely something like gridmap_v2
. You want to now replace this MAPNAME
with the name of the folder from the last step, in that example it was myawesomedriftmap2021
. In the end it should look like this (for this example) and should have /info.json
at the end.Map = '/levels/myawesomedriftmap2021/info.json'
Now, when someone joins your server, it should download the map automatically and work as expected.
If this does NOT work, install the map in your singleplayer BeamNG.drive, launch it and enter the map. Then, open the Console by pressing the ~
(tilde) key (if you're on a non-US keyboard, look at the Toggle System Console action in the Options > Controls > Bindings menu, under the General Debug section), and run print(getMissionFilename())
. This should then show you the name to use.
That's it! Your modded map should now be available to join!
How you and other people can join your server.
You must join your server by direct connecting, to do this, click the Direct Connect Tab on the left from the server list. Leave the default info in there (should be 127.0.0.1 and a port of 30814) then hit connect. If you server is hosted outside of your house you must find your IP on that machine and direct connect that way.
For anyone else to join your server, it first must be port forwarded (A good guide here). To join your public server they can simply go to the server list, type the name of the server, and click connect. If you are unsure of what your server name is, it will be the name you put in the ServerConfig.toml
For anyone else to join your server, it first must be port forwarded (A good guide here). To join your private server they must go to the Direct Connect Tab in BeamMP, then type your IP and Port. If you are unsure of your IP here's a good website. If you are unsure of your port the default is 30814, the port will be the same as the port you port forwarded.
For someone to join your server, they must be on your Hamachi network, you do not need to be port forwarded for this. After joining your Hamachi network they will use the Hamachi IP and default port to direct connect to your server. For more info see our Hamachi guide.