rs

rcon-srcds

A modern NodeJS library for the Source RCON Protocol

Showing:

Popularity

Downloads/wk

71

GitHub Stars

30

Maintenance

Last Commit

3mos ago

Contributors

7

Package

Dependencies

0

Size (min+gzip)

2.1KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

RCON library for NodeJS

According to Valve's RCON specification

Install

npm install rcon-srcds --save

Usage

// ES5 import
const server = new Rcon(options);

// ES5+ import
import Rcon from 'rcon-srcds';

Options

These are the default values.

{
    host: '127.0.0.1',          // Host
    port: 27015,                // Port
    maximumPacketSize: 0,       // Maximum packet bytes (0 = no limit)
    encoding: 'ascii',          // Packet encoding (ascii, utf8)
    timeout: 1000               // in ms
}

The maximum possible value of packet size is 4096 bytes: https://developer.valvesoftware.com/wiki/Source_RCON_Protocol#Packet_Size

Minecraft Compatibility

Although the package name implies exclusive compatibility with Source games, Minecraft servers also use Valve's RCON implementation, so there should not be any issues using this package for your Minecraft projects!

Examples

Using async/await:

import Rcon from 'rcon-srcds';
const server = new Rcon({ host: '127.0.0.1', port: 25010 });
try {
    await server.authenticate('your_rcon_password');
    console.log('authenticated');
    let status = await server.execute('status'); // You can read `status` reponse
    server.execute('mp_autokick 0'); // no need to read the response
} catch(e) {
    console.error(e);
}

Using (native) promises:

import Rcon from 'rcon-srcds';
const server = new Rcon({ port: 25010 });

server.authenticate('rcon_password')
    .then(() => {
        console.log('authenticated');
        return server.execute('status');
    })
    .then(console.log)
    .catch(console.error);

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100