Files
terraria-server-manager/CHANGELOG.md
T
2026-09-29 16:40:56 +00:00

4.0 KiB

Changelog

0.0.9 - 2026-09-28

  • New export command: terractl export <name> [file.tar.gz] [--with-server] archives an instance's instance.conf, serverconfig.txt and data/ (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, since serverconfig.txt can contain the server password. --with-server also includes the unpacked server software (and tModLoader's .NET), for hosts without internet access.
  • New import command: terractl import <name> <file.tar.gz> creates an instance from an export, a delete backup, or an archive of an old /opt/terraria instance. Archives are checked before extracting (no paths outside the instance folder, no links or special files). Paths in serverconfig.txt are 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 the terraria user.
  • One server per instance: run holds a lock (<instance>/.lock) for the server's whole lifetime, released automatically when it exits or crashes. A second run, or starting the service while a copy started by hand is running, is refused.
  • prepare and reinstall --clean refuse to run while the instance's server is running, so server/ and .NET are never replaced or deleted under it.
  • delete refuses to continue if the server is still running outside systemd.
  • list shows servers started by hand as running (outside systemd).
  • stop typed by hand now explains to use systemctl stop instead 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 export and import.

0.0.8 - 2026-09-28

  • Bash completion for terractl: commands, instance names, new types, console commands for cmd, reinstall/delete options, and mods actions and mod names. Installed to share/bash-completion/completions/terractl by both make install and the package.

0.0.7 - 2026-09-28

  • Fixed ShellCheck warnings that made make check (and therefore make deb) fail when ShellCheck is installed: simplified the development-copy check in --version (SC2140), and marked the intentional unquoted unit list in prerm (SC2086).

0.0.6 - 2026-09-28

  • Renamed the command from terraria-instance to terractl, and the package from terraria-instance to terraria-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-instance to /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 a journalctl process 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 --clean to discard .NET as well and download it again.

0.0.3 - 2026-09-28

  • New mods command: list, add, enable, disable, remove. Accepts the Windows export folder directly and sets file ownership.
  • new and prepare now create data/Mods for tModLoader instances.

0.0.2 - 2026-09-28

  • Fixed prepare failing for tModLoader zips when run as root from a directory the terraria user can't enter (e.g. /root).

0.0.1 - 2026-09-28

  • First Debian package. Uses /var/lib/terraria instead of /opt/terraria and /terraria, creates the terraria user and directories with sysusers.d and tmpfiles.d, and stops instances cleanly when removed.
  • prepare and run switch to the terraria user when started as root, so no files end up owned by root.
  • New delete command, with an automatic backup.
  • list no longer aborts when an instance's config can't be read.