JSPM

  • Created
  • Published
  • Downloads 133
  • Score
    100M100P100Q59501F
  • License AGPL-3.0-or-later

A Roblox real-time communication module between a Roblox game server and your own server.

Package Exports

  • roblox-rtc
  • roblox-rtc/dist/index.js

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

Readme

roblox-rtc

A Roblox real-time communication module between a Roblox game server and your own server.

NOTE: BUGTESTING FINISHED!

Features

  • Send a message to a specific server.
  • Send a message to a server with a matching JobId (game.JobId).
  • Send a message to a server with a matching PlaceId (game.PlaceId).
  • Broadcast a message to all servers.
  • Get players in a server.

Quick Start

Install:

npm install roblox-rtc

Roblox (Luau) Module Docs

Most functions have thorough JSDocs.

Create a server:

const roblox_rtc = require("roblox-rtc")
roblox_rtc.createServer().listen(3000)

Create an HTTPS server:

const roblox_rtc = require("roblox-rtc")
const fs = require("fs")
roblox_rtx.createServer({
    key: fs.readFileSync('path/to/key.pem'), // change this to your private key file. It does not have to be a .pem, it can be any file that is editable normally in a 
                                             // editor with UTF8 encoding
    cert: fs.readFileSync('path/to/cert.pem') // same as above, for your certificate file
}).listen(3000, () => {
    console.log('started HTTPS server on port 3000')
})

Send a message to all servers:

const roblox_rtc = require("roblox-rtc")
const server = roblox_rtc.createServer(...) // replace ... with your options...

server.send({
    // your data here...
}).then(() => {
    // some logic here
}).catch(() => {
    // catch any errors
})

// Or you can do it asynchronously
async function main() {
    await server.send({
        // your data here...
    })
}

server.listen(3000) // change 3000 to your port

Send data to all servers that are connected with a specific game.PlaceId or the server with the same game.JobId:

const roblox_rtc = require("roblox-rtc")
const server = roblox_rtc.createServer({
    // your options here
})

server.send({
    // your data here
}, {
    PlaceId: 0, // replace with your PlaceId
    // JobId: "" // replace this with the server JobId. Also, instead of doing this, you can take a Connection object and directly call send (next example)
})

server.listen(3000) // change 3000 to your port

Send a message to a server using a Connection object (and also Connection listening):

const roblox_rtc = require("roblox-rtc")
const server = roblox_rtc.createServer({
    // your options here
})

server.on("connection", (conn) => {
    conn.send({
        // your data here...
    })
})

server.listen(3000) // change 3000 to your port

Get players in a server:

const roblox_rtc = require("roblox-rtc")
const server = roblox_rtc.createServer({
    // your options here
})

server.on("connection", (conn) => {
    const players = conn.players
    // your logic here
})

server.listen(3000) // change 3000 to your port