UNPKG

tf2

Version:

Exposes a simple API for interacting with the Team Fortress 2 game coordinator

905 lines (847 loc) 1.06 MB
/*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