Skip to content

TheKrystalShip/KGSM

Repository files navigation

KGSM - Krystal Game Server Manager

Welcome! This is your go-to tool for setting up and managing game servers on Linux. If you're looking for a simple solution for setting up a few game servers, this is it. It takes care of the heavy lifting so you can focus on what really matters—playing games with your friends.

KGSM makes it easy to install, update, and manage your game servers with minimal hassle. It's designed to be simple, efficient, and portable, perfect for someone who wants a quick and easy solution without having to spend hours reading documentation or watching tutorials.

Will it work for me?

As much as I'd like for KGSM to work on every system, unfortunately I don't have that much free time to test everywhere and fix all the potential differences between distributions.

In theory it should work on most GNU/Linux systems as long as the dependencies are met.

What You'll Need

Before diving in, make sure your system has the following packages:

Required dependencies:

These are used throughout KGSM, without them it won't function.

grep jq wget unzip tar sed coreutils findutils steamcmd

Optional dependencies:

These are not required unless you want to enable some features through configuration.

ufw socat
  • ufw is used only if USE_UFW is enabled in the config.ini file.
  • socat is used only if USE_EVENTS is enabled in the config.ini file.

Note

If SteamCMD isn't available through your distro’s package manager, you'll need to set it up manually.

For an even smoother experience, you can integrate KGSM with systemd and ufw with just a few configuration tweaks.

Getting Started

There are a few ways to grab KGSM:

  1. Clone the repository using git
  2. Download the latest Release
  3. Use this handy install script:
wget -qO - https://raw.githubusercontent.com/TheKrystalShip/KGSM/main/installer.sh | bash

Everything will be contained in a subdirectory KGSM creates, keeping your system clean and organized.

How to Use KGSM

Once you've got KGSM, running it is simple. Just execute:

./kgsm.sh

The first time you run it, KGSM will create a config.ini file with default settings. Feel free to tweak this file to suit your needs. After that, running it again will take you into an interactive menu where you can choose what to do.

Need help? Either select the Help option in the menu or run:

./kgsm.sh --help --interactive

For those who love automation, KGSM supports named arguments for all its operations. For a full list of options just run:

./kgsm.sh --help

There's also Documentation for the project which explains how KGSM operates in case you need it.

Keeping Up-to-Date

Updating KGSM is a breeze. Just run:

./kgsm.sh --update

In case you run into issues or lose any files, you can try a repair with:

./kgsm.sh --update --force

This will re-download all the KGSM-specific files while preserving your custom settings.

License

KGSM is licensed under the terms of GPL-3.0, check the LICENSE file for more information.