Commit Graph
10 Commits
Author SHA1 Message Date
adamandClaude Opus 5.5 3a3b4b8eb9 add AGENTS.md
Guidance for agents working on the repo: layout, build and checks, the
invariants (ownership, permissions, sandbox, data safety), code
conventions, a checklist for adding commands, testing without root,
docs style, the changelog, releases and git.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 22:41:31 +00:00
adamandClaude Opus 5.5 fc2c08d47b add doctor, scheduled backups and fetch; release 0.0.12
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>
2026-10-02 22:26:56 +00:00
adamandClaude Opus 5.5 8a509f1398 check the terraria user can run terractl before switching to it
upgrade (before stopping anything) and prepare/run started as root now
refuse with an explanation when terractl is somewhere the terraria user
can't open, such as a copy under /root, instead of failing with
"env: Permission denied". upgrade also says when it started the server
again after a failure.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 22:03:43 +00:00
adamandClaude Opus 5.5 7adf5c2999 warn when the services can't reach moved folders
- list, new, import and enable check TERRARIA_BASE and TERRARIA_DIST
  against the units' ProtectSystem/ProtectHome/ReadWritePaths
  (terraria@ always, terractld when it's on) and print the drop-in
  to add. prepare explains why it can't create an instance folder.
- Guide: bind mounts and drop-ins under "Changing locations", and a
  new section for instances or zips under /home.
- journal-access in tab completion and the command reference.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 21:51:29 +00:00
adam 4f0886b6cd use journal namespace 2026-09-30 15:06:48 +00:00
adam ae4299a570 fix shellcheck 2026-09-29 16:55:52 +00:00
adam d4bd93bbe1 fix versioning 2026-09-28 17:20:37 +00:00
adam 675f5308e6 bash autocompletions 2026-09-28 17:18:41 +00:00
adam 47808ffa17 fix shellcheck 2026-09-28 17:05:12 +00:00
adam 910b438686 initial commit 2026-09-28 16:52:30 +00:00