JSPM

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

An ES2017 implementation of an RCON client

Package Exports

  • source-rcon-client

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 (source-rcon-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

source-rcon-client npm version License: MIT Code of Conduct semver

A simple RCON client written in ES2018 with the isotropic utilities library.

API

new SourceRCONClient(hostname, port = 27015, password, timeout = 5000, logEnabled = false)

Returns a fresh client instance for the given server and credentials.

Arguments

  • hostname - The hostname or IP of the RCON server.
  • port - The TCP port of the RCON server. Defaults to port 27015.
  • password - The admin password for the RCON server.
  • timeout - The timeout for command responses. Defaults to 5000 ms (5 seconds.)
  • logEnabled - Whether logging (via pino) is enabled. Defaults to false.

Example

import SourceRCONClient from 'source-rcon-client';

const client = new SourceRCONClient('hostname', 27015, 'password');

NOTE: source-rcon-client is a ES2015+ module. If you're using CommonJS on Node.js < 12 or are not using Babel to transpile, you're going to want to require source-rcon-client by the default property:

const SourceRCONClient = require('source-rcon-client').default,
    client = new SourceRCONClient('hostname', 27015, 'password');

connect()

Connects with the credentials provided at instantiation time. Returns a Promise that is resolved if the connection is successful and rejects if it fails.

Example

import SourceRCONClient from 'source-rcon-client';

const client = new SourceRCONClient('hostname', 27015, 'password');

client.connect().then(() => {
    console.log('Connected!');
}).catch(error => {
    console.error(error);
});

disconnect()

Disconnects from the RCON server and resets the client, making it ready for a new connection. Returns a Promise that is resolved if the client disconnects cleanly or rejects if it does not.

Example

import SourceRCONClient from 'source-rcon-client';

const client = new SourceRCONClient('hostname', 27015, 'password');

client.connect().then(() => {
    console.log('Connected!');
    return client.disconnect();
}).then(() => {
    console.log('Disconnected!');
}).catch(error => {
    console.error(error);
});

send(command[, packetType])

Sends the provided command to the connected server for execution. Returns a Promise that resolves with the server response on successful execution, or rejects with an error if there is a failure.

Arguments

  • command - The command sent to the server.
  • packetType - An optional PacketType definition. Defaults to PacketType.SERVERDATA_EXECCOMMAND.

Example

import SourceRCONClient from 'source-rcon-client';

const client = new SourceRCONClient('hostname', 27015, 'password');

client.connect().then(() => {
    console.log('Connected!');
    return client.send('listplayers'); // Assuming an ARK/ATLAS server...
}).then(response => {
    console.log(response); // Print the server response to console
    return client.disconnect();
}).then(() => {
    console.log('Disconnected!');
}).catch(error => {
    console.error(error);
});