Skip to content

karashiiro/kartlobby

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kartlobby

(WIP) A lobby server for SRB2Kart.

This application allows for more than a single dedicated server's worth of players to play on the same server by leveraging containers to host multiple servers on the same port. When one dedicated server becomes full and a new player joins, a new dedicated server is started for that player, up to a defined maximum number of rooms. When multiple rooms are active at once, new players will be added to the least-populated room first, in order to balance players across all rooms.

Discord lobby join requests are not guaranteed to work properly with this application.

Progress

  • Launching instances manually
  • Away node PT_ASKINFO
  • Joining active instances
  • Launching new instances automatically
  • Closing dead instances
  • Configuration file
  • Sane colored server name support
  • Add support for mounting config and addon volumes
  • Connection persistence through quick restarts (#5)
  • Proxy killer (#14)
  • Waiting player handling (#7)
  • Ban list syncing (#2)
  • Profiling
  • Load testing
  • Master Server support
  • Docker image (#15)
  • TBD

Usage

Requires Redis. Run pull_image.sh to pull the latest Docker image. If the game ever updates, run it again to update the image to the latest version.

Configuration

The application comes preconfigured, but you can customize its configuration by creating a config.yml in the same directory as the program, or by starting the application with -config CONFIGPATH, replacing CONFIGPATH with a path to your configuration file.

TODO: Documentation

Acknowledgements

repo for what
Kart-Public Kart.
srb2kb Referenced for server info implementation.
Colored server name [Tutorial] (+ chat text transparency) Referenced for server name colors.
BrianAllred/srb2kart Used for Docker container images.