diff --git a/app/MinecraftServer.js b/app/MinecraftServer.js new file mode 100644 index 0000000..e4cdefd --- /dev/null +++ b/app/MinecraftServer.js @@ -0,0 +1,38 @@ +const fs = require('fs'); + +class Server { + constructor(dir) { + this.rootDir = dir; + this.name = dir.split('/').at(-1); + this.pidFilePath = this.rootDir + '/pid.txt'; + + // read version file + var versionFilePath = this.rootDir + '/current_version.txt'; + this.version = fs.readFileSync(versionFilePath, {encoding:'utf8', flag:'r'}); + + // set server state + if (fs.existsSync(this.pidFilePath)) { + this.state = true; + } else { + this.state = false; + } + } + + start() { + console.log('Starting server...'); + } + + stop() { + console.log('Stopping server...'); + } + + getPid() { + if (fs.existsSync(this.pidFilePath)) { + return fs.readFileSync(this.pidFilePath, {encoding:'utf8', flag:'r'}) + } + + return -1; + } +} + +exports.Server = Server; diff --git a/routes/home.js b/routes/home.js index bcb270a..49aab48 100644 --- a/routes/home.js +++ b/routes/home.js @@ -1,5 +1,8 @@ +const minecraft = require('../app/MinecraftServer'); + exports.getIndex = function(req, res) { + var server = new minecraft.Server('/opt/minecraft/bg_w3'); res.render('index', { - servers: [], + servers: [server], }); }; diff --git a/views/index.pug b/views/index.pug index dce4631..124ccfc 100644 --- a/views/index.pug +++ b/views/index.pug @@ -22,9 +22,9 @@ block content tbody each m in servers tr.serverItem - td.serverName m.name - td.serverVersion m.version - td.serverState m.state + td.serverName= m.name + td.serverVersion= m.version + td.serverState= m.state td - a(href="/server/#{server.name}/start") Start - a(href="/server/#{server.name}/stop") Stop + a(href='/server/' + m.name + '/start') Start + a(href='/server/' + m.name + '/stop') Stop