steam-condenser
Version:
TypeScript port of steam-condenser.
49 lines (48 loc) • 1.75 kB
TypeScript
import Server from './Server';
import { IInfo } from './Packets/S2AInfoBasePacket';
import SteamSocket from './Sockets/SteamSocket';
import { SteamPlayer } from './SteamPlayer';
export default abstract class GameServer extends Server {
protected rconAuthenticated: boolean;
protected ping?: number;
protected playerHash?: {
[key: string]: SteamPlayer;
};
protected rulesHash?: {
[key: string]: string;
};
protected infoHash: IInfo;
protected challengeNumber: number;
protected socket?: SteamSocket;
constructor(address: string, port?: number);
getPing(): Promise<number>;
getPlayers(rconPassword?: string): Promise<{
[key: string]: SteamPlayer;
}>;
getRules(): Promise<{
[key: string]: string;
}>;
getServerInfo(): Promise<IInfo>;
initialize(): Promise<void>;
handleResponseForRequest(requestType: number, repeatOnFailure?: boolean): Promise<void>;
isRconAuthenticated(): boolean;
abstract rconAuth(password: string): Promise<boolean>;
abstract rconExec(password: string): Promise<string>;
updateChallengeNumber(): Promise<void>;
updatePing(): Promise<number>;
updatePlayers(rconPassword?: string): Promise<{
[key: string]: SteamPlayer;
} | boolean>;
updateRules(): Promise<void>;
updateServerInfo(): Promise<void>;
setTimeout(time: number): void;
toString(): string;
static GetPlayerStatusAttributes(statusHeader: string): string[];
static SplitPlayerStatus(attributes: string[], playerStatus: string): {
[key: string]: string;
};
static REQUEST_CHALLENGE: number;
static REQUEST_INFO: number;
static REQUEST_PLAYER: number;
static REQUEST_RULES: number;
}