Skip to content

FlitPix/docker-srb2kart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SRB2Kart Docker files

Docker Compose and build files used to host my SRB2Kart server. If you'd like to join, connect to flitpix.net:5029.

This repo doesn't include any code or assets from SRB2Kart, and I'm not affiliated with Kart Krew, Sonic Team Junior, or any addon authors in any way.

Prerequisites

The host system must have the following software installed to proceed:

Setup process

All instructions here assume that...

  • You are on a Linux server, though the Docker Compose should work fine on a Windows server with Docker as well.
  • You are familiar with Docker Engine and Docker Compose.

Preparation

Clone this repository.

Place any addons you want except bonuschars.kart in the included addons directory.

By default, SRB2Kart version 1.6 is built. If you need a different version, open docker-compose.yml and change it on line 9. You may also change the starting map on line 10 (vanilla map list here), set a server admin password on line 11 (used in-game with login <password>), and change the game port on line 13.

Open kartserv.cfg and change the cvars listed there. The following table lists known options, what they do, and their defaults (more may be found on the wiki, though not all will work in SRB2Kart):

Option Description Choices Default
servername Your server's name, as it will appear on the in-game server list. String "SRB2Kart server"
server_contact A place where someone can contact the host or admins. Setting this is highly recommended for public servers. An email address or web forum is best. String Blank
motd A message that will appear in chat for joining players. String Blank
maxplayers The player cap for the server. 1-16 8
masterserver The API URL for the master server to connect to. String (URL) "https://ms.kartkrew.org/ms/api"
advertise Whether to show your server in the public server browser. "Yes" or "No" "Yes"
mute Disables chatting for everyone except the host and logged-in admins. "Yes" or "No" "No"
showjoinaddress Whether to show the IP addresses of joining players to the host. "Yes" or "No" "No"
kartspeed The driving speed for all players. "Normal", "Easy", or "Hard" "Normal"
inttime Intermission timer between rounds (in seconds). Number 20
countdowntime In Race games, sets a countdown (in seconds) starting from when the first player finishes. Anyone who doesn't finish within the countdown retires. 15 - 9999 30
votetime The time limit (in seconds) when voting for the next map. 10 - 3600 20
overtime If enabled, when 2+ players/teams in a Battle Mode match are tied, the match will not finish until the tie is resolved. "Yes" / "No" "Yes"
advancemap Determines how the next map is decided. "Vote" has the players vote; "Random" chooses the next map at random; "Same" plays the same map again. "Vote", "Random", or "Same" "Vote"
autobalance If set to a value other than 0, teams are automatically balanced if enabled. The higher the value, the greater the team member difference can be before autobalancing. Number 0
allowteamchange Whether players can change teams mid-game in Battle Mode. "Yes" or "No" "No"
restrictskinchange Whether players can change characters. "Yes" or "No" "Yes"
pausepermission Whether players can pause the game. 0/"Server" or 1/"All" "Server"
resynchattempts Number of attempts to resynchronize a desynchronised player before kicking them. Number 2
nettimeout The maximum amount of time (in ticks) to wait between packets sent before the game considers the player to have timed out and kicks them. Number 15
jointimeout How long (in ticks) a joining player may take to download the game state from the server. An extra tick is also added for each KB of the game state. If the timer expires, the player will be refused by the server. Number 210
maxsend The maximum file size (in KB)
masterserver_update_rate How often to update the master server listing (in minutes). Number 15
masterserver_timeout The maximum time (in seconds) that contacting the master server is allowed to complete. Number 5
masterserver_token Used for optional authentication with the master server. String Blank
masterserver_debug Toggles master server debug logging. "Yes" or "No" "No"

Running the server

Ensure you're in the same directory as docker-compose.yml, then run the Docker Compose script to start the containers:

docker compose up -d

Making changes

To add new addons or change server options, add the addons to the addons folder, edit kartserv.cfg, and/or edit entrypoint.sh, then rebuild the image:

docker build -t=srb2kart-server .

And (re)start the server:

docker compose up -d

Credits

  • Sega: For creating Sonic the Hedgehog and keeping it going despite it all
  • Sonic Team Junior: Sonic Robo Blast 2
  • Kart Krew: SRB2Kart

About

Scripts to easily run an SRB2Kart dedicated server using Docker

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors