xedoc.js
Version:
A wrapper for Rust Console Edition (RCE) that allows you to use the websocket and API from G-Portal.
115 lines (104 loc) • 2.47 kB
text/typescript
export interface ServerOptions {
identifier: string;
serverId: number | number[];
region: "EU" | "US";
state?: any[];
playerRefreshing?: boolean;
radioRefreshing?: boolean;
extendedEventRefreshing?: boolean;
intents: string[];
silent?: boolean;
}
export interface FetchedServer {
rawName: string;
name: string;
region: "EU" | "US";
sid: number[];
}
export interface RustServer {
identifier: string;
serverId: number[]; // url, backend
region: "EU" | "US";
intervals: RustServerIntervals;
flags: string[];
state: any[];
status:
| "STOPPING"
| "MAINTENANCE"
| "UPDATING"
| "STOPPED"
| "STARTING"
| "RUNNING"
| "SUSPENDED"
| "UNKNOWN";
players: string[];
frequencies: number[];
intents: string[];
silent: boolean;
}
interface RustServerIntervals {
playerRefreshing?: { enabled: boolean; interval?: NodeJS.Timeout };
radioRefreshing?: { enabled: boolean; interval?: NodeJS.Timeout };
extendedEventRefreshing?: { enabled: boolean; interval?: NodeJS.Timeout };
}
export interface CommandRequest {
identifier: string;
command: string;
timestamp?: string;
resolve: (value: CommandResponse) => void;
reject: (reason: any) => void;
timeout?: ReturnType<typeof setTimeout>;
}
export interface CommandResponse {
ok: boolean;
response?: string;
error?: string;
}
export interface RustServerInformation {
Hostname: string;
MaxPlayers: number;
Players: number;
Queued: number;
Joining: number;
EntityCount: number;
GameTime: string;
Uptime: number;
Map: "Procedural Map";
Framerate: number;
Memory: number;
Collections: number;
NetworkIn: number;
NetworkOut: number;
Restarting: boolean;
SaveCreatedTime: string;
}
export interface RustServerAdvancedInformation {
name: string;
platforms: string[];
ipPort: string;
permissions: RustServerAdvancedInformationPermissions;
backups: RustServerAdvancedInformationBackups[];
restarts: RustServerAdvancedInformationRestarts[];
}
interface RustServerAdvancedInformationPermissions {
username: string;
created: Date;
owner: boolean;
}
interface RustServerAdvancedInformationBackups {
id: number;
size: number;
created: Date;
auto: boolean;
}
interface RustServerAdvancedInformationRestarts {
id: number;
schedule: {
type: "weekly" | "monthly" | "daily";
timezone: string;
day?: string;
dayOfMonth?: number;
time: string;
};
nextRun: Date;
}