worldserver service silently stopping: inherited systemd override
The worldserver service exited immediately with code 0 and no output. A systemd override left by the previous installation replaced the start command; it was removed and the databases, partially filled by the diagnostic tests, were recreated empty.
Symptom
systemctl start ac-worldserver: service active, then Deactivated successfully within the same second, no log line. Run by hand or through systemd-run with the same protections, the same command works.
Cause
systemctl cat reveals an ac-worldserver.service.d/coredump.conf file left by the previous installation: it cleared ExecStart and replaced it with a screen launch of a binary that no longer exists. screen -D -m exited at once with code 0.
Fix
- Override removed (a copy exists in the previous version's archive),
daemon-reload. - The diagnostic tests had been interrupted mid-import: the three databases, which held no data yet, were dropped and recreated empty before the real first start.
Lesson
Always check a service's effective definition with systemctl cat, which also shows overrides, rather than only the main unit file.