JSPM

rustcon

0.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q40042F
  • License MIT

RCON service & log parser for Rust

Package Exports

  • rustcon

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (rustcon) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

rustcon

RCON service & log parser for Rust

Usage

Install

npm install --save rustcon

Run

import RustCon from 'rustcon';

// initialize
let rustcon = new RustCon("rust.server.ip.address", port, "rcon password");

// listen for events
rustcon.on('server_info', (msg) => console.log(msg));   // hostname, desc, url, image
rustcon.on('player_status', (msg) => console.log(msg)); // list of players
rustcon.on('message', (msg) => console.log(msg));       // server messages

// connect to your server
rustcon.connect();

Events

server_info response

The server_info event response will return an object of the current server information, like so:]

{
  hostname: 'example hostname here',
  description: 'this is a description of your server',
  url: '...',
  image: '...'
}

player_status response

The player_status event response will return an array of the current players on the server, each as an object like so:

[
  {
    steamId: '12345678901234566',
    name: 'my cool player name',
    ping: '26',
    connected: '2403s',
    ipAddress: '123.123.123.123:12345'
  },
  ...
]

message

The message event is emitted after every rcon line on the server. It is broken down into objects according to the type of log line:

RCON:

{
  type: 'rcon',
  msg: '[RCON][123.123.123.123:12345] status',
  timestamp: 2016-05-28T09:43:12.993Z,
  host: '123.123.123.123:12345',
  content: 'status'
}

Oxide:

{
  type: 'oxide',
  msg: '[Oxide] 02:43 [Info] [BetterLoot] BetterLoot: Refreshed 39 containers (0 destroyed)',
  timestamp: 2016-05-28T09:43:13.914Z,
  level: 'info',
  content: '[BetterLoot] BetterLoot: Refreshed 39 containers (0 destroyed)'
}

Chat:

{
  type: 'chat',
  msg: '[CHAT] playername[1234567/12345678901234566] : Hello playername.',
  timestamp: 2016-05-28T02:37:31.847Z,
  name: 'playername',
  id: '1234567',
  steamId: '12345678901234566',
  content: 'Hello playername.'
}

General:

{
  type: 'general',
  msg: 'playername[1234567/12345678901234566] died (Bite)',
  timestamp: 2016-05-28T02:07:56.362Z,
  content: 'playername[1234567/12345678901234566] died (Bite)'
}