
This 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, with detailed instructions on the BeamMP Wiki.
Here's what you need to run a BeamMP dedicated server.
Small freeroam, 1-4 players
Community server, 4-10 players
Large public server, 10-20 players
Start hosting from your own computer
Run a BeamMP server on your desktop, laptop, VPS, or dedicated machine — GameCP automates Docker setup, resource allocation, and BeamMP configuration instantly. Automatic port forwarding means your friends can connect without touching your router. Start local, scale to a VPS when you're ready.
Skip the manual installation, port forwarding, and configuration. Install on your own computer and start hosting instantly.
The full manual process to host a BeamMP dedicated server on a VPS. Or install GameCP on your own computer and skip all of this.
Set your server settings, then install Docker, and pull the BeamMP container image.
# Update system and install Docker sudo apt update && sudo apt install -y docker.io sudo systemctl enable --now docker # Create game server directory sudo mkdir -p /opt/gameserver # Pull the container image docker pull ghcr.io/ptero-eggs/yolks:debian
BeamMP uses a custom install script to download and configure the server files.
#!/bin/bash
mkdir -p /opt/gameserver
cd /opt/gameserver
# 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 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 "Version not found. Defaulting to latest release."
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i "${MATCH}" | head -1)
fi
fi
echo -e "Downloading BeamMP-Server from ${DOWNLOAD_URL}"
curl -sSL ${DOWNLOAD_URL} -o BeamMP-Server
chmod +x BeamMP-Server
# Create default configuration file if it doesn't exist
if [ ! -f ServerConfig.toml ]; then
echo "# BeamMP Server Configuration
[General]
Name = 'BeamMP Server'
Port = 30814
AuthKey = ''
LogChat = true
Tags = 'Freeroam'
Debug = false
Private = true
MaxCars = 1
MaxPlayers = 8
Map = '/levels/gridmap_v2/info.json'
Description = 'BeamMP Default Description'
ResourceFolder = 'Resources'
[Misc]
ImScaredOfUpdates = false
SendErrorsShowMessage = true
SendErrors = true" > ServerConfig.toml
fi
echo "Installation completed."BeamMP requires 1 port to be open for game traffic and queries.
sudo ufw allow 30814/both
Start the BeamMP server using the configuration from Step 1.
docker run -d \ --name beammp-servers-server \ -p 30814:30814/both \ -v /opt/gameserver:/opt/gameserver \ -w /opt/gameserver \ ghcr.io/ptero-eggs/yolks:debian \ ./BeamMP-Server
GameCP automates every step above: Docker, port forwarding, startup, and config. Install on your own PC and deploy a BeamMP server in under 5 minutes.
Deploy with GameCPExplore step-by-step setup guides for other popular games supported by GameCP.
Install GameCP on your own computer and start hosting in minutes. Automatic port forwarding, zero config — your friends connect instantly.
No credit card required · Free tier available · Install local, scale later