Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
A modern RCON client implementation written in TypeScript (targeting ES2015) and is async/await friendly.
A modern RCON client implementation written in TypeScript (targeting ES2015) and is async/await friendly.
(Originally node-modern-rcon
.)
npm install rcon-ts --save
Creates a new Rcon
object.
import Rcon from 'rcon-ts';
const rcon = new Rcon({
host: "host-path",
port: 25575 /*default*/,
password: "required",
timeout: 5000 /*default (5 seconds)*/
});
Connects with the credentials provided in the constructor. Can be awaited on.
rcon.connect();
Executes the provided command on the active connection and returns the response.
let response = await rcon.send("[rcon request]");
Ends the current socket and subsequently signals to any pending request that the connection was disconnected.
rcon.disconnect();
To simplify the usage, you can use the session
method.
// Single command:
rcon
.session(c => c.send("one")) // connects, sends, and then disconnects.
.then(()=>console.log("first session complete"), console.error);
// Multiple commands:
rcon
.session(async c => {
await c.send("two");
await c.send("three");
})
.then(()=>console.log("second session complete"), console.error);
Any number of conccurrent sessions can be active on a single connection and once they've all completed the connection will end.
session
takes a promise factory as a parameter and passes the current Rcon instance as the first param (optional) to the factory.
async function sendHelp()
{
rcon.connect();
// safe to immediately setup requests without waiting.
console.log(await rcon.send('/help'));
rcon.disconnect();
}
sendHelp().finally(() =>
{
const errors = rcon.errors;
if(errors.length) console.warn("Errors:",errors);
});
Or simply...
rcon
.session(c => c.send('/help'))
.then(console.log, console.error);
For usage or testing, make sure you are starting the game from command line or connecting to an rcon configured remote instance.
factorio.exe --start-server [save-name].zip --rcon-port [port] --rcon-password [password]
Try either one of the examples above.
FAQs
A modern RCON client implementation written in TypeScript (targeting ES2015) and is async/await friendly.
We found that rcon-ts demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.