JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 44
  • Score
    100M100P100Q39587F
  • License ISC

A fully typed RCON package for Pavlov VR custom servers

Package Exports

  • rcon-pavlov
  • rcon-pavlov/dist/server.js
  • rcon-pavlov/dist/server.mjs

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

Readme

rcon-Pavlov

A fully typed RCON package for Pavlov VR, built natively in TypeScript

Features

Typed Functions

Every RCON command is fully typed allowing for seamless integration into existing projects

Custom Error Types

All possible errors have their own type allowing for easy error handling

Object Based IDs

All in game items exist under the exported object Items with the pattern Items.Category.Item ie Items.Rifles.M4

Example

import Server, {Items} from "rcon-pavlov";
const ip = "127.0.0.1";
const port = 9100;
const password = process.env.RCON_PASSWORD; // Never store passwords in code
const maxWaitTime = 3; // Time in seconds to wait on server response
const delay = (ms: number) => {return new Promise( resolve => setTimeout(resolve, ms));}

const main = async () => {
    const server = new Server(ip, port, password, maxWaitTime);
    
    await server.connect();
    
    // Wait 2 seconds before sending any commands or else authentication may fail
    await delay(2000);
    
    // Get server info
    console.log(await server.serverInfo());
    
    console.log(await server.giveAll("0", Items.Rifles.M4));
    
    // Close server before terminating process
    await server.close();
}

main().then(() => {console.log('done')}).catch(console.error);