Quick start:
docker run --name beammp-server \
-p 30814:30814/tcp -p 30814:30814/udp \
-e BEAMMP_AUTH_KEY='<your auth key here>' \
narlyx/beammpd
For extra configurations, please read the configuration section.
First close this repository (or just copy the included docker-compose.yml) then run the following commands, make sure to read the configuration section to see how to setup your authkey which is required to run!
docker compose pull && docker compose up -d
To interact with the container you may run
docker attach <whatever you named the container>
Every BeamMP server is required to have an auth key to run, these are generated by this site and are NOT OPTIONAL. Keep in mind the only form of login method at the time is a Discord account. Read more here.
Unlike most other containers, I have set up two ways to configure your server, you may directly edit the ServerConfig.toml file or you may simply define your configurations inline using enviornment variables.
You simply need to bind '/data/Configuration' from your docker container and include a file called "ServerConfig.toml" in that directory setup the same as a normal BeamMP server would require.
Docker Run example:
docker run --name beammp-server \
-p 30814:30814/tcp -p 30814:30814/udp \
-v ./config:/data/Configuration \
narlyx/beammpd
Example ServerConfig.toml:
[General]
ResourceFolder = "Resources"
Map = "/levels/gridmap_v2/info.json"
MaxPlayers = 8
Description = "BeamMP Default Description"
Tags = "Freeroam"
Port = 30814
Private = true
Debug = false
Name = "BeamMP Server"
LogChat = true
MaxCars = 1
AuthKey = "<your auth key here>"
If you do not include a file BeamMP server will autogenerate one that you can modify
Variable name | description | default value |
---|---|---|
BEAMMP_AUTH_KEY | This is REQUIRED to run your server, it is used to identify and authenticate the server. | |
BEAMMP_DEBUG | Set to true to enable debug output in the console. | false |
BEAMMP_PRIVATE | Set to true if you don't want to show up in the Server Browser when port forwarded. | true |
BEAMMP_MAX_CARS | How many vehicles a player is allowed to have at the same time. | 1 |
BEAMMP_MAX_PLAYERS | How many players your server can hold at a time. | 10 |
BEAMMP_MAP | What the server map is. | /levels/gridmap_v2/info.json |
BEAMMP_NAME | What your server is called. This shows up in the Server Browser. | BeamMP New Server |
BEAMMP_DESCRIPTION | What shows under the name when you click on the server. | BeamMP Default Description |
BEAMMP_PORT | This value must be identical to the containers exposed port. | 30814 |
TZ | Set the timezone for the container. | Utc |
Docker Run example:
docker run --name beammp-server \
-p 30814:30814/tcp -p 30814:30814/udp \
-e BEAMMP_AUTH_KEY='<your auth key here>' \
-e BEAMMP_NAME='BeamMP Server' \
-e BEAMMP_DESCRIPTION='BeamMP Default Description' \
narlyx/beammpd
You simply need to bind '/data/Resources' from your docker container, in the folder you need to add a "Client" and "Server" folder (if you are lazy you can simply launch the server with an auth key and they will auto generate), then drop your client or server mods into their respective folders.
Docker Run example:
docker run --name beammp-server \
-p 30814:30814/tcp -p 30814:30814/udp \
-v ./config:/data/Configuration \
-v ./resources:/data/Resources \
narlyx/beammpd
- Official BeamMP server: https://github.com/BeamMP/BeamMP-Server
- Official BeamMP server maintenance guide: https://wiki.beammp.com/en/home/server-maintenance
- Official BeamMP server installation guide: https://wiki.beammp.com/en/home/server-installation
- Inspiration: https://hub.docker.com/r/rouhim/beammp-server