/barotrauma-docker

A docker image to run a dedicated server for the game Barotrauma

Primary LanguageDockerfileGNU General Public License v3.0GPL-3.0


Travis (.com) GitHub TestedVersion

A docker image for running a dedicated server for the game Barotrauma.

Usage

Quickstart

docker build -t barotrauma https://github.com/FragSoc/barotrauma-docker.git && \
    docker run -d -p 27015:27015/udp -p 27016:27016/udp barotrauma

Ports

  • Port 27015/udp must be opened for client connections
  • Port 27016/udp can optionally be opened for steam communication

Both of these can be changed, see below.

Volumes

The container uses three volumes:

  • Server configuration files at /config
  • Mods files at /mods
  • Saves at /saves

Note: if you use bind mounts, the host paths you mount into the container must be readable+writable by the UID and/or GID you passed to the build (default 999)

Build Args

Argument Key Default Value Description
UID 999 The *nix UID to assign to the user in the container
GID 999 The *nix GID to assign to the container user's primary group
GAME_PORT 27015 The port to open and assign for the game, must still be set in configuration
STEAM_PORT 27016 The port to open and assign for steam queries, must still be set in configuration
APPID 1026340 The steam appid to install for the server, unlikely to need changing
STEAM_BETA The string to pass to steamcmd to install a beta version of the game, eg. -beta mybetaname -betapassword letmein
STEAM_EPOCH Used to rebuild the image when a new game version is released, retaining the cached apt packages etc. Value itself is ignored. When you want to rebuild the image for the latest version of the game, use any unique value (the current timestamp is a good idea).

Mods

A minimal shell script is included to install mods with. The script can be invoked (inside the container) with:

install-mod <steam username> <space-delimited list of workshop IDs...>
  • You will be prompted by steamcmd to log in, this is because the steam workshop requires someone who owns the game to be logged in to download anything
  • The script will give you a list of lines to enter into your /config/config_player.xml file (make sure you get them inside the root tag)
  • Some mods may require special attention to paths inside their filelist.xml files

Licensing

The few files in this repository are licensed under the GPL.

However, Barotrauma itself is licensed by Undertow Games and Fakefish, no credit is taken for the software running in this container. Read their EULA for more information.