get5-cli

module
v0.0.0-...-c5114a1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 29, 2023 License: AGPL-3.0

README

GET5-CLI

get5-cli is an application for modifying get5 configuration files from the command line.

Usage

./get5-cli -1 "red team" -2 "blue team" -m de_dust2 -m de_inferno -m de_nuke

Get List of Command Line Arguments

./get5-cli /help

How It Works

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.

Project Structure

Go Report Card

  • /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.

Motivation

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.

Why GO(lang) was Chosen

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.

Developer Notes

  • This project includes configuration for golangci-lint; install the lint runner locally and then used the associated VSCode task to launch.

Directories

Path Synopsis
cmd
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL