GithubHelp home page GithubHelp logo

get5-cli's Introduction

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.

get5-cli's People

Contributors

dudleycodes avatar somehandsomehands avatar mattburchett avatar dependabot[bot] avatar

Stargazers

Hibari avatar

Watchers

James Cloos avatar  avatar  avatar Tony DiPietri avatar

Forkers

mattburchett

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.