get5-cli
is an application for modifying get5
configuration files from the command line.
./get5-cli -1 "red team" -2 "blue team" -m de_dust2 -m de_inferno -m de_nuke
./get5-cli /help
get5-cli
loads a "base" get5
configuration file, combines it with values passed in via the CLI (command line interface), generates a new
get5
config file, and then launches a CSGO instance with get5
using the generated config.
/cmd/get5-cli
is the command line application./pkg/get5
is the base library for the program, intended to be imported by other programs such as sourceseer.
Get5 is a standalone SourceMod plugin for CS:GO servers for running matches. It is originally based on pugsetup and is inspired by eBot. The core idea behind get5 is the ability to define all match details in a single config file; the main target use-case being tournaments and leagues (online or LAN). All that is required of the server-admins is to load match config file to the server and the match should run without any more manual actions from the admins.
At Laclede's LAN we run the majority of our game servers in Docker fo reasons
that are explained here. To be able to
containerize get5
we need a way to dynamically inject get5 config files into the docker container.
When choosing a language our key requirement was to able to compile native-binaries that could be added directly to Docker images without needing to include additional required dependencies. GO fit this criteria; and since we had multiple active projects being written in GO when this project was started it was a natural fit for our organization.
- This project includes configuration for golangci-lint; install the lint runner locally and then used the associated VSCode task to launch.