Files
terraria-server-manager/packaging/deb/postinst
T
2026-09-30 17:11:22 +00:00

32 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
set -e
case "$1" in
configure)
systemd-sysusers terractl.conf
systemd-tmpfiles --create terractl.conf
if [ -d /run/systemd/system ]; then
systemctl daemon-reload || true
fi
# Let the terraria group read the servers' journal (LogNamespace=terraria)
terractl journal-access || true
# Servers running from before 0.0.11 still log to the system journal until
# restarted, so 'terractl attach' and 'cmd' can't show their output yet.
if [ -n "$2" ] && dpkg --compare-versions "$2" lt 0.0.11 && [ -d /run/systemd/system ]; then
running=$(systemctl list-units --plain --no-legend --state=active 'terraria@*.service' | awk '{print $1}')
if [ -n "$running" ]; then
echo "Restart running Terraria servers so they use their new journal:"
for unit in $running; do echo " sudo systemctl restart $unit"; done
fi
fi
# The daemon (if it's on) runs the new version right away; it only serves
# other hosts, so restarting it doesn't affect the game servers
if [ -d /run/systemd/system ]; then
systemctl try-restart terractld.service || true
fi
# Running instances are not restarted; they pick up changes on their next start.
;;
esac
exit 0