https://gitlab.synchro.net/main/sbbs/-/commit/f6cb31ded76c799d5c496f87
Modified Files:
src/doors/syncdoom/mp_server.c xtrn/syncdoom/syncdoom_lib.js
Log Message:
syncdoom: quit empty matches fast + reap dead servers' registry files
Two fixes so abandoned/dead games stop lingering in the Browse list:
- mp_server.c: once a client has connected, an empty match (creator cancelled,
everyone left, or the game finished) now quits after ~8s instead of the full
60s idle timeout. A never-joined spawn keeps the full grace (its creator's
connect is still in flight). An empty match is already hidden from Browse, so
nobody can join it during the wait anyway.
- sd_list_games: a clean shutdown removes its own .ini, but an unclean death
(kill/crash) leaves it frozen at its last heartbeat. Reap (delete) such a
file once it's well past stale (x3, leaving margin for SMB attribute-cache
lag on a shared cross-host games dir); a still-live server re-creates its
file on the next heartbeat. The merely-stale window still just hides it.
Validated: reap test deletes only the ancient orphan, keeps stale/empty ones hidden-but-present, lists the joinable game.
Co-Authored-By: Claude Opus 4.8 <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net