Add persistent AFK reserves for both engines (Refs #12)

This commit is contained in:
2026-10-17 16:56:06 -04:00
parent 7b95f604b4
commit 6781a4ed5a
22 changed files with 3840 additions and 248 deletions
+37
View File
@@ -6,6 +6,43 @@ T5/T6 script and each native plugin. Current versions are recorded in
## 2026-10-17
### Persistent AFK reserve and immediate expiration (Refs #12)
| Component | Version | Affected source |
| --- | --- | --- |
| `tws_t5_afk.gsc` | `2.0.0` | `t5/scripts/tws_t5_afk.gsc` |
| `tws_t6_afk.gsc` | `2.0.0` | `t6/scripts/tws_t6_afk.gsc` |
| `t5-plugin` | `1.4.0` | `src/component/afk.cpp`, `src/utils/afk.*` |
| `t6-plugin` | `1.4.0` | `src/component/afk.cpp`, `src/utils/afk.*` |
- Replace unlimited AFK with shared GUID reserves, authenticated authorization,
explicit bank purchase confirmation, real contribution rewards and durable
request/session journals. Both engines use matching contracts and behavior.
- Show an independent central countdown, final-minute urgency and audible warnings.
Zero immediately releases AFK protection and owned controls/weapons. Manual
`.back` retains its separate two-second grace; it cannot renew an AFK session.
Reject downed activation (including T5), stock restrictions and last-active-player
entry. End the match when only AFK players remain, respecting stock recovery.
- Award each successful revive, including repeated revives of one teammate. Count
kill/headshot events, round participation and active engagement without using
score changes. EC owns configurable rates, caps, persistent progress and atomic
bank conversion; no second points bank is introduced.
- Compatibility: AFK `2.0.0` requires matching TWS plugin `1.4.0+` (native AFK API
`1.0.0`), common `1.4.0+`, telemetry `1.0.0+`, Plutonium r5334+ and the EC #151
endpoints. EC host agent `1.12.0+` must be deployed before activation. Existing
private `tws_bank_token` and `tws_server_id` authenticate requests. There is no
new upstream dependency pin or native loader `plugin_version()` requirement.
- Deployment: deploy EC and upgraded host agents first; build/install both plugin
DLLs and matching scripts, retain persistent `tws-afk` storage, then **fully
restart each game-server process**. No deployment, Windows DLL build or live
Plutonium validation is claimed. See [AFK operation and validation](docs/afk.md).
- Validation: both engines pass native AFK journal/adapter tests with ASan/UBSan,
39 AFK behavior checks, 14 core HUD and 56 service HUD checks. All nine T6 scripts
compiled/assembled with upstream gsc-tool `8f1d6bd` T6 PC compiler/assembler
libraries. Script and integration checks are documented in the AFK guide; final
in-game T5/T6 validation remains required. Unchanged common/HUD/bank/telemetry
scripts retain their individual versions.
### Center the complete zombie count above the health bar
| Component | Version | Affected source |