nbot

A clone of the eBot by @deStrO fully based on node.js with build in Web Page - WIP
git clone git://archive.git.mtrnord.blog/MTRNord/nbot.git
Log | Files | Refs | README | LICENSE

commit 00e28fbfa1c8689a83b36754990d965d330ffb99
parent 9935d90ff2811d550314b7f6bcc04131eb969362
Author: MTRNord <mtrnord1@gmail.com>
Date:   Thu, 24 Mar 2016 01:32:00 +0100

Add very very basic server adding

Diffstat:
Abackend/addServer.js | 49+++++++++++++++++++++++++++++++++++++++++++++++++
Acsgo_servers/.gitkeep | 0
Mpackage.json | 1+
Mweb/server.js | 7++++++-
Mweb/theme/index.html | 9+++++++++
5 files changed, 65 insertions(+), 1 deletion(-)

diff --git a/backend/addServer.js b/backend/addServer.js @@ -0,0 +1,49 @@ +var socket = require("../web/server.js") +var ProgressBar = require('progress'); +var https = require('https'); +var fs = require('fs'); + +module.exports = { + start: function () { + var req = https.request({ + host: 'raw.githubusercontent.com', + port: 443, + path: '/dgibbs64/linuxgameservers/master/CounterStrikeGlobalOffensive/csgoserver' + }); + + req.on('response', function(res){ + var len = parseInt(res.headers['content-length'], 10); + + console.log(); + var bar = new ProgressBar(' downloading [:bar] :percent :etas', { + complete: '=', + incomplete: ' ', + width: 20, + total: len + }); + + res.on('data', function (chunk) { + bar.tick(chunk.length); + fs.writeFile("csgo_servers/csgoserver", chunk, function(err) { + if(err) { + return console.log(err); + } + + console.log("The file was saved!"); + }); + }); + + res.on('end', function () { + console.log('\n'); + }); + console.log('statusCode: ', res.statusCode); + }); + req.end(); + req.on('error', (e) => { + console.error(e); + }); + }, + step2: function () { + //TODO Start Script + } +} diff --git a/csgo_servers/.gitkeep b/csgo_servers/.gitkeep diff --git a/package.json b/package.json @@ -28,6 +28,7 @@ "homepage": "https://github.com/MTRNord/nBot#readme", "dependencies": { "express": "^4.13.4", + "progress": "^1.1.8", "socket.io": "^1.4.5", "srcds-rcon": "^2.2.0" }, diff --git a/web/server.js b/web/server.js @@ -3,6 +3,7 @@ var express = require('express') var http = require('http').Server(app); var io = require('socket.io')(http); var rcon = require("../backend/rcon.js") +var addserver = require("../backend/addServer.js") var util = require('util'); module.exports = { @@ -39,7 +40,11 @@ module.exports = { console.log("Status: " + util.inspect(rcon.status(), {showHidden: false, depth: null})); }else { - console.log("unknown command"); + if (command.command == "add_server") { + addserver.start() + }else { + console.log("unknown command"); + } } } } diff --git a/web/theme/index.html b/web/theme/index.html @@ -72,6 +72,9 @@ <p id="status"></p> <button type="button" class="btn btn-info btn-lg" id="check_status">Check Status</button> </li> + <li class="list-group-item"> + <button type="button" class="btn btn-info btn-lg" id="add_server">Add Server</button> + </li> </ul> </p> </div> @@ -328,6 +331,12 @@ socket.emit('command', {command: 'status'}); e.preventDefault(); }); + $(document).off('click', '#add_server').on('click', '#add_server', function (e) { + console.log('Add Server'); + + socket.emit('command', {command: 'add_server'}); + e.preventDefault(); + }); </script> </body> </html>