observermc-client
Version:
Client API for ObserverMC wrapper
84 lines (83 loc) • 3.03 kB
TypeScript
export declare type Event = "any" | "line" | "status" | "starting" | "online" | "stopping" | "offline" | "login" | "logout" | "rconRunning" | "connect" | "disconnect";
export declare enum Status {
Offline = "offline",
Starting = "starting",
Online = "online",
Stopping = "stopping"
}
export declare class ObserverClient {
private _options;
private _socket;
private _isReady;
private _events;
constructor(_options: {
name: string;
url: string;
apiKey: string;
});
/** Connects to the ObserverMC Server */
connect(): void;
/** Set callbacks for events */
on(event: "any", callbackFn: (serverName: string, event: {
event: string;
data: any;
}) => any): any;
on(event: "line", callbackFn: (serverName: string, line: string) => any): any;
on(event: "status", callbackFn: (serverName: string, status: Status) => any): any;
on(event: "starting", callbackFn: (serverName: string, data: {
time: string;
version: string;
}) => any): any;
on(event: "online", callbackFn: (serverName: string, data: {
time: string;
run: string;
}) => any): any;
on(event: "stopping", callbackFn: (serverName: string, data: {
time: string;
}) => any): any;
on(event: "offline", callbackFn: (serverName: string, data: {
time: string;
}) => any): any;
on(event: "login", callbackFn: (serverName: string, data: {
time: string;
user: string;
ip: string;
port: string;
entity: string;
world: string;
x: string;
y: string;
z: string;
}) => any): any;
on(event: "logout", callbackFn: (serverName: string, data: {
time: string;
user: string;
}) => any): any;
on(event: "rconRunning", callbackFn: (serverName: string, data: {
time: string;
ip: string;
port: string;
}) => any): any;
on(event: "line", callbackFn: (line: string) => any): any;
on(event: "connect", callbackFn: (error?: string) => any): any;
on(event: "disconnect", callbackFn: () => any): any;
/** Start a server */
start(serverName: string): Promise<boolean>;
/** Stop a server */
stop(serverName: string): Promise<boolean>;
/** Send a console command to a server */
console(serverName: string, command: string): Promise<boolean>;
/** Get an online player list from a server */
getOnlinePlayers(serverName: string): Promise<string[]>;
/** Gets a server status */
getStatus(serverName: string): Promise<Status>;
/** Control the server whitelist */
whitelist(serverName: string, action: "list" | "add" | "remove", username?: string): Promise<{
uuid: string;
name: string;
}[] | boolean>;
private authenticate;
/** Check if client is ready to send commands */
get isReady(): boolean;
get name(): string;
}