Files
GaCy-GO/docs/endgame-faketime.md
T

39 lines
2.2 KiB
Markdown
Raw Normal View History

# 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.