Added ability to start a server
This commit is contained in:
@ -2,6 +2,7 @@ const config = require('config');
|
||||
const fs = require('fs');
|
||||
const https = require('https');
|
||||
const path = require('path');
|
||||
const minecraft = require('../app/MinecraftServer');
|
||||
|
||||
exports.getCreate = function(req, res) {
|
||||
// render view
|
||||
@ -30,7 +31,7 @@ exports.postCreate = function(req, res) {
|
||||
|
||||
// create the start.sh shell script
|
||||
scriptFilePath = path.join(serverDir, 'start.sh');
|
||||
scriptContent = "#!/bin/sh\n\ncd " + serverDir + "\njava -Xmx2048M -Xms2048M -jar server_" + req.body.serverVersion + ".jar nogui";
|
||||
scriptContent = "#!/bin/sh\n\ncd " + serverDir + "\njava -Xmx2048M -Xms2048M -jar server_" + req.body.serverVersion + ".jar nogui &\n\necho \"$!\" > ./pid.txt";
|
||||
fs.writeFileSync(scriptFilePath, scriptContent);
|
||||
fs.chmodSync(scriptFilePath, 0o755);
|
||||
|
||||
@ -43,3 +44,27 @@ exports.postCreate = function(req, res) {
|
||||
// redirect the user back to the home page
|
||||
res.redirect('/');
|
||||
};
|
||||
|
||||
exports.getStart = function(req, res) {
|
||||
let serverName = req.params.serverName;
|
||||
let rootDir = config.get('server_directory');
|
||||
let server = new minecraft.Server(path.join(rootDir, serverName));
|
||||
|
||||
// start the server
|
||||
server.start();
|
||||
|
||||
// redirect the user back to the home page
|
||||
res.redirect('/');
|
||||
};
|
||||
|
||||
exports.getStop = function(req, res) {
|
||||
let serverName = req.params.serverName;
|
||||
let rootDir = config.get('server_directory');
|
||||
let server = new minecraft.Server(path.join(rootDir, serverName));
|
||||
|
||||
// stop the server
|
||||
server.stop();
|
||||
|
||||
// redirect the user back to the home page
|
||||
res.redirect('/');
|
||||
};
|
||||
|
Reference in New Issue
Block a user