gsd-cli v2

A CLI tool for deploying dedicated game servers as systemd units (daemons).

This repo is for gsd-cli version 2.x. This version of the cli is written in CoffeeScript and can be downloaded as a global module from npm.

gsd-cli installs dedicated server as user daemons managed by systemd, a Linux system & service manager.

You can interact with systemd services using the systemctl and journalctl commands. Since the cli installs dedicated servers as user daemons, always include the --user flag when interacting with systemd.

For example: systemctl --user restart minecraft .

You can read the log files for a given server using the journalctl command. For example, to follow a Minecraft server's log:

systemctl --user -fu minecraft

All game servers are created in /home/your_user/whatever-server . For example, a minecraft server would look like this:

/home/egee/minecraft-server .

The dedicated servers themselves are spawned from a shell launch.sh script script located in the dedicated server's install path. This file is created by the cli from the config file passed to it during install time and is safe to edit after installing a server. For example, the launch script for a Rust server is located:

/home/egee/rust-server/launch.sh

User-level systemd unit files are located in ~/.config/systemd/user . You can specify the amount of system resources available to the server by adding properties to the .service file if you desire.

Currently supported game servers:

minecraft

rust

7 days to die[sdtd]

garry's mod[gmod]

team fortress 2[tf2]

Usage

$ npm install -g gsd-cli $ gsd-cli COMMAND running command... $ gsd-cli (-v|--version|version) gsd-cli/2.1.0 linux-x64 node-v12.18.0 $ gsd-cli --help [COMMAND] USAGE $ gsd-cli COMMAND ...

Commands

gsd-cli help [COMMAND]

display help for gsd-cli

USAGE $ gsd-cli help [COMMAND] ARGUMENTS COMMAND command to show help for OPTIONS --all see all commands in CLI

See code: @oclif/plugin-help

gsd-cli install

Installs a dedicated game server using a config file or a name with default settings.

USAGE $ gsd-cli install OPTIONS -d, --dryrun test installing a server without actually installing it -n, --name=name name of the server to install

See code: src/commands/install.js