Ellite
she/her
Ellite submitted a new resource:
Kart Containerized - Containerized Kart Dedicated Server
Read more about this resource...
Kart Containerized - Containerized Kart Dedicated Server
Kart ContainerizedThis is an up to date Docker image based on rwanyoikes Dockerfile.
I plan to keep this image actually up to date with the most recent version of Kart.
The image currently has tags for1.3
,1.4
,1.5
and1.6
.
This will pull an image with SRB2Kart and start a dedicated netgame server on port5029/udp
:
Bash:docker run -it --name srb2kart -p 5029:5029/udp ellite/srb2kart-server:latest
Addons
In order to load addons, bind the/addons
volume to a host directory and copy them there.
LuafilesBash:docker run -it --name srb2kart -p 5029:5029/udp -v /path/on/host/addons:/addons ellite/srb2kart-server:latest
Do your addons save configs/data in the/luafiles
folder? Bind the/luafiles
volume to a host directory.
ConfigBash:docker run -it --name srb2kart -p 5029:5029/udp -v /path/on/host/luafiles:/luafiles ellite/srb2kart-server:latest
In order to configure server variables, bind the/config
volume to a host directory, createkartserv.cfg
, and edit it.
Bash:docker run -it --name srb2kart -p 5029:5029/udp -v /path/on/host/config:/config ellite/srb2kart-server:latest
Persistent DataBash:sudo nano /path/on/host/config/kartserv.cfg
In order to persist data through server shutdowns, bind the/data
volume to a host directory.
Bash:docker run -it --name srb2kart -p 5029:5029/udp -v /path/on/host/data:/data ellite/srb2kart-server:latest
Here's an example of how to run the container as a service on Linux with the help of systemd.
- Create a systemd service descriptor file:
Bash:# /etc/systemd/system/docker.srb2kart.service [Unit] Description=SRB2Kart Server Requires=docker.service After=docker.service # Ref: https://www.freedesktop.org/software/systemd/man/systemd.unit.html#StartLimitIntervalSec=interval StartLimitIntervalSec=60s StartLimitBurst=2 [Service] TimeoutStartSec=0 Restart=on-failure RestartSec=5s ExecStartPre=/usr/bin/docker stop %n ExecStartPre=/usr/bin/docker rm %n ExecStartPre=/usr/bin/docker pull ellite/srb2kart-server:<version> ExecStart=/usr/bin/docker run --rm --name %n \ -v <path to data directory>:/data \ -v <path to config directory>:/config \ -v <path to addons directory>:/addons \ -v <path to luafiles directory>:/luafiles \ -p <port on host>:5029/udp \ ellite/srb2kart-server:<version> [Install] WantedBy=multi-user.target
- Enable starting the service on system boot:
Bash:systemctl enable docker.srb2kart
The build will download the Source Code from a mirror (https://srb2kmods.ellite.dev/) and build the SRB2Kart executable, as well as download the data files (Bash:git clone https://github.com/ellite/srb2kart-server-docker cd srb2kart-server-docker/ # Ref for version numbers: https://github.com/STJr/Kart-Public/releases docker build --build-arg "SRB2KART_VERSION=<version>" \ -t srb2kart-server:<version> .
/usr/share/games/SRB2Kart
) for SRB2Kart.
Read more about this resource...
Last edited: