npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

source-rcon-client

v0.0.10

Published

An ES2017 implementation of an RCON client

Downloads

25

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);
});