started with simple rcon code

This commit is contained in:
Valentijn
2026-05-10 22:19:52 +02:00
parent ad34ff36c3
commit 6fd6aa756d
2 changed files with 36 additions and 9 deletions

25
main.js
View File

@@ -1,17 +1,19 @@
/*
Imports
*/
import { runCommand } from "./minecraft";
const express = require('express')
require('dotenv').config()
/*
Constant declaration
*/
const app = express();
app.use(express.json())
const port = process.env.PORT || 3000;
/*
@@ -27,9 +29,22 @@ Passport.js OAuth2/OICD handler
/*
Express Routes
*/
app.post("/api/command", (req,res)=>{
const body = req.body;
if (!body["command"]) return res.sendStatus(400);
let commandResponse = runCommand(body["command"]);
res.send({
response: commandResponse
})
})
/*
Run Express
*/
app.listen(() => {
console.log("Running Server!")
}, port)

View File

@@ -1,13 +1,25 @@
/*
Imports
*/
const { Rcon } = require("rcon-client");
require('dotenv').config()
/*
helper functions (eg, getOnlinePlayers())
*/
export async function runCommand(command){
if (typeof command != String) return;
const rcon = await Rcon.connect({
host: process.env.MC_HOST, port: process.env.MC_RCON_PORT, password: process.env.MC_RCON_PASSWORD
})
let response = await rcon.send(command);
rcon.end();
return response;
}
/*
module.exports all those functions
*/