39 lines
2.2 KiB
Markdown
39 lines
2.2 KiB
Markdown
# Endgame calendar and /faketime
|
|||
|
|
|
||
|
|
The user confirmed PF/AS unlocked after relogging with the shared fake game
|
||
|
|
clock. The Client's `ChallengeModule.GetChallengeGroupData(id)` exposes the
|
||
|
|
actual `BeginTimeStamp` and `EndTimeStamp` used by its schedule checks.
|
||
|
|
Captured windows showed that the last imported MoC and PF rounds ended on
|
||
|
|
2026-10-26 at 20:00 UTC, while AS also contained a newer round starting then.
|
||
|
|
Changing the activity-panel end time alone does not change these local
|
||
|
|
challenge windows.
|
||
|
|
|
||
|
|
For this installation, the overlapping captured windows of groups 1037, 2028
|
||
|
|
and 3022 run from Unix 1790452802 to 1793044800. The midpoint, Unix 1791748801
|
||
|
|
(2026-10-11T20:00:01Z), was selected through `/faketime`, and the user verified
|
||
|
|
the unlock. These are recorded Client observations, not IDs or dates embedded
|
||
|
|
as defaults in the command implementation. The raw bounded capture remains
|
||
|
|
in ignored `.runtime/endgame-windows-capture.json`.
|
||
|
|
|
||
|
|
Use the command field in GaC-Srtool:
|
||
|
|
|
||
|
|
- `/faketime status` (or `/faketime`) reports current game time and offset.
|
||
|
|
- `/faketime 1791748801` sets Unix seconds.
|
||
|
|
- `/faketime 2026-10-12T03:00:01+07:00` sets an explicit zoned date.
|
||
|
|
- `/faketime off` restores real time (`reset` and `real` are equivalent).
|
||
|
|
|
||
|
|
The fake clock keeps advancing. Its offset is atomically saved to
|
||
|
|
`game_clock.state_file`, configured in `server.json`, local overrides, or
|
||
|
|
`GAC_GAME_CLOCK_STATE_FILE`. With no state file configured, reads use real time
|
||
|
|
and attempts to set fake time fail with a configuration error. Login and
|
||
|
|
heartbeat timestamps both use this clock. OS time, logs, leases and network
|
||
|
|
timeouts remain based on real time. No avatar, inventory, EX or CW save is
|
||
|
|
rewritten by this command. Reopen the guide after a heartbeat; relog if the
|
||
|
|
Client retains schedule selections.
|
||
|
|
|
||
|
|
Validation: shared-state/real-time-reset/read-only-state/invalid-offset tests,
|
||
|
|
runtime config and dispatch checks, launcher configuration check, both server
|
||
|
|
builds, live SDK status and invalid-date requests, then a successful live
|
||
|
|
`/faketime` update and user-confirmed Client unlock. Temporary capture scripts
|
||
|
|
were removed from `scripts/` after collection; maintained probe sources remain
|
||
|
|
under `tools/` only.
|