release / deb (push) Successful in 17s
- doctor [<name>] [--fix]: checks the system (user, programs, folders, zips, units and leftover copies in /etc, sandbox access to moved folders, journal, polkit, daemon, orphaned boot links and schedules) and each instance (ownership, server zip, config paths, mods, ports, failed starts/backups), with a fix for each. --fix applies the safe ones and re-checks them. - backup enable|disable|now|list: a systemd timer per instance (terraria-backup@.timer, Persistent=), saving the world first, into /var/lib/terraria/backups/<name>/ (group-readable), pruning only scheduled backups. rename carries the schedule, delete removes it. upgrade's backups move there too. - fetch vanilla|tmodloader [<version>] [--list] [--upgrade <name>]: downloads from terraria.org / tModLoader's GitHub releases, checks GitHub's sha256 and the zip, names it with its version. - terractld may write /etc/systemd/system, for backup enable and doctor --fix over --host. - Units, tmpfiles, packaging, completion, docs and changelog. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
34 lines
1.0 KiB
Desktop File
34 lines
1.0 KiB
Desktop File
[Unit]
|
|
Description=terractl daemon: lets other hosts manage this host's Terraria servers
|
|
Documentation=file://@DOCDIR@/README.md
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
# Listens on TERRACTL_LISTEN from /etc/default/terractl (default: all addresses,
|
|
# port 7776). Its certificate and the list of trusted computers are kept in
|
|
# /var/lib/terractl. Manage it with: terractl daemon enable|disable|status|token|revoke
|
|
ExecStart=@BINDIR@/terractl daemon serve
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
StateDirectory=terractl
|
|
StateDirectoryMode=0755
|
|
|
|
# Runs as root: it creates, deletes, starts and stops instances for trusted
|
|
# computers, like sudo terractl does. Everything else is locked down.
|
|
NoNewPrivileges=true
|
|
ProtectSystem=full
|
|
# 'backup enable' and 'doctor --fix' write drop-ins for the Terraria units here
|
|
ReadWritePaths=/etc/systemd/system
|
|
ProtectHome=true
|
|
PrivateTmp=true
|
|
PrivateDevices=true
|
|
ProtectKernelTunables=true
|
|
ProtectKernelModules=true
|
|
ProtectControlGroups=true
|
|
LockPersonality=true
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|