xedoc.js
Version:
A wrapper for Rust Console Edition (RCE) that allows you to use the websocket and API from G-Portal.
183 lines (182 loc) • 5.95 kB
TypeScript
import { LogLevel, QuickChat, RCEEvent } from "./constants";
import { ILogger } from "./logger/interfaces";
import type { RustServer } from "./servers/interfaces";
import { PlayerKillData } from "./socket/interfaces";
export interface AuthOptions {
username: string;
password: string;
}
export interface LoggerOptions {
level?: LogLevel;
file?: string;
instance?: ILogger;
}
interface EventPayload {
server: RustServer;
}
export interface MessageEventPayload extends EventPayload {
message: string;
}
export interface ServerReadyEventPayload extends EventPayload {
ready: boolean;
}
export interface ServiceStatusEventPayload extends EventPayload {
status: RustServer["status"];
}
export interface ServiceSensorEventPayload extends EventPayload {
cpuPercentage: number;
memoryUsed: number;
}
export interface ExecutingCommandEventPayload extends EventPayload {
command: string;
}
export interface VendingMachineNameEventPayload extends EventPayload {
ign: string;
oldName: string;
newName: string;
}
export interface QuickChatEventPayload extends EventPayload {
type: "team" | "server" | "local";
ign: string;
message: QuickChat;
}
export interface PlayerSuicideEventPayload extends EventPayload {
ign: string;
}
export interface PlayerRespawnedEventPayload extends EventPayload {
ign: string;
platform: "XBL" | "PS";
}
export interface CustomZoneCreatedEventPayload extends EventPayload {
zone: string;
}
export interface CustomZoneRemovedEventPayload extends EventPayload {
zone: string;
}
export interface PlayerRoleAddEventPayload extends EventPayload {
admin?: string;
ign: string;
role: string;
}
export interface PlayerRoleRemoveEventPayload extends EventPayload {
admin?: string;
ign: string;
role: string;
}
export interface ItemSpawnEventPayload extends EventPayload {
ign: string;
item: string;
quantity: number;
}
export interface NoteEditEventPayload extends EventPayload {
ign: string;
oldContent: string;
newContent: string;
}
export interface TeamCreateEventPayload extends EventPayload {
id: number;
owner: string;
}
export interface TeamJoinEventPayload extends EventPayload {
id: number;
owner: string;
ign: string;
}
export interface TeamInviteEventPayload extends EventPayload {
id: number;
owner: string;
ign: string;
}
export interface TeamInviteCancelEventPayload extends EventPayload {
id: number;
owner: string;
ign: string;
}
export interface TeamPromotedEventPayload extends EventPayload {
id: number;
oldOwner: string;
newOwner: string;
}
export interface TeamLeaveEventPayload extends EventPayload {
id: number;
owner: string;
ign: string;
}
export interface KitSpawnEventPayload extends EventPayload {
ign: string;
kit: string;
}
export interface KitGiveEventPayload extends EventPayload {
ign: string;
admin: string;
kit: string;
}
export interface PlayerJoinedEventPayload extends EventPayload {
ign: string;
}
export interface PlayerLeftEventPayload extends EventPayload {
ign: string;
}
export interface SpecialEventSetEventPayload extends EventPayload {
event: "Easter" | "Halloween" | "Xmas" | "HalloweenPortal" | "XmasPortal";
}
export interface EventStartEventPayload extends EventPayload {
event: "Airdrop" | "Cargo Ship" | "Chinook" | "Patrol Helicopter" | "Halloween" | "Christmas" | "Small Oil Rig" | "Oil Rig" | "Bradley APC Debris" | "Patrol Helicopter Debris";
special: boolean;
}
export interface PlayerKillEventPayload extends EventPayload {
victim: PlayerKillData;
killer: PlayerKillData;
}
export interface PlayerListUpdatedEventPayload extends EventPayload {
players: string[];
joined: string[];
left: string[];
}
export interface FrequencyGainedEventPayload extends EventPayload {
frequency: number;
coordinates: number[];
range: number;
}
export interface FrequencyLostEventPayload extends EventPayload {
frequency: number;
}
export interface ErrorEventPayload {
error: string;
server?: RustServer;
}
export interface RCEEventTypes {
[RCEEvent.Message]: MessageEventPayload;
[RCEEvent.ServerReady]: ServerReadyEventPayload;
[RCEEvent.ServiceStatus]: ServiceStatusEventPayload;
[RCEEvent.ServiceSensor]: ServiceSensorEventPayload;
[RCEEvent.ExecutingCommand]: ExecutingCommandEventPayload;
[RCEEvent.VendingMachineName]: VendingMachineNameEventPayload;
[RCEEvent.QuickChat]: QuickChatEventPayload;
[RCEEvent.PlayerSuicide]: PlayerSuicideEventPayload;
[RCEEvent.PlayerRespawned]: PlayerRespawnedEventPayload;
[RCEEvent.CustomZoneCreated]: CustomZoneCreatedEventPayload;
[RCEEvent.CustomZoneRemoved]: CustomZoneRemovedEventPayload;
[RCEEvent.PlayerRoleAdd]: PlayerRoleAddEventPayload;
[RCEEvent.PlayerRoleRemove]: PlayerRoleRemoveEventPayload;
[RCEEvent.ItemSpawn]: ItemSpawnEventPayload;
[RCEEvent.NoteEdit]: NoteEditEventPayload;
[RCEEvent.TeamCreate]: TeamCreateEventPayload;
[RCEEvent.TeamJoin]: TeamJoinEventPayload;
[RCEEvent.TeamInvite]: TeamInviteEventPayload;
[RCEEvent.TeamLeave]: TeamLeaveEventPayload;
[RCEEvent.TeamInviteCancel]: TeamInviteCancelEventPayload;
[RCEEvent.TeamPromoted]: TeamPromotedEventPayload;
[RCEEvent.KitSpawn]: KitSpawnEventPayload;
[RCEEvent.KitGive]: KitGiveEventPayload;
[RCEEvent.SpecialEventSet]: SpecialEventSetEventPayload;
[RCEEvent.EventStart]: EventStartEventPayload;
[RCEEvent.PlayerKill]: PlayerKillEventPayload;
[RCEEvent.PlayerJoined]: PlayerJoinedEventPayload;
[RCEEvent.PlayerLeft]: PlayerLeftEventPayload;
[RCEEvent.PlayerListUpdated]: PlayerListUpdatedEventPayload;
[RCEEvent.FrequencyGained]: FrequencyGainedEventPayload;
[RCEEvent.FrequencyLost]: FrequencyLostEventPayload;
[RCEEvent.Error]: ErrorEventPayload;
}
export {};