UNPKG

@afocommunity/eco-rcon

Version:
82 lines (81 loc) 2.49 kB
/// <reference types="node" /> /// <reference types="node" /> /// <reference types="node" /> /// <reference types="node" /> import EventEmitter from 'events'; import { Socket } from 'net'; import RCONParser from './parser/RCONParser'; type RconResponse = { size: number; id: number; type: number; body: string; }; /**! * node-rcon * Copyright(c) 2012 Justin Li <j-li.net> * MIT Licensed * Stripped Down and modified by @bombitmanbomb */ declare class Rcon extends EventEmitter { host: string; port: number; password: string; outstandingData: Buffer | null; hasAuthed: boolean; protected _tcpSocket: Socket; constructor(host: string, port: number, password: string); _sendSocket(buf: Buffer): void; connect(): void; send(data: string, cmd: number, id?: number): void; disconnect(): void; setTimeout(timeout: number, callback: () => unknown): void; _tcpSocketOnData(data: Buffer): boolean | void; socketOnConnect(): void; socketOnEnd(): void; } type ResponsePromiseQueueObject = { time: Date; buffer: string; handled: boolean; resolve: (data: unknown) => void; reject: (reason: unknown) => void; timeOut: NodeJS.Timeout; }; type ECOOptions = { disableAutoStatus: boolean; }; /** * Primary Interface Object for ECO servers. */ export default class ECO { /** * Rejects if an error occurs when connecting. */ onReady: Promise<null>; rconParser: RCONParser; protected messageID: number; protected _conn: Rcon; protected _isAuthorized: boolean; protected _responsePromiseQueue: Map<number, ResponsePromiseQueueObject>; debug: boolean; /**Reconnect to the client */ reconnect: () => Promise<unknown>; _events: EventEmitter; constructor(ip: string, port: number, password: string, options?: ECOOptions); on(event: 'READY', cb: () => void): EventEmitter; removeListener(event: Parameters<EventEmitter['removeListener']>[0], cb: Parameters<EventEmitter['removeListener']>[1]): EventEmitter; /** * Send a Raw RCON command. */ send(cmd: string): Promise<unknown>; protected _onResponse(response: RconResponse): void; /** * Disconnect the client. */ disconnect(): void; protected _parseResponse(res: string): unknown; protected _onError(err: string): void; protected onEnd(): void; } export {};