Files
tws-zombies-scripts/CHANGELOG.md
T

143 lines
8.1 KiB
Markdown

# Changelog
Changes are listed newest first, with an independent version for every individual
T5/T6 script and each native plugin. Current versions are recorded in
[versions.json](versions.json); see the [version policy](README.md#versioning).
## 2026-10-12
### T6 newcomer join eligibility — `tws_t6_join.gsc` `1.0.1`
- Fix `t6/scripts/tws_t6_join.gsc` treating the initial T6 setup spawn as
gameplay, which rejected a new spectator's `.join` on Farm Survival round 3.
Wait for the stock delayed spectator transition, then record actual play.
Continue observing later spawns so waiting for the next round cannot grant
an extra life after death. Reject requests while a spawn is settling; a real
death during that window also permanently closes eligibility.
- T5 is unchanged: its separate SP spawn flow and `self.initialized` guard
do not use T6's delayed game-mode spectator transition.
- Compatibility: existing T6 common `1.0.0` or later; no new dependency
requirement. Deploy the updated join script to `storage/t6/scripts/zm/`
and restart the map. No full server-process restart is required.
- Portable regression fixtures: `node tools/check_join.mjs`. Compilation and
live Plutonium validation remain required; no deployment was performed.
### Persistent top-left Discord URL
| Script | Version | Affected source |
| --- | --- | --- |
| `tws_t5_hud.gsc` | `1.1.0` | `t5/scripts/tws_t5_hud.gsc` |
| `tws_t5_common.gsc` | `1.1.0` | `t5/scripts/tws_t5_common.gsc` |
| `tws_t6_hud.gsc` | `1.1.0` | `t6/scripts/tws_t6_hud.gsc` |
| `tws_t6_common.gsc` | `1.1.0` | `t6/scripts/tws_t6_common.gsc` |
- Add `https://discord.thewrightserver.net` as a small, light-gray top-left
HUD label, created once per connection, including spectator newcomers.
It has no expiry or death/respawn reset and is cleaned up on disconnect.
Move the gameplay stack down 20 HUD units to leave room above the timers;
help and record positioning follow the shared layout automatically.
- Both engines receive the feature using their existing HUD anchors: T5
left/top safe-area alignment and T6 fullscreen alignment.
- Compatibility: deploy each game's HUD and common `1.1.0` together for the
reserved top line. No new native plugin or external dependency requirement.
Other scripts and both plugins retain their existing versions.
- Deployment: copy the updated HUD and common scripts to `storage/t5/scripts/sp/`
or `storage/t6/scripts/zm/`, respectively, and restart the map. No full
server-process restart is required. No deployment has been performed here.
- Live validation remains required on both Plutonium games: check placement
and readability, join as a spectator, die/respawn, reconnect, and open help
and records to verify spacing and that only one URL label appears.
### Initial versioning baseline
Established independent version `1.0.0` entries for each of the 14 scripts and
both plugins from source commit
`b508b6739b185d5048e8a8f96ccb16e429f1d37a`. This records the existing source state;
earlier changes remain in Git history without retroactively assigned versions.
The baseline introduces `versions.json`, this changelog, the README links and
version policy, and the maintenance rules in `AGENTS.md`. It changes no game
script or plugin behavior and requires no deployment by itself.
The component entries below summarize the existing functionality and deployment
requirements for servers adopting this baseline. Version assignment does not
indicate that a Windows build, live-game validation, or deployment was performed.
### T5 script baselines
Each row is a separately versioned script under `t5/scripts/`.
| Script | Version | Existing functionality |
| --- | --- | --- |
| `tws_t5_afk.gsc` | `1.0.0` | AFK toggle, protection, and indicator |
| `tws_t5_common.gsc` | `1.0.0` | Shared configuration, helpers, commands, and player dispatchers |
| `tws_t5_hud.gsc` | `1.0.0` | Timers, zombie count, and health display |
| `tws_t5_join.gsc` | `1.0.0` | Immediate join for newcomers |
| `tws_t5_leaderboard.gsc` | `1.0.0` | Map record announcements and `.leaders` command |
| `tws_t5_lock.gsc` | `1.0.0` | Lobby lock at the configured round milestone |
| `tws_t5_telemetry.gsc` | `1.0.0` | Game reports, durable boundary retries, balance and cumulative score |
- Compatibility: these initial script versions use `tws_t5_common.gsc` `1.0.0`;
lobby lock also needs `tws_t5_hud.gsc` `1.0.0`. Telemetry and leaderboard use
TWS T5 plugin `1.0.0`. Telemetry additionally requires
Electric Cherry's match/sequence deduplication and `score_total` support;
follow the [receiver and plugin rollout order](README.md#telemetry-delivery-and-rollout-t5-and-t6).
Disabling telemetry by dvar does not remove its native linking requirements.
- Deployment: follow the [T5 installation/upgrade instructions](t5/scripts/README.md#install--upgrade),
copy the desired scripts and their required dependencies to
`storage/t5/scripts/sp/`, and restart the map.
Installing or updating the required plugin needs a full server-process restart.
### T6 script baselines
Each row is a separately versioned script under `t6/scripts/`, adapted to T6 APIs
and map variants.
| Script | Version | Existing functionality |
| --- | --- | --- |
| `tws_t6_afk.gsc` | `1.0.0` | AFK toggle, protection, and indicator |
| `tws_t6_common.gsc` | `1.0.0` | Shared configuration, helpers, commands, and player dispatchers |
| `tws_t6_hud.gsc` | `1.0.0` | Timers, zombie count, and health display |
| `tws_t6_join.gsc` | `1.0.0` | Immediate join for newcomers |
| `tws_t6_leaderboard.gsc` | `1.0.0` | Map record announcements and `.leaders` command |
| `tws_t6_lock.gsc` | `1.0.0` | Lobby lock at the configured round milestone |
| `tws_t6_telemetry.gsc` | `1.0.0` | Game reports, durable boundary retries, balance and cumulative score |
- Compatibility: these initial script versions use `tws_t6_common.gsc` `1.0.0`;
lobby lock also needs `tws_t6_hud.gsc` `1.0.0`. Telemetry and leaderboard use
TWS T6 plugin `1.0.0`. Telemetry additionally requires
Electric Cherry's match/sequence deduplication and `score_total` support;
follow the [receiver and plugin rollout order](README.md#telemetry-delivery-and-rollout-t5-and-t6).
Disabling telemetry by dvar does not remove its native linking requirements.
- Deployment: follow the [T6 installation instructions](t6/scripts/README.md#install),
copy the desired scripts and their required dependencies to
`storage/t6/scripts/zm/`, and restart the map.
Installing or updating the required plugin needs a full server-process restart.
### T5 plugin — 1.0.0
- Baseline: the TWS-maintained plugin, including configurable HTTP deadlines,
status/timing diagnostics, and durable telemetry storage and response helpers.
- Source covered: `t5/plugins/tws-t5-gsc-utils/` and the existing shared plugin
build/dependency tooling under `tools/`.
- Compatibility: provides the native functions used by `tws_t5_telemetry.gsc`
`1.0.0` and `tws_t5_leaderboard.gsc` `1.0.0`.
Upstream source and dependency pins remain in the plugin's `upstream.json`.
Upstream binary downloads do not include these TWS changes.
- Deployment: [build the x86 DLL on Windows](README.md#building-plugins), install
`tws-t5-gsc-utils.dll` in `Plutonium/plugins/`, remove the old upstream DLL if
present, and restart the full server process before loading dependent scripts.
### T6 plugin — 1.0.0
- Baseline: the matching TWS T6 plugin with configurable HTTP deadlines,
status/timing diagnostics, and durable telemetry storage and response helpers.
- Source covered: `t6/plugins/tws-t6-gsc-utils/` and the existing shared plugin
build/dependency tooling under `tools/`.
- Compatibility: provides the native functions used by `tws_t6_telemetry.gsc`
`1.0.0` and `tws_t6_leaderboard.gsc` `1.0.0`.
Upstream source and dependency pins remain in the plugin's `upstream.json`.
Upstream binary downloads do not include these TWS changes.
- Deployment: [build the x86 DLL on Windows](README.md#building-plugins), install
`tws-t6-gsc-utils.dll` in `Plutonium/plugins/`, remove the old upstream DLL if
present, and restart the full server process before loading dependent scripts.