Automatically spawn and destroy a tf2 server on a schedule
  • Rust 86.7%
  • Nix 13.3%
Find a file
2021-03-31 22:29:00 +02:00
.github/workflows ci 2021-03-28 20:18:06 +02:00
src more swap 2021-03-31 22:29:00 +02:00
.dockerignore dockerfile 2021-03-28 20:36:32 +02:00
.gitignore wip 2021-03-27 01:13:11 +01:00
Cargo.lock scheduling 2021-03-28 19:23:54 +02:00
Cargo.toml scheduling 2021-03-28 19:23:54 +02:00
config.sample.toml scheduling 2021-03-28 19:23:54 +02:00
Dockerfile implement server destroy 2021-03-29 20:50:58 +02:00
LICENSE Create LICENSE 2021-03-28 18:06:34 +00:00
README.md todo 2021-03-29 21:03:37 +02:00

Dispenser

Automatically spawn and destroy a tf2 server on a schedule

Usage

  • Copy config.sample.toml to config.toml and edit accordingly
  • Start dispenser config.toml as a system service

When the configured start schedule is reached it will create a new cloud server, update the dyndns (optional) and install a tf2 server. This server is then destroyed when the stop schedule is reached.

As a failsafe against unexpected costs or destroying the wrong server, this program will not spawn any server if it already detects a running one and it will only destroy a server that was created by the program.

This does mean that if the program is (re-)started while a server is already active, the program will not start and destroy any server because it can't be sure it should control the running server. You'll need to manually destroy the existing server in that case.

Dependencies

  • requires openssl 1.1

TODO

  • don't blindly kill server if there are players connected
  • kill the server earlier if everyone disconnected