BeamMP Servers
GamesThis is the server for the multiplayer mod BeamMP for the game BeamNG.drive. The server is the point through which all clients communicate. You can write lua mods for the server, detailed instructions on the BeamMP Wiki.
README
BeamMP
BeamMP Bringing Multiplayer to BeamNG.drive! With a smooth and enjoyable experience.
Docker Images (1)
| Name | Image |
|---|---|
Debian | ghcr.io/ptero-eggs/yolks:debian |
Startup Command
./BeamMP-Server Variables (9)
Server Name
The name of your server. This is what appears on the server list.
- Environment:
NAME- Default:
BeamMP Server- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:128
Server Description
Sets the server description
- Environment:
DESCRIPTION- Default:
BeamMP Default Description- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:128
BeamMP Server Version
The BeamMP server version to be installed. Latest or invalid versions will default to latest. See all available versions at https://github.com/BeamMP/BeamMP-Server/releases example: v3.1.0 or v2.2.0 or latest
- Environment:
VERSION- Default:
latest- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:12
Authentication Key
The authentication key for your server. A key can be obtained from the BeamMP keymaster at https://keymaster.beammp.com
- Environment:
AUTHKEY- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:64
Max Players
The maximum number of players allowed on the server.
- Environment:
MAX_PLAYERS- Default:
6- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|integer|max:100
Private
Should the server be private?
- Environment:
PRIVATE- Default:
false- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Max Cars
The maximum number of cars allowed to be spawned per player.
- Environment:
MAX_CARS- Default:
1- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|integer|max:10
Map
The map for your server. Stock maps are listed below. /levels/gridmap_v2/info.json /levels/automation_test_track/info.json /levels/east_coast_usa/info.json /levels/hirochi_raceway/info.json /levels/italy/info.json /levels/jungle_rock_island/info.json /levels/industrial/info.json /levels/small_island/info.json /levels/smallgrid/info.json /levels/utah/info.json /levels/west_coast_usa/info.json /levels/driver_training/info.json /levels/derby/info.json
- Environment:
MAP- Default:
/levels/gridmap_v2/info.json- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:64
Chat logging
Enable chat logging by the server
- Environment:
LOGCHAT- Default:
true- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Installation Script
ghcr.io/ptero-eggs/installers:debianbash#!/bin/bash
#Create the server directory
mkdir -p /mnt/server
cd /mnt/server
#Remove any old versions
rm -f BeamMP-Server
#Check for latest release & download URLs
LATEST_JSON=$(curl --silent "https://api.github.com/repos/BeamMP/BeamMP-Server/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/BeamMP/BeamMP-Server/releases")
MATCH=$([[ "$(uname -m)" == "x86_64" ]] && echo "Server.debian.12.x86_64" || echo "Server.debian.12.arm64")
if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then
echo -e "Using latest BeamMP server version"
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i "${MATCH}" | head -1)
else
echo -e "Chosen version :${VERSION}. Verifying version from releases"
VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
if [ "${VERSION}" == "${VERSION_CHECK}" ]; then
DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i "${MATCH}" | head -1)
else
echo -e "No valid versions found. Defaulting to the latest release"
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i "Server" | grep -i "debian" | grep -i "12" | grep -i "x" | grep -i "64" | head -1)
fi
fi
#Download the BeamMP server binary
echo -e "Running curl -sSL ${DOWNLOAD_URL} -o BeamMP-Server"
curl -sSL ${DOWNLOAD_URL} -o BeamMP-Server
chmod +x BeamMP-Server
#Create a default configuration file
echo "# This is the BeamMP-Server config file.
# Help & Documentation: `https://wiki.beammp.com/en/home/server-maintenance`
# IMPORTANT: Fill in the AuthKey with the key you got from `https://keymaster.beammp.com/` on the left under 'Keys'
[General]
Name = 'BeamMP Server'
Port = 30814
# AuthKey has to be filled out in order to run the server
AuthKey = ''
# Whether to log chat messages in the console / log
LogChat = true
# Add custom identifying tags to your server to make it easier to find. Format should be TagA,TagB,TagC. Note the comma seperation.
Tags = 'Freeroam'
Debug = false
Private = true
MaxCars = 1
MaxPlayers = 8
Map = '/levels/gridmap_v2/info.json'
Description = 'BeamMP Default Description'
ResourceFolder = 'Resources'
[Misc]
# Hides the periodic update message which notifies you of a new server version. You should really keep this on and always update as soon as possible. For more information visit https://wiki.beammp.com/en/home/server-maintenance#updating-the-server. An update message will always appear at startup regardless.
ImScaredOfUpdates = false
# You can turn on/off the SendErrors message you get on startup here
SendErrorsShowMessage = true
# If SendErrors is 'true', the server will send helpful info about crashes and other issues back to the BeamMP developers. This info may include your config, who is on your server at the time of the error, and similar general information. This kind of data is vital in helping us diagnose and fix issues faster. This has no impact on server performance. You can opt-out of this system by setting this to 'false'
SendErrors = true" > ServerConfig.toml
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"