zio fork 1.8.2b-zio15: in-game gags/mutes/silences expire with TimeMode 0
Some checks are pending
Build and Publish / build (push) Waiting to run
Build and Publish / publish (push) Blocked by required conditions

The in-memory penalty was only cleared when its end time exactly matched the
database row's, which never happens for one given in game (sub-second vs
to-the-second), so it lasted until reconnect. Match by type within 5 seconds,
and stop applying a penalty as soon as it's marked passed.
This commit is contained in:
Astra 2026-10-03 00:15:03 +01:00
parent 7b3d0ed452
commit dc5ad30952
4 changed files with 39 additions and 5 deletions

View file

@ -33,6 +33,10 @@ from the `build-1.8.2b` tag). Changes, all marked `zio:` in the code:
highest-immunity group, and who changed it) to `sa_rank_log`, the table simpleadmin-web creates
and lists as the public promotions/demotions log. If the table is missing, it warns once in the
log and the admin change goes ahead.
- With `TimeMode` 0 (online time only), a gag, mute or silence given in game now ends when its
database row expires. Upstream matched the two by exact end time, which never matched for one
given in game (the database stores the time to the second), so it lasted until the player
reconnected. A penalty marked passed also stops applying at once, not on the next 61-second tick.
Publish with `FORGEJO_TOKEN=... ./release.sh v<ModuleVersion>` (ModuleVersion is `1.8.2b-zioN`).
It rebuilds from the committed source and uploads `SimpleAdmin-<tag>.tar.gz` to git.zio.sh