xedoc.js
Version:
A wrapper for Rust Console Edition (RCE) that allows you to use the websocket and API from G-Portal.
509 lines (501 loc) • 14.7 kB
text/typescript
export enum GPortalRoutes {
Api = 'https://www.g-portal.com/ngpapi/',
Token = 'https://auth.g-portal.com/auth/realms/master/protocol/openid-connect/token',
WS = 'wss://www.g-portal.com/ngpapi/',
Origin = 'https://www.g-portal.com',
Home = 'https://www.g-portal.com/en',
Auth = 'https://auth.g-portal.com/auth/realms/master/protocol/openid-connect/auth',
}
export enum PlayerKillType {
Natural = 'Natural',
Entity = 'Entity',
Player = 'Player',
Npc = 'Npc',
}
export const playerKillData = [
{
id: 'thirst',
name: 'Thirst',
type: PlayerKillType.Natural,
},
{
id: 'hunger',
name: 'Hunger',
type: PlayerKillType.Natural,
},
{
id: 'guntrap.deployed',
name: 'Shotgun Trap',
type: PlayerKillType.Entity,
},
{
id: 'pee pee 9000',
name: 'Pee Pee 9000',
type: PlayerKillType.Natural,
},
{
id: 'barricade.wood',
name: 'Wooden Barricade',
type: PlayerKillType.Entity,
},
{
id: 'wall.external.high.stone',
name: 'High External Stone Wall',
type: PlayerKillType.Entity,
},
{
id: 'wall.external.high',
name: 'High External Wooden Wall',
type: PlayerKillType.Entity,
},
{
id: 'gates.external.high.wood',
name: 'High External Wooden Gate',
type: PlayerKillType.Entity,
},
{
id: 'gates.external.high.stone',
name: 'High External Stone Gate',
type: PlayerKillType.Entity,
},
{
id: 'gates.external.high.wood (entity)',
name: 'High External Wooden Gate',
type: PlayerKillType.Entity,
},
{
id: 'gates.external.high.stone (entity)',
name: 'High External Stone Gate',
type: PlayerKillType.Entity,
},
{
id: 'flameturret_fireball (entity)',
name: 'Flame Turret',
type: PlayerKillType.Entity,
},
{
id: 'icewall (entity)',
name: 'Ice Wall',
type: PlayerKillType.Entity,
},
{
id: 'wall.external.high.wood (entity)',
name: 'High External Wooden Wall',
type: PlayerKillType.Entity,
},
{
id: 'wall.external.high.ice (entity)',
name: 'High External Ice Wall',
type: PlayerKillType.Entity,
},
{
id: 'bear',
name: 'Bear',
type: PlayerKillType.Npc,
},
{
id: 'autoturret_deployed',
name: 'Auto Turret',
type: PlayerKillType.Entity,
},
{
id: 'cold',
name: 'Cold',
type: PlayerKillType.Natural,
},
{
id: 'bleeding',
name: 'Bleeding',
type: PlayerKillType.Natural,
},
{
id: 'boar',
name: 'Boar',
type: PlayerKillType.Npc,
},
{
id: 'wolf',
name: 'Wolf',
type: PlayerKillType.Npc,
},
{
id: 'fall',
name: 'Fall',
type: PlayerKillType.Natural,
},
{
id: 'drowned',
name: 'Drowned',
type: PlayerKillType.Natural,
},
{
id: 'radiation',
name: 'Radiation',
type: PlayerKillType.Natural,
},
{
id: 'autoturret_deployed (entity)',
name: 'Auto Turret',
type: PlayerKillType.Entity,
},
{
id: 'bear (bear)',
name: 'Bear',
type: PlayerKillType.Npc,
},
{
id: 'boar (boar)',
name: 'Boar',
type: PlayerKillType.Npc,
},
{
id: 'wolf (wolf)',
name: 'Wolf',
type: PlayerKillType.Npc,
},
{
id: 'guntrap.deployed (entity)',
name: 'Shotgun Trap',
type: PlayerKillType.Entity,
},
{
id: 'fall!',
name: 'Fall',
type: PlayerKillType.Natural,
},
{
id: 'lock.code (entity)',
name: 'Code Lock',
type: PlayerKillType.Entity,
},
{
id: 'bradleyapc (entity)',
name: 'Bradley APC',
type: PlayerKillType.Npc,
},
{
id: 'wall.external.high.stone (entity)',
name: 'High External Stone Wall',
type: PlayerKillType.Entity,
},
{
id: 'wall.external.high (entity)',
name: 'High External Wooden Wall',
type: PlayerKillType.Entity,
},
{
id: 'barricade.metal (entity)',
name: 'Metal Barricade',
type: PlayerKillType.Entity,
},
{
id: 'spikes.floor (entity)',
name: 'Floor Spikes',
type: PlayerKillType.Entity,
},
{
id: 'sentry.bandit.static (entity)',
name: 'Bandit Sentry',
type: PlayerKillType.Entity,
},
{
id: 'cactus-1 (entity)',
name: 'Cactus',
type: PlayerKillType.Entity,
},
{
id: 'cactus-2 (entity)',
name: 'Cactus',
type: PlayerKillType.Entity,
},
{
id: 'cactus-3 (entity)',
name: 'Cactus',
type: PlayerKillType.Entity,
},
{
id: 'cactus-4 (entity)',
name: 'Cactus',
type: PlayerKillType.Entity,
},
{
id: 'cactus-5 (entity)',
name: 'Cactus',
type: PlayerKillType.Entity,
},
{
id: 'cactus-6 (entity)',
name: 'Cactus',
type: PlayerKillType.Entity,
},
{
id: 'cactus-7 (entity)',
name: 'Cactus',
type: PlayerKillType.Entity,
},
{
id: 'landmine (entity)',
name: 'Landmine',
type: PlayerKillType.Entity,
},
{
id: 'sentry.scientist.static (entity)',
name: 'Scientist Sentry',
type: PlayerKillType.Entity,
},
{
id: 'patrolhelicopter (entity)',
name: 'Patrol Helicopter',
type: PlayerKillType.Npc,
},
{
id: 'flameturret.deployed (entity)',
name: 'Flame Turret',
type: PlayerKillType.Entity,
},
{
id: 'oilfireballsmall (entity)',
name: 'Small Oil Fire',
type: PlayerKillType.Entity,
},
{
id: 'napalm (entity)',
name: 'Napalm',
type: PlayerKillType.Entity,
},
{
id: 'cargoshipdynamic2 (entity)',
name: 'Cargo Ship',
type: PlayerKillType.Entity,
},
{
id: 'cargoshipdynamic1 (entity)',
name: 'Cargo Ship',
type: PlayerKillType.Entity,
},
{
id: 'barricade.wood (entity)',
name: 'Wooden Barricade',
type: PlayerKillType.Entity,
},
{
id: 'beartrap (entity)',
name: 'Bear Trap',
type: PlayerKillType.Entity,
},
{
id: 'barricade.woodwire (entity)',
name: 'Wooden Barricade',
type: PlayerKillType.Entity,
},
{
id: 'campfire (entity)',
name: 'Campfire',
type: PlayerKillType.Entity,
},
{
id: 'rocket_crane_lift_trigger (entity)',
name: 'Crane Lift',
type: PlayerKillType.Entity,
},
{
id: 'rowboat (entity)',
name: 'Rowboat',
type: PlayerKillType.Entity,
},
{
id: 'fireball (entity)',
name: 'Fireball',
type: PlayerKillType.Entity,
},
{
id: 'teslacoil.deployed (entity)',
name: 'Tesla Coil',
type: PlayerKillType.Entity,
},
{
id: 'hotairballoon (entity)',
name: 'Hot Air Balloon',
type: PlayerKillType.Entity,
},
{
id: 'minicopter.entity (entity)',
name: 'Minicopter',
type: PlayerKillType.Entity,
},
{
id: 'attackhelicopter.entity (entity)',
name: 'Attack Helicopter',
type: PlayerKillType.Entity,
},
{
id: 'scraptransporthelicopter (entity)',
name: 'Scrap Transport Helicopter',
type: PlayerKillType.Entity,
},
];
export enum RCEEvent {
Message = 'MESSAGE',
ServerReady = 'SERVER_READY',
ServiceStatus = 'SERVICE_STATUS',
ServiceSensor = 'SERVICE_SENSOR',
ExecutingCommand = 'EXECUTING_COMMAND',
VendingMachineName = 'VENDING_MACHINE_NAME',
QuickChat = 'QUICK_CHAT',
PlayerSuicide = 'PLAYER_SUICIDE',
PlayerRespawned = 'PLAYER_RESPAWNED',
CustomZoneCreated = 'CUSTOM_ZONE_CREATED',
CustomZoneRemoved = 'CUSTOM_ZONE_REMOVED',
PlayerRoleAdd = 'PLAYER_ROLE_ADD',
PlayerRoleRemove = 'PLAYER_ROLE_REMOVE',
ItemSpawn = 'ITEM_SPAWN',
NoteEdit = 'NOTE_EDIT',
TeamCreate = 'TEAM_CREATE',
TeamJoin = 'TEAM_JOIN',
TeamLeave = 'TEAM_LEAVE',
TeamInvite = 'TEAM_INVITE',
TeamInviteCancel = 'TEAM_INVITE_CANCEL',
TeamPromoted = 'TEAM_PROMOTED',
KitSpawn = 'KIT_SPAWN',
KitGive = 'KIT_GIVE',
SpecialEventSet = 'SPECIAL_EVENT_SET',
EventStart = 'EVENT_START',
PlayerKill = 'PLAYER_KILL',
PlayerJoined = 'PLAYER_JOINED',
PlayerLeft = 'PLAYER_LEFT',
PlayerListUpdated = 'PLAYER_LIST_UPDATED',
FrequencyGained = 'FREQUENCY_GAINED',
FrequencyLost = 'FREQUENCY_LOST',
Error = 'ERROR',
}
export enum QuickChat {
COMBAT_WereUnderAttack = 'd11_quick_chat_combat_slot_0',
COMBAT_Retreat = 'd11_quick_chat_combat_slot_1',
COMBAT_MoveOut = 'd11_quick_chat_combat_slot_2',
COMBAT_DontShoot = 'd11_quick_chat_combat_slot_3',
COMBAT_BeCareful = 'd11_quick_chat_combat_slot_4',
COMBAT_TheyreBetterArmed = 'd11_quick_chat_combat_slot_5',
COMBAT_ImOutOfAmmo = 'd11_quick_chat_combat_slot_6',
COMBAT_ImHurt = 'd11_quick_chat_combat_slot_7',
BUILDING_UpgradeWalls = 'd11_quick_chat_building_slot_0',
BUILDING_NeedBeds = 'd11_quick_chat_building_slot_1',
BUILDING_NeedBuildingPermission = 'd11_quick_chat_building_slot_2',
BUILDING_WhatsDoorCode = 'd11_quick_chat_building_slot_3',
BUILDING_CanIHaveKey = 'd11_quick_chat_building_slot_4',
BUILDING_NeedBetterDoor = 'd11_quick_chat_building_slot_5',
BUILDING_UpkeepRunningLow = 'd11_quick_chat_building_slot_6',
BUILDING_WhichChestFreeGame = 'd11_quick_chat_building_slot_7',
ACTIVITIES_GoingForStone = 'd11_quick_chat_activities_phrase_format d11_Stone',
ACTIVITIES_GoingForWood = 'd11_quick_chat_activities_phrase_format d11_Wood',
ACTIVITIES_GoingForMetal = 'd11_quick_chat_activities_phrase_format d11_Metal',
ACTIVITIES_GoingForFood = 'd11_quick_chat_activities_phrase_format d11_Food',
ACTIVITIES_GoingForWater = 'd11_quick_chat_activities_phrase_format d11_Water',
ACTIVITIES_GoingForScrap = 'd11_quick_chat_activities_phrase_format d11_Scrap',
ACTIVITIES_GoingForMetalFragments = 'd11_quick_chat_activities_phrase_format d11_Metal_Fragments',
ACTIVITIES_GoingForMedicine = 'd11_quick_chat_activities_phrase_format d11_Medicine',
QUESTIONS_AreYouFriendly = 'd11_quick_chat_questions_slot_0',
QUESTIONS_CanIBuildAroundHere = 'd11_quick_chat_questions_slot_1',
QUESTIONS_DoYouWantToTeamUp = 'd11_quick_chat_questions_slot_2',
QUESTIONS_DoYouNeedAnything = 'd11_quick_chat_questions_slot_3',
QUESTIONS_CouldYouHelpMe = 'd11_quick_chat_questions_slot_4',
QUESTIONS_WantToTrade = 'd11_quick_chat_questions_slot_5',
QUESTIONS_WhosThere = 'd11_quick_chat_questions_slot_6',
QUESTIONS_CanIEnter = 'd11_quick_chat_questions_slot_7',
RESPONSES_Yes = 'd11_quick_chat_responses_slot_0',
RESPONSES_No = 'd11_quick_chat_responses_slot_1',
RESPONSES_OK = 'd11_quick_chat_responses_slot_2',
RESPONSES_ThankYou = 'd11_quick_chat_responses_slot_3',
RESPONSES_NoProblem = 'd11_quick_chat_responses_slot_4',
RESPONSES_Hello = 'd11_quick_chat_responses_slot_5',
RESPONSES_Goodbye = 'd11_quick_chat_responses_slot_6',
RESPONSES_ImSorry = 'd11_quick_chat_responses_slot_7',
ORDERS_FollowMe = 'd11_quick_chat_orders_slot_0',
ORDERS_GoAway = 'd11_quick_chat_orders_slot_1',
ORDERS_RepairThis = 'd11_quick_chat_orders_slot_2',
ORDERS_WaitHere = 'd11_quick_chat_orders_slot_3',
ORDERS_ComeIn = 'd11_quick_chat_orders_slot_4',
ORDERS_LetsGo = 'd11_quick_chat_orders_slot_5',
ORDERS_HereTakeThis = 'd11_quick_chat_orders_slot_6',
ORDERS_HurryUp = 'd11_quick_chat_orders_slot_7',
LOCATION_North = 'd11_quick_chat_location_slot_0',
LOCATION_NorthEast = 'd11_quick_chat_location_slot_1',
LOCATION_East = 'd11_quick_chat_location_slot_2',
LOCATION_SouthEast = 'd11_quick_chat_location_slot_3',
LOCATION_South = 'd11_quick_chat_location_slot_4',
LOCATION_SouthWest = 'd11_quick_chat_location_slot_5',
LOCATION_West = 'd11_quick_chat_location_slot_6',
LOCATION_NorthWest = 'd11_quick_chat_location_slot_7',
NEED_Scrap = 'd11_quick_chat_i_need_phrase_format d11_Scrap',
NEED_LowGradeFuel = 'd11_quick_chat_i_need_phrase_format lowgradefuel',
NEED_Food = 'd11_quick_chat_i_need_phrase_format d11_Food',
NEED_Water = 'd11_quick_chat_i_need_phrase_format d11_Water',
NEED_Wood = 'd11_quick_chat_i_need_phrase_format d11_Wood',
NEED_Stone = 'd11_quick_chat_i_need_phrase_format stones',
NEED_MetalFragments = 'd11_quick_chat_i_need_phrase_format d11_Metal_Fragments',
NEED_HighQualityMetal = 'd11_quick_chat_i_need_phrase_format metal.refined',
HAVE_Scrap = 'd11_quick_chat_i_have_phrase_format d11_Scrap',
HAVE_LowGradeFuel = 'd11_quick_chat_i_have_phrase_format lowgradefuel',
HAVE_Food = 'd11_quick_chat_i_have_phrase_format d11_Food',
HAVE_Water = 'd11_quick_chat_i_have_phrase_format d11_Water',
HAVE_HuntingBow = 'd11_quick_chat_i_have_phrase_format bow.hunting',
HAVE_Pickaxe = 'd11_quick_chat_i_have_phrase_format pickaxe',
HAVE_Hatchet = 'd11_quick_chat_i_have_phrase_format hatchet',
HAVE_HighQualityMetal = 'd11_quick_chat_i_have_phrase_format metal.refined',
}
export enum RCEIntent {
All = 'ALL',
ConsoleMessages = 'CONSOLE_MESSAGES',
ServiceState = 'SERVICE_STATE',
ServiceSensors = 'SERVICE_SENSORS',
}
export enum LogLevel {
None = 0,
Error = 1,
Warn = 2,
Info = 3,
Debug = 4,
}
export const RegularExpressions: { [key: string]: RegExp } = {
AIO_RPC_Error: new RegExp(/status\s*=\s*([^\n]+)\s+details\s*=\s*"([^"]+)"/),
Log: new RegExp(/(\d{2}\/\d{2}\/\d{4} \d{2}:\d{2}:\d{2}):LOG: (.+)$/),
CommandExecuting: new RegExp(/Executing console system command '([^']+)'/),
VendingMachineName: new RegExp(
/\[VENDING MACHINE\] Player \[ ([^\]]+) \] changed name from \[ ([^\]]+) \] to \[ ([^\]]+) \]/
),
QuickChat: new RegExp(/(\[CHAT (TEAM|SERVER|LOCAL)\]) ([\w\s\-_]+) : (.+)/),
CustomZoneCreated: new RegExp(/Successfully created zone \[([\w\d\s_-]+)\]/),
CustomZoneRemoved: new RegExp(/Successfully removed zone \[([\w\d\s_-]+)\]/),
PlayerRoleAdd: new RegExp(
/\[([\w\s-]+)] Added \[([\w\s-]+)] to Group \[([\w\s-]+)]/
),
PlayerRoleRemove: new RegExp(
/\[([\w\s-]+)] Removed \[([\w\s-]+)] from Group \[([\w\s-]+)]/
),
ItemSpawn: new RegExp(
/\bgiving ([\w\s._-]+) ([\d.]+) x ([\w\s._-]+(?: [\w\s._-]+)*)\b/
),
NoteEdit: new RegExp(
/\[NOTE PANEL\] Player \[ ([^\]]+) \] changed name from \[\s*([\s\S]*?)\s*\] to \[\s*([\s\S]*?)\s*\]/
),
TeamCreate: new RegExp(/\[([^\]]+)\] created a new team, ID: (\d+)/),
TeamJoin: new RegExp(
/\[([^\]]+)\] has joined \[([^\]]+)]s team, ID: \[(\d+)\]/
),
TeamLeave: new RegExp(
/\[([^\]]+)\] has left \[([^\]]+)]s team, ID: \[(\d+)\]/
),
TeamInvite: new RegExp(
/\[([\w\s]+)] has invited \[([\w-]+)] to their team ID: \[(\d+)]/
),
TeamInviteCancel: new RegExp(
/\[([\w\s-]+)] canceled the invitation for \[([\w\s-]+)] to their team, ID: \[(\d+)]/
),
TeamPromoted: new RegExp(
/\[([\w\s-]+)] promoted \[([\w\s-]+)] as their new leader of the team, ID: \[(\d+)]/
),
KitSpawn: new RegExp(/SERVER giving (.+?) kit (\w+)/),
KitGive: new RegExp(
/\[ServerVar\] ([\w\s_-]+) giving ([\w\s_-]+) kit ([\w\s_-]+)/
),
SpecialEventSet: new RegExp(/Setting event as :(\w+)/),
};