- summary: An integrity challenge: the server names a game file and asks the client to measure it.
- area: Game.Client.Verification
- confidence: 0.99
An integrity challenge: the server names a game file and asks the client to measure it.
- Kind event
- Area Game.Client.Verification
- Named by beta, gamemapping
AN INTEGRITY CHECK. The server names a file and an algorithm; the client
measures that file and answers with FileCheckRequest.
What the client actually does, in order: it sanitises file_name with a regular
expression, resolves it BENEATH THE APPLICATION DATA DIRECTORY, checks the file
exists, reads its bytes, and then either reports the byte length as a decimal
string or computes a checksum - whichever check_type selected. The reply
carries that same enum back unchanged alongside the result.
TWO THINGS FOLLOW FOR ANYONE WRITING A CLIENT. The path is relative and is resolved under the game's own data directory, so it never names anything outside the installation. And the answer is a measurement of a real file: an implementation that does not have the game's files installed has nothing honest to report.
check_type decides which measurement is wanted - see CheckType. Echo it
back exactly.
When you may send it
- Requires
authenticatedobserved
Related messages
- You must then send
FileCheckRequestproven — the client measures the named file and returns the result; leaving it unanswered is a shape the real client never produces - Unsolicited - nothing you send causes this the server challenges on its own schedule
Fields
| # | Field | Type | Meaning | You set it |
|---|---|---|---|---|
| 1 | check_type | CheckType | Which measurement the server wants. A CheckType value. Echo it back unchanged in the answer. | never |
| 4 | file_name | string | The game file to measure, as a path relative to the application data directory. The client sanitises it and resolves it beneath its own data path before opening it. | never |
Recovered with score 200, confidence 0.99, margin 200 over the runner-up. A margin close to the score means nothing else came near; a thin margin means a decoy nearly won. Members recovered: 2 of 4.
Aucun avis à afficher.