README
SuperTuxKart
SuperTuxKart is a 3D open-source arcade racer with a variety characters, tracks, and modes to play.
Documentation
Essentially this is a standard build of the regular SuperTuxKart client but with a special flag when being compiled that produces a GUI-less binary optimized for size and memory usage.
Install notes
First install will take a while because the games source code and assets will be downloaded and the games executable will have to be compiled.
Installation/System Requirements
| Bare Minimum | Recommended | |
|---|---|---|
| RAM | 1GiB | 1GiB |
| Storage | 3GiB | 5GiB |
Server Ports
| Port | default |
|---|---|
| Game | 2759 |
Notes
To change server settings, stop the server then edit the 'config.xml' file in the root of the container. When done save the file and start the server.
2759 is the default port, but any port can be used. You will have to manually change it in the config.xml file.
To update the server (only should have to be done when the games code or assets are updated) in panel as an admin go to Servers > SuperTuxKart Server > Manage > Reinstall. If you are a standard user go to SuperTuxKart Server > Settings > Reinstall Server. This will download the updated code/assets (should exclude anything that didn't change) and recompile the executable.
Currently this is setup to run a local lan server. To make this a wan server (available in the SuperTuxKart online lobby list) read the document at this link and make the necessary changes to the startup command.
Docker Images (1)
| Name | Image |
|---|---|
ghcr.io/ptero-eggs/yolks:debian | ghcr.io/ptero-eggs/yolks:debian |
Startup Command
./bin/supertuxkart --server-config={{CONFIG_NAME}} --lan-server={{SERVER_NAME}} --network-console --port="{{SERVER_PORT}}" --difficulty={{DIFFICULTY}} --mode={{MODE}} --max-players={{MAX_PLAYERS}} --motd="{{MOTD}}" Variables (6)
Server Name
The Name of the Server
- Environment:
SERVER_NAME- Default:
Pterodactyl_Server- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:50
Config File Name
Name of the Config File.
- Environment:
CONFIG_NAME- Default:
config.xml- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|regex:/^([\w\d._-]+)(\.xml)$/
Mode
0 = Normal Race 1 = Time Trial 2 = Battle 3 = Soccer 4 = Follow The Leader 5 = Capture the Flag
- Environment:
MODE- Default:
0- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:0,1,2,3,4,5
Difficulty
Speed of the carts and AI difficulty 0 = Beginner 1 = Intermediate 2 = Expert 3 = SuperTux
- Environment:
DIFFICULTY- Default:
0- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:0,1,2,3
Max Players
How many players can there be in the server.
- Environment:
MAX_PLAYERS- Default:
8- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|numeric|between:1,24
Message of the Day
Message of the Day displayed in the server.
- Environment:
MOTD- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:100
Installation Script
ghcr.io/ptero-eggs/installers:debianbash#!/bin/bash
# Install build tools
echo "deb http://deb.debian.org/debian bullseye-backports main" >> /etc/apt/sources.list && \
apt-get update && apt-get -y full-upgrade && \
apt-get install -y build-essential cmake libbluetooth-dev libsdl2-dev \
libcurl4-openssl-dev libenet-dev libfreetype6-dev libharfbuzz-dev \
libjpeg-dev libogg-dev libopenal-dev libpng-dev \
libssl-dev libvorbis-dev libmbedtls-dev pkg-config zlib1g-dev subversion
if [ ! -d "/mnt/server/stk-code" ] && [ ! -d "/mnt/server/stk-assets" ]; then
#clone code repo
git clone https://github.com/supertuxkart/stk-code /mnt/server/stk-code
#get assets
svn co https://svn.code.sf.net/p/supertuxkart/code/stk-assets /mnt/server/stk-assets
# go into the stk-code directory
cd /mnt/server/stk-code
# create and enter the cmake_build directory
mkdir cmake_build
else
#update existing stuff
cd /mnt/server/stk-assets
svn up
cd /mnt/server/stk-code
git pull
fi
#build the server
cd cmake_build
cmake .. -DSERVER_ONLY=ON
make
#copy binary to root/bin and make it executable
mkdir /mnt/server/bin
cp /mnt/server/stk-code/cmake_build/bin/supertuxkart /mnt/server/bin/supertuxkart
chmod +x /mnt/server/bin/supertuxkart
#copy data folder
cp -r /mnt/server/stk-code/data /mnt/server/data
#copy extra assets to data folder
cd /mnt/server/stk-assets
cp -r library models music sfx textures tracks karts /mnt/server/data/
# Delete repo's to save disk space.
#rm -rf /mnt/server/stk-code && rm -rf /mnt/server/stk-assets