Get desktop application:
View/edit binary Protocol Buffers messages
Used in: ,
Secret keys for authorize client packets.
Client IP address. Host byte order. XXX: Not actually used.
The initial character spec for the client.
The 128-bit shared key used to hash client packets
Used in:
Used in:
Used in:
Don't consume requests when session count reaches this limit. Cannot be higher than port_range / 2.
Max # of auth failures by either client before closing.
Close if either client hasn't sent a handshakes after this long.
Should match UTBNetSession::HandshakeTimeoutSecs
Close if one client stops sending for too long. Must be long enough to cover the window between handshake and sync start. Must be longer than goodbye_timeout_ms.
Close after this long, no matter what.
4h = 60 * 60 * 4 * 1000
Time between first and second client goodbye, after which the session is marked as disconnect.
4h = 60 * 60 * 4 * 1000
If other player disconnects within this time, call it double-disconnect.
Time allowed to select new variants
Time to allow after final Goodbye for input reporting stream to terminate.
Max number of handshake reply packets to send.
Milliseconds between handshake replies.
Max number of variant change reply packets to send.
Milliseconds between variang change replies.
Number of games wins to determine the victor of the match.
Pushed to a Redis list when a game session is over.
Used in:
128-bit UUID of the session.
Unix timestamp when session was opened.
Unix timestamp when session closed, gracefully or not.
If HANDSHAKE_TIMEOUT or DISCONNECT, the list of player slots (0, 1) who failed to handshake or failed to Goodbye within the time window of the opponent.
Deprecated fields.
If Resolution == DISCONNECT, the reason for the disconnect.
Used in:
No disconnect (default value)
One or both clients stopped sending packets
One client sent a goodbye and the other client didn't
If HANDSHAKE_FAIL, the reason given by clients.
Used in:
The ping report (averaged between the two clients). Present if HANDSHAKE_FAIL && HIGH_PING, GOODBYE, or DISCONNECT
Used in:
Stats collected from individual players.
Used in:
Seconds between handshake report and first game report with frame_count > 0.
Used in:
All clients closed gracefully.
One or more clients failed to contact the server, or report peer-to-peer status.
Handshake succeeded, but one or both clients stopped sending packets
without saying goodbye.
Session exceeded the max lifetime.
Clients reached the server but not each other.
Request a new game session.
Used in:
Clients of the portal, should be exactly 2.
Queue to publish input events.
Allow GameResetRequest to reset options for next game?
Enqueued by portal in response to handling an GameSessionResponse.
Used in:
Public IP address of the portal server. Host byte order.
Listening ports for each client of the portal, in the same order as client_ip in the request. (e.g. client_ip[0] should connect to public_ip:public_port[0]).
Used in:
IP address to return in responses.
Allocate from port numbers [ port_base, port_base+port_range*instance )
Used in:
Number of frames of input per client report.
Number of frames of input per outgoing event bucket.
Used in:
Number of packets to bounce
Give waiting up after how many ms?
Send next packet after no valid response for how many ms?
Used in:
Number of pings sent and responses received.
Max latency observed in milliseconds.
Average latency observed in milliseconds.
Used in:
Ping test completed successfully.
No responses from client.
Used in:
Client that will be performing the ping.
Used in:
Public IP address of the portal server running the ping test. Host byte order.
Listening port of the ping test.
Used in:
Address of the Redis server.
Redis key to BLPOP for Request messages.
Requests older than this many seconds are discarded with no response.
Response keys are set to EXPIRE in Redis after this many seconds. Set to 0 to disable expiry.
Report for action completion.
Incoming request; may be either for a session or ping test.
Caller-specified value that will be provided in future messages about this request. This is actually the matchId for game sessions.
Redis channel to publish the request handling response.
Unix timestamp when request was queued. Requests too old will be ignored.
List to RPUSH the serialized report when the workflow completes.
Used in: , ,
Response to a request, published to Request.response_channel.
128-bit uuid of the operation on success.
Used in:
Session / ping test active.
Request received but not valid.
Server was too busy to handle the request.
Failed in network layer (bind).
Server reads this proto in text format as a configuration file.
Used in:
Prometheus status, 0 to disable.
URI to respond on for metrics.
Health check endpoint.
List of CIDR net ranges to allow. Empty to allow all.