5.6 KiB
5.6 KiB
Changelog
0.0.11 - 2026-09-30
- The servers now log to their own journal (systemd log namespace
terraria), which members of theterrariagroup can read.attachandcmdtherefore show output toterrariagroup members withoutsudoor thesystemd-journalgroup, and without access to the rest of the system's logs. Read it directly withjournalctl --namespace=terraria -u terraria@<name>. - New
/etc/systemd/journald@terraria.conffor the servers' journal size and retention (default: up to 256 MB). - New internal
terractl journal-access, run as root before each server start: creates the servers' journal folder (never/var/log/journalitself) and gives theterrariagroup read access, repairing existing journal files too. - The note shown by
attachandcmdwhen output can't be read now distinguishes "not in theterrariagroup" from "in it, but the journal isn't set up yet". - Upgrading: running servers keep logging to the system journal until restarted; the package lists the ones to restart.
0.0.10 - 2026-09-30
cmdnow prints the server's reply to the command, instead of only saying where to find it. It waits until the server has been quiet for a second, up to 5 seconds.attachandcmdnow explain when you can send commands but not see the server's output. That happens for members of theterrariagroup who aren't root or insystemd-journal. Previouslyattachshowed nothing, without saying why.- Replaced a
${var:+...}expansion with an explicitifinimport's summary message (ShellCheck SC2016). The output is unchanged.
0.0.9 - 2026-09-28
- New
exportcommand:terractl export <name> [file.tar.gz] [--with-server]archives an instance'sinstance.conf,serverconfig.txtanddata/(worlds, mods, mod configs). If the server is running under systemd, it is asked to save first. Archives are created readable only by their owner, sinceserverconfig.txtcan contain the server password.--with-serveralso includes the unpacked server software (and tModLoader's .NET), for hosts without internet access. - New
importcommand:terractl import <name> <file.tar.gz>creates an instance from an export, adeletebackup, or an archive of an old/opt/terrariainstance. Archives are checked before extracting (no paths outside the instance folder, no links or special files). Paths inserverconfig.txtare updated, a port already used by another instance is replaced with a free one, the server version the world was exported with is pinned, and ownership is set to theterrariauser. - One server per instance:
runholds a lock (<instance>/.lock) for the server's whole lifetime, released automatically when it exits or crashes. A secondrun, or starting the service while a copy started by hand is running, is refused. prepareandreinstall --cleanrefuse to run while the instance's server is running, soserver/and .NET are never replaced or deleted under it.deleterefuses to continue if the server is still running outside systemd.listshows servers started by hand asrunning (outside systemd).stoptyped by hand now explains to usesystemctl stopinstead of silently doing nothing.- Fixed relative paths given on the command line (e.g.
terractl mods <name> add tmod-export) being looked up from/instead of the current directory. - Bash completion for
exportandimport.
0.0.8 - 2026-09-28
- Bash completion for
terractl: commands, instance names,newtypes, console commands forcmd,reinstall/deleteoptions, andmodsactions and mod names. Installed toshare/bash-completion/completions/terractlby bothmake installand the package.
0.0.7 - 2026-09-28
- Fixed ShellCheck warnings that made
make check(and thereforemake deb) fail when ShellCheck is installed: simplified the development-copy check in--version(SC2140), and marked the intentional unquoted unit list inprerm(SC2086).
0.0.6 - 2026-09-28
- Renamed the command from
terraria-instancetoterractl, and the package fromterraria-instancetoterraria-server-manager. The new package replaces the old one automatically; see "Upgrading from the terraria-instance package" in the guide. - Settings file moved from
/etc/default/terraria-instanceto/etc/default/terractl. - New
terractl --version. - New Makefile:
make check,make deb,make install,make uninstall. - Restructured the source into a git repository layout.
0.0.5 - 2026-09-28
- Fixed
attach: detaching with Ctrl-D printed "jpid: unbound variable" and left ajournalctlprocess running.
0.0.4 - 2026-09-28
- The .NET runtime that tModLoader downloads on first start (and its logs) is now kept when an instance is upgraded or re-unpacked.
- New
reinstall --cleanto discard .NET as well and download it again.
0.0.3 - 2026-09-28
- New
modscommand:list,add,enable,disable,remove. Accepts the Windows export folder directly and sets file ownership. newandpreparenow createdata/Modsfor tModLoader instances.
0.0.2 - 2026-09-28
- Fixed
preparefailing for tModLoader zips when run as root from a directory theterrariauser can't enter (e.g./root).
0.0.1 - 2026-09-28
- First Debian package. Uses
/var/lib/terrariainstead of/opt/terrariaand/terraria, creates theterrariauser and directories with sysusers.d and tmpfiles.d, and stops instances cleanly when removed. prepareandrunswitch to theterrariauser when started as root, so no files end up owned by root.- New
deletecommand, with an automatic backup. listno longer aborts when an instance's config can't be read.