steam-condenser
Version:
TypeScript port of steam-condenser.
64 lines • 3.76 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var SteamPacket_1 = __importDefault(require("./SteamPacket"));
var S2CChallengePacket_1 = __importDefault(require("./S2CChallengePacket"));
var S2AInfo2Packet_1 = __importDefault(require("./S2AInfo2Packet"));
var S2APlayerPacket_1 = __importDefault(require("./S2APlayerPacket"));
var S2ARulesPacket_1 = __importDefault(require("./S2ARulesPacket"));
var A2SInfoPacket_1 = __importDefault(require("./A2SInfoPacket"));
var M2AServerBatchPacket_1 = __importDefault(require("./M2AServerBatchPacket"));
var S2AInfoDetailedPacket_1 = __importDefault(require("./S2AInfoDetailedPacket"));
var SteamPacketFactory = /** @class */ (function () {
function SteamPacketFactory() {
}
SteamPacketFactory.GetPacketFromData = function (rawData) {
var header = rawData[0];
var data = rawData.slice(1);
switch (header) {
case SteamPacket_1.default.A2S_INFO_HEADER:
return new A2SInfoPacket_1.default();
case SteamPacket_1.default.S2A_INFO_DETAILED_HEADER:
return new S2AInfoDetailedPacket_1.default(data);
case SteamPacket_1.default.S2A_INFO2_HEADER:
return new S2AInfo2Packet_1.default(data);
case SteamPacket_1.default.A2S_PLAYER_HEADER:
throw new Error('Inimplemented A2S_PLAYER_HEADER packet recieved'); // return new A2SPlayerPacket(Helper.integerFromByteArray(data));
case SteamPacket_1.default.S2A_PLAYER_HEADER:
return new S2APlayerPacket_1.default(data);
case SteamPacket_1.default.A2S_RULES_HEADER:
throw new Error('Inimplemented packet A2S_RULES_HEADER recieved'); // return return new A2SRulesPacket(Helper.integerFromByteArray(data));
case SteamPacket_1.default.S2A_RULES_HEADER:
return new S2ARulesPacket_1.default(data);
case SteamPacket_1.default.A2S_SERVERQUERY_GETCHALLENGE_HEADER:
throw new Error('Inimplemented A2S_SERVERQUERY_GETCHALLENGE_HEADER packet recieved'); // return new A2S_SERVERQUERY_GETCHALLENGE_Packet();
case SteamPacket_1.default.S2C_CHALLENGE_HEADER:
return new S2CChallengePacket_1.default(data);
case SteamPacket_1.default.M2A_SERVER_BATCH_HEADER:
return new M2AServerBatchPacket_1.default(data);
case SteamPacket_1.default.RCON_GOLDSRC_CHALLENGE_HEADER:
case SteamPacket_1.default.RCON_GOLDSRC_NO_CHALLENGE_HEADER:
case SteamPacket_1.default.RCON_GOLDSRC_RESPONSE_HEADER:
throw new Error('Inimplemented RCON_GOLDSRC_RESPONSE_HEADER packet recieved'); // return new RCONGoldSrcResponsePacket(data);
default:
throw new Error("Unknown packet with header 0x" + header.toString(16) + " received.");
}
};
// eslint-disable-next-line @typescript-eslint/no-unused-vars
SteamPacketFactory.ReassemblePacket = function (splitPackets, isCompressed, packetChecksum) {
if (isCompressed === void 0) { isCompressed = false; }
if (packetChecksum === void 0) { packetChecksum = 0; }
var packetData = Buffer.concat(splitPackets);
if (isCompressed) {
throw new Error('Uncompressing is unimplemented.'); // TODO
}
// TODO: verify checksum
packetData = packetData.slice(4);
return SteamPacketFactory.GetPacketFromData(packetData);
};
return SteamPacketFactory;
}());
exports.default = SteamPacketFactory;
//# sourceMappingURL=SteamPacketFactory.js.map