A simple RCON client written in ES2018 with the isotropic utilities library.
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');
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);
});
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);
});
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 toPacketType.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);
});