Git Product home page Git Product logo

barotrauma-server-docker's Introduction

Barotrauma Server Docker

Release Docker Pulls Docker Stars Image Size

View on Docker Hub

This is a Dockerized version of the Barotrauma dedicated server.

How to use

Keep in mind that you'll need to change the environment variables.

Docker Compose

This repository includes an example docker-compose.yml file you can use to setup your server.

services:
   barotrauma:
      image: thijsvanloef/barotrauma-server-docker
      restart: unless-stopped
      container_name: barotrauma-server
      ports:
         - 27015:27015/udp
         - 27016:27016/udp
      environment:
         - SERVERNAME=testing # recommended
         - PASSWORD=password # recommended
         - OWNER_STEAMNAME= # recommended
         - OWNER_STEAMID= # recommended
         - MAX_PLAYERS=10 # optional
         - PORT=27015 # optional
         - QUERYPORT=27016 # optional
      volumes:
         - ./barotrauma-test-folder:/barotrauma/

Docker Run

Change every <> to your own configuration

docker run -d \
    --name barotrauma-server \
    -p 27015:27015/udp \
    -p 27016:27016/udp \
    -v ./<barotrauma-host-folder>:/barotrauma/ \
    -e SERVERNAME=<server-name> \
    -e PASSWORD=password \
    -e OWNER_STEAMNAME=<> \
    -e OWNER_STEAMID=<> \
    -e MAX_PLAYERS=10 \
    -e PORT=27015 \
    -e QUERYPORT=27016 \
    --restart unless-stopped \
    thijsvanloef/barotrauma-server-docker

Volumes

By default the data of the barotrauma server is not persistant, you'll need to create a folder that you can mount in the container. When starting the server, the following folders will be created:

Folder Description
config Folder with clientpermissions.xml and serversettings.xml
saves Folder in which the game saves will be saved
submarines Folder where you can add custom submarine files

Environment variables

You can use the following values to change the settings of the server on boot. It is highly recommended you set the following environment values before starting the server:

  • OWNER_STEAMNAME
  • OWNER_STEAMID
  • PASSWORD
Variable Info Default Values Allowed Values
OWNER_STEAMNAME* Steam Username of the server administrator none String
OWNER_STEAMID* Steam ID of the server administrator none String
PUBLICITY Setting to make the server visible in the Barotrauma server browser false true/false
SERVERNAME Name of the server Server String
PASSWORD* Password used to enter the server (highly recommended) none String
MAX_PLAYERS Maximum amount of players that are able to join simultaniously 10 1-16
PORT** Game Port 27015 1024-65535
QUERY_PORT** Query Port 27016 1024-65535
INSTALL_LUA adds Lua and Cs modding support false true/false

*highly recommended to set

**advanced users only if you don't run multiple servers, you'll most likely not want to change this

Reporting Issues/Feature Requests

Issues/Feature requests can be submitted by using this link.

barotrauma-server-docker's People

Contributors

thijsvanloef avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

barotrauma-server-docker's Issues

Additional Symlinks

Is your feature request related to a problem? Please describe.
It would make it much easier if more links were visible in the /barotrauma bind mount:
WorkshopMods/Installed
config_player.xml

Describe the solution you'd like
Add config_player.xml and WorkshopMods/Installed to the /barotrauma bind mount
Describe alternatives you've considered
Bind mounting /game/barotrauma myself and then navigating to the files/directories.

Additional context
N/A

Lua Setup

Is your feature request related to a problem? Please describe.
Due to steamcmd using the validate flag, it is impossible to install serverside Lua.

Describe the solution you'd like
Add an enviromental boolean for installing Lua after steamcmd finishes but before the game launches:
wget https://github.com/evilfactory/LuaCsForBarotrauma/releases/download/latest/luacsforbarotrauma_patch_linux_server.zip
unzip that into game folder and overwrite

Describe alternatives you've considered
Disabling validate

Additional context
Add any other context or screenshots about the feature request here.
Manual Lua install guide
Lua Releases

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.