- summary: Answers the server's sequence poll with how many of those polls this connection has received.
- area: Game.Basic
- confidence: 0.95
Answers the server's sequence poll with how many of those polls this connection has received.
- Kind request
- Area Game.Basic
- Named by beta, gamemapping
Answers SequenceNumberEvent. One integer: a counter this connection keeps.
WHEN TO SEND IT
ONCE PER POLL, IMMEDIATELY, AND FROM NOWHERE ELSE. The client builds this message in exactly one place - inside the handler for the poll - and replies unconditionally, before anything else looks at the event. There is no timer and no proactive path.
WHAT THE COUNTER ACTUALLY COUNTS
NOT INBOUND MESSAGES. NOT EVENTS OF EVERY KIND. It counts the
SequenceNumberEvent polls that have arrived on THIS connection, and nothing
else touches it. The whole rule is two lines:
when the socket becomes active: n = 0 when a poll arrives: n = n + 1, then reply with n
Three consequences, all of them visible to the server:
IT RESTARTS AT EVERY RECONNECTION. The reset is bound to the socket becoming active, not to logging in, so a reconnect starts again from zero. Carrying a count across connections is wrong.
THE FIRST REPLY CARRIES 1, NEVER 0. The counter is incremented before the reply is built.
EACH CONNECTION HAS ITS OWN. If you hold two game sockets at once (see
IdentificationRequest), each counts its own polls independently. There is no
shared total.
A bot that hard-codes a constant, counts the wrong thing, restarts mid-connection or carries the number across a reconnect is producing traffic no real client produces - and this is the one number in the exchange the server can recompute exactly, because it sent every poll itself.
THIS COUNTER IS NOT THE ENVELOPE UID
They are different numbers living in different places, and confusing them is the
easy mistake here. The counter is the payload. The uid is transport-level - and for
this particular message the client does not allocate one at all: it writes the
reply straight down the connection rather than through the normal request path, so
the envelope goes out with the uid set to -1. BasicLatencyStatsRequest,
answering the poll that arrives in the same frame, does carry a real uid. Two
replies to one frame, two different envelope shapes.
When you may send it
- Requires
authenticatedobserved
Related messages
- Answers
SequenceNumberEvent
Fields
| # | Field | Type | Meaning | You set it |
|---|---|---|---|---|
| 1 | number | int32 | How many sequence polls this connection has received, counting the one being answered. (poll count) Range: starts at 1 on each new connection and increases by one per poll It counts THESE polls only, not inbound messages in general, and it is reset when the socket becomes active rather than when you log in. | required |
Recovered with score 85, confidence 0.95, margin 85 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: 1 of 1.
Aucun avis à afficher.