tf2
Version:
Exposes a simple API for interacting with the Team Fortress 2 game coordinator
905 lines (847 loc) • 1.06 MB
JavaScript
/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
(function(global, factory) { /* global define, require, module */
/* AMD */ if (typeof define === 'function' && define.amd)
define(["protobufjs/minimal"], factory);
/* CommonJS */ else if (typeof require === 'function' && typeof module === 'object' && module && module.exports)
module.exports = factory(require("protobufjs/minimal"));
})(this, function($protobuf) {
"use strict";
// Common aliases
var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;
// Exported root namespace
var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {});
/**
* ESteamDatagramMsgID enum.
* @exports ESteamDatagramMsgID
* @enum {string}
* @property {number} k_ESteamDatagramMsg_Invalid=0 k_ESteamDatagramMsg_Invalid value
* @property {number} k_ESteamDatagramMsg_RouterPingRequest=1 k_ESteamDatagramMsg_RouterPingRequest value
* @property {number} k_ESteamDatagramMsg_RouterPingReply=2 k_ESteamDatagramMsg_RouterPingReply value
* @property {number} k_ESteamDatagramMsg_GameserverPingRequest=3 k_ESteamDatagramMsg_GameserverPingRequest value
* @property {number} k_ESteamDatagramMsg_GameserverPingReply=4 k_ESteamDatagramMsg_GameserverPingReply value
* @property {number} k_ESteamDatagramMsg_GameserverSessionRequest=5 k_ESteamDatagramMsg_GameserverSessionRequest value
* @property {number} k_ESteamDatagramMsg_GameserverSessionEstablished=6 k_ESteamDatagramMsg_GameserverSessionEstablished value
* @property {number} k_ESteamDatagramMsg_NoSession=7 k_ESteamDatagramMsg_NoSession value
* @property {number} k_ESteamDatagramMsg_Diagnostic=8 k_ESteamDatagramMsg_Diagnostic value
* @property {number} k_ESteamDatagramMsg_DataClientToRouter=9 k_ESteamDatagramMsg_DataClientToRouter value
* @property {number} k_ESteamDatagramMsg_DataRouterToServer=10 k_ESteamDatagramMsg_DataRouterToServer value
* @property {number} k_ESteamDatagramMsg_DataServerToRouter=11 k_ESteamDatagramMsg_DataServerToRouter value
* @property {number} k_ESteamDatagramMsg_DataRouterToClient=12 k_ESteamDatagramMsg_DataRouterToClient value
* @property {number} k_ESteamDatagramMsg_Stats=13 k_ESteamDatagramMsg_Stats value
* @property {number} k_ESteamDatagramMsg_ClientPingSampleRequest=14 k_ESteamDatagramMsg_ClientPingSampleRequest value
* @property {number} k_ESteamDatagramMsg_ClientPingSampleReply=15 k_ESteamDatagramMsg_ClientPingSampleReply value
* @property {number} k_ESteamDatagramMsg_ClientToRouterSwitchedPrimary=16 k_ESteamDatagramMsg_ClientToRouterSwitchedPrimary value
* @property {number} k_ESteamDatagramMsg_RelayHealth=17 k_ESteamDatagramMsg_RelayHealth value
* @property {number} k_ESteamDatagramMsg_ConnectRequest=18 k_ESteamDatagramMsg_ConnectRequest value
* @property {number} k_ESteamDatagramMsg_ConnectOK=19 k_ESteamDatagramMsg_ConnectOK value
* @property {number} k_ESteamDatagramMsg_ConnectionClosed=20 k_ESteamDatagramMsg_ConnectionClosed value
* @property {number} k_ESteamDatagramMsg_NoConnection=21 k_ESteamDatagramMsg_NoConnection value
* @property {number} k_ESteamDatagramMsg_RelayToRelayPingRequest=22 k_ESteamDatagramMsg_RelayToRelayPingRequest value
* @property {number} k_ESteamDatagramMsg_RelayToRelayPingReply=23 k_ESteamDatagramMsg_RelayToRelayPingReply value
* @property {number} k_ESteamDatagramMsg_P2PSessionRequest=24 k_ESteamDatagramMsg_P2PSessionRequest value
* @property {number} k_ESteamDatagramMsg_P2PSessionEstablished=25 k_ESteamDatagramMsg_P2PSessionEstablished value
*/
$root.ESteamDatagramMsgID = (function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "k_ESteamDatagramMsg_Invalid"] = 0;
values[valuesById[1] = "k_ESteamDatagramMsg_RouterPingRequest"] = 1;
values[valuesById[2] = "k_ESteamDatagramMsg_RouterPingReply"] = 2;
values[valuesById[3] = "k_ESteamDatagramMsg_GameserverPingRequest"] = 3;
values[valuesById[4] = "k_ESteamDatagramMsg_GameserverPingReply"] = 4;
values[valuesById[5] = "k_ESteamDatagramMsg_GameserverSessionRequest"] = 5;
values[valuesById[6] = "k_ESteamDatagramMsg_GameserverSessionEstablished"] = 6;
values[valuesById[7] = "k_ESteamDatagramMsg_NoSession"] = 7;
values[valuesById[8] = "k_ESteamDatagramMsg_Diagnostic"] = 8;
values[valuesById[9] = "k_ESteamDatagramMsg_DataClientToRouter"] = 9;
values[valuesById[10] = "k_ESteamDatagramMsg_DataRouterToServer"] = 10;
values[valuesById[11] = "k_ESteamDatagramMsg_DataServerToRouter"] = 11;
values[valuesById[12] = "k_ESteamDatagramMsg_DataRouterToClient"] = 12;
values[valuesById[13] = "k_ESteamDatagramMsg_Stats"] = 13;
values[valuesById[14] = "k_ESteamDatagramMsg_ClientPingSampleRequest"] = 14;
values[valuesById[15] = "k_ESteamDatagramMsg_ClientPingSampleReply"] = 15;
values[valuesById[16] = "k_ESteamDatagramMsg_ClientToRouterSwitchedPrimary"] = 16;
values[valuesById[17] = "k_ESteamDatagramMsg_RelayHealth"] = 17;
values[valuesById[18] = "k_ESteamDatagramMsg_ConnectRequest"] = 18;
values[valuesById[19] = "k_ESteamDatagramMsg_ConnectOK"] = 19;
values[valuesById[20] = "k_ESteamDatagramMsg_ConnectionClosed"] = 20;
values[valuesById[21] = "k_ESteamDatagramMsg_NoConnection"] = 21;
values[valuesById[22] = "k_ESteamDatagramMsg_RelayToRelayPingRequest"] = 22;
values[valuesById[23] = "k_ESteamDatagramMsg_RelayToRelayPingReply"] = 23;
values[valuesById[24] = "k_ESteamDatagramMsg_P2PSessionRequest"] = 24;
values[valuesById[25] = "k_ESteamDatagramMsg_P2PSessionEstablished"] = 25;
return values;
})();
/**
* ESteamNetworkingUDPMsgID enum.
* @exports ESteamNetworkingUDPMsgID
* @enum {string}
* @property {number} k_ESteamNetworkingUDPMsg_ChallengeRequest=32 k_ESteamNetworkingUDPMsg_ChallengeRequest value
* @property {number} k_ESteamNetworkingUDPMsg_ChallengeReply=33 k_ESteamNetworkingUDPMsg_ChallengeReply value
* @property {number} k_ESteamNetworkingUDPMsg_ConnectRequest=34 k_ESteamNetworkingUDPMsg_ConnectRequest value
* @property {number} k_ESteamNetworkingUDPMsg_ConnectOK=35 k_ESteamNetworkingUDPMsg_ConnectOK value
* @property {number} k_ESteamNetworkingUDPMsg_ConnectionClosed=36 k_ESteamNetworkingUDPMsg_ConnectionClosed value
* @property {number} k_ESteamNetworkingUDPMsg_NoConnection=37 k_ESteamNetworkingUDPMsg_NoConnection value
* @property {number} k_ESteamNetworkingUDPMsg_Stats=38 k_ESteamNetworkingUDPMsg_Stats value
*/
$root.ESteamNetworkingUDPMsgID = (function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[32] = "k_ESteamNetworkingUDPMsg_ChallengeRequest"] = 32;
values[valuesById[33] = "k_ESteamNetworkingUDPMsg_ChallengeReply"] = 33;
values[valuesById[34] = "k_ESteamNetworkingUDPMsg_ConnectRequest"] = 34;
values[valuesById[35] = "k_ESteamNetworkingUDPMsg_ConnectOK"] = 35;
values[valuesById[36] = "k_ESteamNetworkingUDPMsg_ConnectionClosed"] = 36;
values[valuesById[37] = "k_ESteamNetworkingUDPMsg_NoConnection"] = 37;
values[valuesById[38] = "k_ESteamNetworkingUDPMsg_Stats"] = 38;
return values;
})();
$root.CMsgSteamDatagramRouterPingReply = (function() {
/**
* Properties of a CMsgSteamDatagramRouterPingReply.
* @exports ICMsgSteamDatagramRouterPingReply
* @interface ICMsgSteamDatagramRouterPingReply
* @property {number|null} [client_timestamp] CMsgSteamDatagramRouterPingReply client_timestamp
* @property {Array.<number>|null} [latency_datacenter_ids] CMsgSteamDatagramRouterPingReply latency_datacenter_ids
* @property {Array.<number>|null} [latency_ping_ms] CMsgSteamDatagramRouterPingReply latency_ping_ms
* @property {number|null} [your_public_ip] CMsgSteamDatagramRouterPingReply your_public_ip
* @property {number|null} [server_time] CMsgSteamDatagramRouterPingReply server_time
* @property {number|Long|null} [challenge] CMsgSteamDatagramRouterPingReply challenge
* @property {number|null} [seconds_until_shutdown] CMsgSteamDatagramRouterPingReply seconds_until_shutdown
* @property {number|null} [client_cookie] CMsgSteamDatagramRouterPingReply client_cookie
* @property {number|null} [scoring_penalty_relay_cluster] CMsgSteamDatagramRouterPingReply scoring_penalty_relay_cluster
* @property {Array.<CMsgSteamDatagramRouterPingReply.IRouteException>|null} [route_exceptions] CMsgSteamDatagramRouterPingReply route_exceptions
*/
/**
* Constructs a new CMsgSteamDatagramRouterPingReply.
* @exports CMsgSteamDatagramRouterPingReply
* @classdesc Represents a CMsgSteamDatagramRouterPingReply.
* @implements ICMsgSteamDatagramRouterPingReply
* @constructor
* @param {ICMsgSteamDatagramRouterPingReply=} [properties] Properties to set
*/
function CMsgSteamDatagramRouterPingReply(properties) {
this.latency_datacenter_ids = [];
this.latency_ping_ms = [];
this.route_exceptions = [];
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
/**
* CMsgSteamDatagramRouterPingReply client_timestamp.
* @member {number} client_timestamp
* @memberof CMsgSteamDatagramRouterPingReply
* @instance
*/
CMsgSteamDatagramRouterPingReply.prototype.client_timestamp = 0;
/**
* CMsgSteamDatagramRouterPingReply latency_datacenter_ids.
* @member {Array.<number>} latency_datacenter_ids
* @memberof CMsgSteamDatagramRouterPingReply
* @instance
*/
CMsgSteamDatagramRouterPingReply.prototype.latency_datacenter_ids = $util.emptyArray;
/**
* CMsgSteamDatagramRouterPingReply latency_ping_ms.
* @member {Array.<number>} latency_ping_ms
* @memberof CMsgSteamDatagramRouterPingReply
* @instance
*/
CMsgSteamDatagramRouterPingReply.prototype.latency_ping_ms = $util.emptyArray;
/**
* CMsgSteamDatagramRouterPingReply your_public_ip.
* @member {number} your_public_ip
* @memberof CMsgSteamDatagramRouterPingReply
* @instance
*/
CMsgSteamDatagramRouterPingReply.prototype.your_public_ip = 0;
/**
* CMsgSteamDatagramRouterPingReply server_time.
* @member {number} server_time
* @memberof CMsgSteamDatagramRouterPingReply
* @instance
*/
CMsgSteamDatagramRouterPingReply.prototype.server_time = 0;
/**
* CMsgSteamDatagramRouterPingReply challenge.
* @member {number|Long} challenge
* @memberof CMsgSteamDatagramRouterPingReply
* @instance
*/
CMsgSteamDatagramRouterPingReply.prototype.challenge = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
/**
* CMsgSteamDatagramRouterPingReply seconds_until_shutdown.
* @member {number} seconds_until_shutdown
* @memberof CMsgSteamDatagramRouterPingReply
* @instance
*/
CMsgSteamDatagramRouterPingReply.prototype.seconds_until_shutdown = 0;
/**
* CMsgSteamDatagramRouterPingReply client_cookie.
* @member {number} client_cookie
* @memberof CMsgSteamDatagramRouterPingReply
* @instance
*/
CMsgSteamDatagramRouterPingReply.prototype.client_cookie = 0;
/**
* CMsgSteamDatagramRouterPingReply scoring_penalty_relay_cluster.
* @member {number} scoring_penalty_relay_cluster
* @memberof CMsgSteamDatagramRouterPingReply
* @instance
*/
CMsgSteamDatagramRouterPingReply.prototype.scoring_penalty_relay_cluster = 0;
/**
* CMsgSteamDatagramRouterPingReply route_exceptions.
* @member {Array.<CMsgSteamDatagramRouterPingReply.IRouteException>} route_exceptions
* @memberof CMsgSteamDatagramRouterPingReply
* @instance
*/
CMsgSteamDatagramRouterPingReply.prototype.route_exceptions = $util.emptyArray;
/**
* Creates a new CMsgSteamDatagramRouterPingReply instance using the specified properties.
* @function create
* @memberof CMsgSteamDatagramRouterPingReply
* @static
* @param {ICMsgSteamDatagramRouterPingReply=} [properties] Properties to set
* @returns {CMsgSteamDatagramRouterPingReply} CMsgSteamDatagramRouterPingReply instance
*/
CMsgSteamDatagramRouterPingReply.create = function create(properties) {
return new CMsgSteamDatagramRouterPingReply(properties);
};
/**
* Encodes the specified CMsgSteamDatagramRouterPingReply message. Does not implicitly {@link CMsgSteamDatagramRouterPingReply.verify|verify} messages.
* @function encode
* @memberof CMsgSteamDatagramRouterPingReply
* @static
* @param {ICMsgSteamDatagramRouterPingReply} message CMsgSteamDatagramRouterPingReply message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
CMsgSteamDatagramRouterPingReply.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.client_timestamp != null && message.hasOwnProperty("client_timestamp"))
writer.uint32(/* id 1, wireType 5 =*/13).fixed32(message.client_timestamp);
if (message.latency_datacenter_ids != null && message.latency_datacenter_ids.length) {
writer.uint32(/* id 2, wireType 2 =*/18).fork();
for (var i = 0; i < message.latency_datacenter_ids.length; ++i)
writer.fixed32(message.latency_datacenter_ids[i]);
writer.ldelim();
}
if (message.latency_ping_ms != null && message.latency_ping_ms.length) {
writer.uint32(/* id 3, wireType 2 =*/26).fork();
for (var i = 0; i < message.latency_ping_ms.length; ++i)
writer.uint32(message.latency_ping_ms[i]);
writer.ldelim();
}
if (message.your_public_ip != null && message.hasOwnProperty("your_public_ip"))
writer.uint32(/* id 4, wireType 5 =*/37).fixed32(message.your_public_ip);
if (message.server_time != null && message.hasOwnProperty("server_time"))
writer.uint32(/* id 5, wireType 5 =*/45).fixed32(message.server_time);
if (message.challenge != null && message.hasOwnProperty("challenge"))
writer.uint32(/* id 6, wireType 1 =*/49).fixed64(message.challenge);
if (message.seconds_until_shutdown != null && message.hasOwnProperty("seconds_until_shutdown"))
writer.uint32(/* id 7, wireType 0 =*/56).uint32(message.seconds_until_shutdown);
if (message.client_cookie != null && message.hasOwnProperty("client_cookie"))
writer.uint32(/* id 8, wireType 5 =*/69).fixed32(message.client_cookie);
if (message.scoring_penalty_relay_cluster != null && message.hasOwnProperty("scoring_penalty_relay_cluster"))
writer.uint32(/* id 9, wireType 0 =*/72).uint32(message.scoring_penalty_relay_cluster);
if (message.route_exceptions != null && message.route_exceptions.length)
for (var i = 0; i < message.route_exceptions.length; ++i)
$root.CMsgSteamDatagramRouterPingReply.RouteException.encode(message.route_exceptions[i], writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
return writer;
};
/**
* Encodes the specified CMsgSteamDatagramRouterPingReply message, length delimited. Does not implicitly {@link CMsgSteamDatagramRouterPingReply.verify|verify} messages.
* @function encodeDelimited
* @memberof CMsgSteamDatagramRouterPingReply
* @static
* @param {ICMsgSteamDatagramRouterPingReply} message CMsgSteamDatagramRouterPingReply message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
CMsgSteamDatagramRouterPingReply.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a CMsgSteamDatagramRouterPingReply message from the specified reader or buffer.
* @function decode
* @memberof CMsgSteamDatagramRouterPingReply
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {CMsgSteamDatagramRouterPingReply} CMsgSteamDatagramRouterPingReply
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
CMsgSteamDatagramRouterPingReply.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.CMsgSteamDatagramRouterPingReply();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.client_timestamp = reader.fixed32();
break;
case 2:
if (!(message.latency_datacenter_ids && message.latency_datacenter_ids.length))
message.latency_datacenter_ids = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.latency_datacenter_ids.push(reader.fixed32());
} else
message.latency_datacenter_ids.push(reader.fixed32());
break;
case 3:
if (!(message.latency_ping_ms && message.latency_ping_ms.length))
message.latency_ping_ms = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.latency_ping_ms.push(reader.uint32());
} else
message.latency_ping_ms.push(reader.uint32());
break;
case 4:
message.your_public_ip = reader.fixed32();
break;
case 5:
message.server_time = reader.fixed32();
break;
case 6:
message.challenge = reader.fixed64();
break;
case 7:
message.seconds_until_shutdown = reader.uint32();
break;
case 8:
message.client_cookie = reader.fixed32();
break;
case 9:
message.scoring_penalty_relay_cluster = reader.uint32();
break;
case 10:
if (!(message.route_exceptions && message.route_exceptions.length))
message.route_exceptions = [];
message.route_exceptions.push($root.CMsgSteamDatagramRouterPingReply.RouteException.decode(reader, reader.uint32()));
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
/**
* Decodes a CMsgSteamDatagramRouterPingReply message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof CMsgSteamDatagramRouterPingReply
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {CMsgSteamDatagramRouterPingReply} CMsgSteamDatagramRouterPingReply
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
CMsgSteamDatagramRouterPingReply.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a CMsgSteamDatagramRouterPingReply message.
* @function verify
* @memberof CMsgSteamDatagramRouterPingReply
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
CMsgSteamDatagramRouterPingReply.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.client_timestamp != null && message.hasOwnProperty("client_timestamp"))
if (!$util.isInteger(message.client_timestamp))
return "client_timestamp: integer expected";
if (message.latency_datacenter_ids != null && message.hasOwnProperty("latency_datacenter_ids")) {
if (!Array.isArray(message.latency_datacenter_ids))
return "latency_datacenter_ids: array expected";
for (var i = 0; i < message.latency_datacenter_ids.length; ++i)
if (!$util.isInteger(message.latency_datacenter_ids[i]))
return "latency_datacenter_ids: integer[] expected";
}
if (message.latency_ping_ms != null && message.hasOwnProperty("latency_ping_ms")) {
if (!Array.isArray(message.latency_ping_ms))
return "latency_ping_ms: array expected";
for (var i = 0; i < message.latency_ping_ms.length; ++i)
if (!$util.isInteger(message.latency_ping_ms[i]))
return "latency_ping_ms: integer[] expected";
}
if (message.your_public_ip != null && message.hasOwnProperty("your_public_ip"))
if (!$util.isInteger(message.your_public_ip))
return "your_public_ip: integer expected";
if (message.server_time != null && message.hasOwnProperty("server_time"))
if (!$util.isInteger(message.server_time))
return "server_time: integer expected";
if (message.challenge != null && message.hasOwnProperty("challenge"))
if (!$util.isInteger(message.challenge) && !(message.challenge && $util.isInteger(message.challenge.low) && $util.isInteger(message.challenge.high)))
return "challenge: integer|Long expected";
if (message.seconds_until_shutdown != null && message.hasOwnProperty("seconds_until_shutdown"))
if (!$util.isInteger(message.seconds_until_shutdown))
return "seconds_until_shutdown: integer expected";
if (message.client_cookie != null && message.hasOwnProperty("client_cookie"))
if (!$util.isInteger(message.client_cookie))
return "client_cookie: integer expected";
if (message.scoring_penalty_relay_cluster != null && message.hasOwnProperty("scoring_penalty_relay_cluster"))
if (!$util.isInteger(message.scoring_penalty_relay_cluster))
return "scoring_penalty_relay_cluster: integer expected";
if (message.route_exceptions != null && message.hasOwnProperty("route_exceptions")) {
if (!Array.isArray(message.route_exceptions))
return "route_exceptions: array expected";
for (var i = 0; i < message.route_exceptions.length; ++i) {
var error = $root.CMsgSteamDatagramRouterPingReply.RouteException.verify(message.route_exceptions[i]);
if (error)
return "route_exceptions." + error;
}
}
return null;
};
/**
* Creates a CMsgSteamDatagramRouterPingReply message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof CMsgSteamDatagramRouterPingReply
* @static
* @param {Object.<string,*>} object Plain object
* @returns {CMsgSteamDatagramRouterPingReply} CMsgSteamDatagramRouterPingReply
*/
CMsgSteamDatagramRouterPingReply.fromObject = function fromObject(object) {
if (object instanceof $root.CMsgSteamDatagramRouterPingReply)
return object;
var message = new $root.CMsgSteamDatagramRouterPingReply();
if (object.client_timestamp != null)
message.client_timestamp = object.client_timestamp >>> 0;
if (object.latency_datacenter_ids) {
if (!Array.isArray(object.latency_datacenter_ids))
throw TypeError(".CMsgSteamDatagramRouterPingReply.latency_datacenter_ids: array expected");
message.latency_datacenter_ids = [];
for (var i = 0; i < object.latency_datacenter_ids.length; ++i)
message.latency_datacenter_ids[i] = object.latency_datacenter_ids[i] >>> 0;
}
if (object.latency_ping_ms) {
if (!Array.isArray(object.latency_ping_ms))
throw TypeError(".CMsgSteamDatagramRouterPingReply.latency_ping_ms: array expected");
message.latency_ping_ms = [];
for (var i = 0; i < object.latency_ping_ms.length; ++i)
message.latency_ping_ms[i] = object.latency_ping_ms[i] >>> 0;
}
if (object.your_public_ip != null)
message.your_public_ip = object.your_public_ip >>> 0;
if (object.server_time != null)
message.server_time = object.server_time >>> 0;
if (object.challenge != null)
if ($util.Long)
(message.challenge = $util.Long.fromValue(object.challenge)).unsigned = false;
else if (typeof object.challenge === "string")
message.challenge = parseInt(object.challenge, 10);
else if (typeof object.challenge === "number")
message.challenge = object.challenge;
else if (typeof object.challenge === "object")
message.challenge = new $util.LongBits(object.challenge.low >>> 0, object.challenge.high >>> 0).toNumber();
if (object.seconds_until_shutdown != null)
message.seconds_until_shutdown = object.seconds_until_shutdown >>> 0;
if (object.client_cookie != null)
message.client_cookie = object.client_cookie >>> 0;
if (object.scoring_penalty_relay_cluster != null)
message.scoring_penalty_relay_cluster = object.scoring_penalty_relay_cluster >>> 0;
if (object.route_exceptions) {
if (!Array.isArray(object.route_exceptions))
throw TypeError(".CMsgSteamDatagramRouterPingReply.route_exceptions: array expected");
message.route_exceptions = [];
for (var i = 0; i < object.route_exceptions.length; ++i) {
if (typeof object.route_exceptions[i] !== "object")
throw TypeError(".CMsgSteamDatagramRouterPingReply.route_exceptions: object expected");
message.route_exceptions[i] = $root.CMsgSteamDatagramRouterPingReply.RouteException.fromObject(object.route_exceptions[i]);
}
}
return message;
};
/**
* Creates a plain object from a CMsgSteamDatagramRouterPingReply message. Also converts values to other types if specified.
* @function toObject
* @memberof CMsgSteamDatagramRouterPingReply
* @static
* @param {CMsgSteamDatagramRouterPingReply} message CMsgSteamDatagramRouterPingReply
* @param {$protobuf.IConversionOptions} [options] Conversion options
* @returns {Object.<string,*>} Plain object
*/
CMsgSteamDatagramRouterPingReply.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.arrays || options.defaults) {
object.latency_datacenter_ids = [];
object.latency_ping_ms = [];
object.route_exceptions = [];
}
if (options.defaults) {
object.client_timestamp = 0;
object.your_public_ip = 0;
object.server_time = 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object.challenge = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object.challenge = options.longs === String ? "0" : 0;
object.seconds_until_shutdown = 0;
object.client_cookie = 0;
object.scoring_penalty_relay_cluster = 0;
}
if (message.client_timestamp != null && message.hasOwnProperty("client_timestamp"))
object.client_timestamp = message.client_timestamp;
if (message.latency_datacenter_ids && message.latency_datacenter_ids.length) {
object.latency_datacenter_ids = [];
for (var j = 0; j < message.latency_datacenter_ids.length; ++j)
object.latency_datacenter_ids[j] = message.latency_datacenter_ids[j];
}
if (message.latency_ping_ms && message.latency_ping_ms.length) {
object.latency_ping_ms = [];
for (var j = 0; j < message.latency_ping_ms.length; ++j)
object.latency_ping_ms[j] = message.latency_ping_ms[j];
}
if (message.your_public_ip != null && message.hasOwnProperty("your_public_ip"))
object.your_public_ip = message.your_public_ip;
if (message.server_time != null && message.hasOwnProperty("server_time"))
object.server_time = message.server_time;
if (message.challenge != null && message.hasOwnProperty("challenge"))
if (typeof message.challenge === "number")
object.challenge = options.longs === String ? String(message.challenge) : message.challenge;
else
object.challenge = options.longs === String ? $util.Long.prototype.toString.call(message.challenge) : options.longs === Number ? new $util.LongBits(message.challenge.low >>> 0, message.challenge.high >>> 0).toNumber() : message.challenge;
if (message.seconds_until_shutdown != null && message.hasOwnProperty("seconds_until_shutdown"))
object.seconds_until_shutdown = message.seconds_until_shutdown;
if (message.client_cookie != null && message.hasOwnProperty("client_cookie"))
object.client_cookie = message.client_cookie;
if (message.scoring_penalty_relay_cluster != null && message.hasOwnProperty("scoring_penalty_relay_cluster"))
object.scoring_penalty_relay_cluster = message.scoring_penalty_relay_cluster;
if (message.route_exceptions && message.route_exceptions.length) {
object.route_exceptions = [];
for (var j = 0; j < message.route_exceptions.length; ++j)
object.route_exceptions[j] = $root.CMsgSteamDatagramRouterPingReply.RouteException.toObject(message.route_exceptions[j], options);
}
return object;
};
/**
* Converts this CMsgSteamDatagramRouterPingReply to JSON.
* @function toJSON
* @memberof CMsgSteamDatagramRouterPingReply
* @instance
* @returns {Object.<string,*>} JSON object
*/
CMsgSteamDatagramRouterPingReply.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CMsgSteamDatagramRouterPingReply.RouteException = (function() {
/**
* Properties of a RouteException.
* @memberof CMsgSteamDatagramRouterPingReply
* @interface IRouteException
* @property {number|null} [data_center_id] RouteException data_center_id
* @property {number|null} [flags] RouteException flags
* @property {number|null} [penalty] RouteException penalty
*/
/**
* Constructs a new RouteException.
* @memberof CMsgSteamDatagramRouterPingReply
* @classdesc Represents a RouteException.
* @implements IRouteException
* @constructor
* @param {CMsgSteamDatagramRouterPingReply.IRouteException=} [properties] Properties to set
*/
function RouteException(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
/**
* RouteException data_center_id.
* @member {number} data_center_id
* @memberof CMsgSteamDatagramRouterPingReply.RouteException
* @instance
*/
RouteException.prototype.data_center_id = 0;
/**
* RouteException flags.
* @member {number} flags
* @memberof CMsgSteamDatagramRouterPingReply.RouteException
* @instance
*/
RouteException.prototype.flags = 0;
/**
* RouteException penalty.
* @member {number} penalty
* @memberof CMsgSteamDatagramRouterPingReply.RouteException
* @instance
*/
RouteException.prototype.penalty = 0;
/**
* Creates a new RouteException instance using the specified properties.
* @function create
* @memberof CMsgSteamDatagramRouterPingReply.RouteException
* @static
* @param {CMsgSteamDatagramRouterPingReply.IRouteException=} [properties] Properties to set
* @returns {CMsgSteamDatagramRouterPingReply.RouteException} RouteException instance
*/
RouteException.create = function create(properties) {
return new RouteException(properties);
};
/**
* Encodes the specified RouteException message. Does not implicitly {@link CMsgSteamDatagramRouterPingReply.RouteException.verify|verify} messages.
* @function encode
* @memberof CMsgSteamDatagramRouterPingReply.RouteException
* @static
* @param {CMsgSteamDatagramRouterPingReply.IRouteException} message RouteException message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
RouteException.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.data_center_id != null && message.hasOwnProperty("data_center_id"))
writer.uint32(/* id 1, wireType 5 =*/13).fixed32(message.data_center_id);
if (message.flags != null && message.hasOwnProperty("flags"))
writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.flags);
if (message.penalty != null && message.hasOwnProperty("penalty"))
writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.penalty);
return writer;
};
/**
* Encodes the specified RouteException message, length delimited. Does not implicitly {@link CMsgSteamDatagramRouterPingReply.RouteException.verify|verify} messages.
* @function encodeDelimited
* @memberof CMsgSteamDatagramRouterPingReply.RouteException
* @static
* @param {CMsgSteamDatagramRouterPingReply.IRouteException} message RouteException message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
RouteException.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a RouteException message from the specified reader or buffer.
* @function decode
* @memberof CMsgSteamDatagramRouterPingReply.RouteException
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {CMsgSteamDatagramRouterPingReply.RouteException} RouteException
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
RouteException.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.CMsgSteamDatagramRouterPingReply.RouteException();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.data_center_id = reader.fixed32();
break;
case 2:
message.flags = reader.uint32();
break;
case 3:
message.penalty = reader.uint32();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
/**
* Decodes a RouteException message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof CMsgSteamDatagramRouterPingReply.RouteException
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {CMsgSteamDatagramRouterPingReply.RouteException} RouteException
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
RouteException.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a RouteException message.
* @function verify
* @memberof CMsgSteamDatagramRouterPingReply.RouteException
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
RouteException.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.data_center_id != null && message.hasOwnProperty("data_center_id"))
if (!$util.isInteger(message.data_center_id))
return "data_center_id: integer expected";
if (message.flags != null && message.hasOwnProperty("flags"))
if (!$util.isInteger(message.flags))
return "flags: integer expected";
if (message.penalty != null && message.hasOwnProperty("penalty"))
if (!$util.isInteger(message.penalty))
return "penalty: integer expected";
return null;
};
/**
* Creates a RouteException message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof CMsgSteamDatagramRouterPingReply.RouteException
* @static
* @param {Object.<string,*>} object Plain object
* @returns {CMsgSteamDatagramRouterPingReply.RouteException} RouteException
*/
RouteException.fromObject = function fromObject(object) {
if (object instanceof $root.CMsgSteamDatagramRouterPingReply.RouteException)
return object;
var message = new $root.CMsgSteamDatagramRouterPingReply.RouteException();
if (object.data_center_id != null)
message.data_center_id = object.data_center_id >>> 0;
if (object.flags != null)
message.flags = object.flags >>> 0;
if (object.penalty != null)
message.penalty = object.penalty >>> 0;
return message;
};
/**
* Creates a plain object from a RouteException message. Also converts values to other types if specified.
* @function toObject
* @memberof CMsgSteamDatagramRouterPingReply.RouteException
* @static
* @param {CMsgSteamDatagramRouterPingReply.RouteException} message RouteException
* @param {$protobuf.IConversionOptions} [options] Conversion options
* @returns {Object.<string,*>} Plain object
*/
RouteException.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.defaults) {
object.data_center_id = 0;
object.flags = 0;
object.penalty = 0;
}
if (message.data_center_id != null && message.hasOwnProperty("data_center_id"))
object.data_center_id = message.data_center_id;
if (message.flags != null && message.hasOwnProperty("flags"))
object.flags = message.flags;
if (message.penalty != null && message.hasOwnProperty("penalty"))
object.penalty = message.penalty;
return object;
};
/**
* Converts this RouteException to JSON.
* @function toJSON
* @memberof CMsgSteamDatagramRouterPingReply.RouteException
* @instance
* @returns {Object.<string,*>} JSON object
*/
RouteException.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
return RouteException;
})();
return CMsgSteamDatagramRouterPingReply;
})();
$root.CMsgSteamDatagramGameserverPing = (function() {
/**
* Properties of a CMsgSteamDatagramGameserverPing.
* @exports ICMsgSteamDatagramGameserverPing
* @interface ICMsgSteamDatagramGameserverPing
* @property {number|null} [legacy_client_session] CMsgSteamDatagramGameserverPing legacy_client_session
* @property {number|Long|null} [client_steam_id] CMsgSteamDatagramGameserverPing client_steam_id
* @property {number|null} [client_timestamp] CMsgSteamDatagramGameserverPing client_timestamp
* @property {number|null} [router_timestamp] CMsgSteamDatagramGameserverPing router_timestamp
* @property {number|null} [router_gameserver_latency] CMsgSteamDatagramGameserverPing router_gameserver_latency
* @property {number|null} [seq_number_router] CMsgSteamDatagramGameserverPing seq_number_router
* @property {number|null} [seq_number_e2e] CMsgSteamDatagramGameserverPing seq_number_e2e
* @property {number|null} [relay_session_id] CMsgSteamDatagramGameserverPing relay_session_id
* @property {number|null} [connection_id] CMsgSteamDatagramGameserverPing connection_id
*/
/**
* Constructs a new CMsgSteamDatagramGameserverPing.
* @exports CMsgSteamDatagramGameserverPing
* @classdesc Represents a CMsgSteamDatagramGameserverPing.
* @implements ICMsgSteamDatagramGameserverPing
* @constructor
* @param {ICMsgSteamDatagramGameserverPing=} [properties] Properties to set
*/
function CMsgSteamDatagramGameserverPing(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
/**
* CMsgSteamDatagramGameserverPing legacy_client_session.
* @member {number} legacy_client_session
* @memberof CMsgSteamDatagramGameserverPing
* @instance
*/
CMsgSteamDatagramGameserverPing.prototype.legacy_client_session = 0;
/**
* CMsgSteamDatagramGameserverPing client_steam_id.
* @member {number|Long} client_steam_id
* @memberof CMsgSteamDatagramGameserverPing
* @instance
*/
CMsgSteamDatagramGameserverPing.prototype.client_steam_id = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
/**
* CMsgSteamDatagramGameserverPing client_timestamp.
* @member {number} client_timestamp
* @memberof CMsgSteamDatagramGameserverPing
* @instance
*/
CMsgSteamDatagramGameserverPing.prototype.client_timestamp = 0;
/**
* CMsgSteamDatagramGameserverPing router_timestamp.
* @member {number} router_timestamp
* @memberof CMsgSteamDatagramGameserverPing
* @instance
*/
CMsgSteamDatagramGameserverPing.prototype.router_timestamp = 0;
/**
* CMsgSteamDatagramGameserverPing router_gameserver_latency.
* @member {number} router_gameserver_latency
* @memberof CMsgSteamDatagramGameserverPing
* @instance
*/
CMsgSteamDatagramGameserverPing.prototype.router_gameserver_latency = 0;
/**
* CMsgSteamDatagramGameserverPing seq_number_router.
* @member {number} seq_number_router
* @memberof CMsgSteamDatagramGameserverPing
* @instance
*/
CMsgSteamDatagramGameserverPing.prototype.seq_number_router = 0;
/**
* CMsgSteamDatagramGameserverPing seq_number_e2e.
* @member {number} seq_number_e2e
* @memberof CMsgSteamDatagramGameserverPing
* @instance
*/
CMsgSteamDatagramGameserverPing.prototype.seq_number_e2e = 0;
/**
* CMsgSteamDatagramGameserverPing relay_session_id.
* @member {number} relay_session_id
* @memberof CMsgSteamDatagramGameserverPing
* @instance
*/
CMsgSteamDatagramGameserverPing.prototype.relay_session_id = 0;
/**
* CM