ss14-watchdogplus is a multi-codebase, multi-server server manager for Space Station 14 servers and forks. It is designed primarily for server operators who operate multiple SS14 servers from different codebases on one big box.
ss14-watchdogplus can:
- Pre-build server binaries from Git to reduce startup time, like Robust.Cdn but without the extra setup
- Reboot instances independently, even if they are on the same build
- Gracefully notify servers to reboot or shut down at the end of a round
-
Install dependencies:
-
The dialog command-line tool for the TUI menu. On Ubuntu:
apt install dialog
-
libev. On Ubuntu:
apt install libev4t64
-
-
Follow the instructions below to build the watchdog from source. Skip if you have a pre-built binary.
-
Install build dependencies:
-
On Ubuntu:
apt install sbcl
-
We recommend using Quicklisp for Lisp dependencies. Follow the Installation instructions.
-
-
Clone this repository to a location that ASDF can find, e.g. ~/common-lisp/
-
Load the system and its dependencies:
(ql:quickload "ss14-watchdogplus")
-
Build the binary:
(asdf:make "ss14-watchdogplus")
Copy the sample configuration file into the directory in which you want to run the watchdog, then modify it as needed.
There are two terms you need to understand for the configuration to make sense:
- build - a specific build of a particular codebase from Git, identified by a repository URL and Git commit hash
- instance - a Space Station 14 server running on a particular build
-
Inside the watchdog directory:
$ ./ss14-watchdogplus
The interactive menu will appear.
-
Before your first run, you should
update
all of the builds. -
Then,
start
the instances that you want the watchdog to monitor.
While the watchdog is running, press CTRL-C to enter the interactive menu.
Important
You must exit the interactive menu for the watchdog to resume its normal watchdog duties (restarting servers).
Copyright 2024 Kevin Zheng
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.