Merge pull request #13 from DanyelSuxdorf/patch-1
Update command.js: Just a little typo
|10 months ago|
|controllers||2 years ago|
|db||2 years ago|
|helpers||2 years ago|
|models||10 months ago|
|public||10 months ago|
|screenshots||2 years ago|
|scripts||2 years ago|
|src/scripts||2 years ago|
|.gitignore||2 years ago|
|LICENSE||2 years ago|
|gulpfile.js||2 years ago|
|package.json||2 years ago|
|readme.md||2 years ago|
|server.js||2 years ago|
This Ark Server Manager provides the following functionality via a Web Interface to manage your Ark Server:
In the scripts folder, shell scripts can be found, that actually do the execution. You can modify those files, if you want the server to be started with other or additional parameters, etc.
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs
apt-get install giton Ubuntu)
git clone https://github.com/skanatiker/ark_server_managerto download the program
npm installto load all required dependencies
node server.jsto start the server
https://<server ip or dns name>:3001. The first call will take a while, don’t worry. Currently you have to accept the certificate, because it is not valid at the moment. See next section about HTTPS. Then login with default username
Let’s encrypt is being used to generate an individual SSL certificate for everyone who runs the server. For now only the testing mode is used, which only provides non validated certificates. I am working on switching to production ready certificates. It will just take some more time.
As soon as it is available, you will also have to configure your ports a bit differently. Let’s encrypt requires the server to run on Port 80. Therefore you will have to configure a local port forwarding on your server. This could look like:
sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000
sudo iptables -t nat -I PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3001
If any questions come up or you just want to give some feedback about the server, please don’t hesitate to contact me via [email protected].
This server manager has been developed with the intention of playing on a private server with some friends. The server shall not be running all the time. It’ll only be started, when someone actually wants to play. For avoiding SSH connections to the server and the execution of shell scripts manually, i created the server manager. All my friends can login to the web interface and can quickly see whether the server is up and running and if it is not running they can simply start and later on stop server.
Perhaps there are other usecases for it. Just let me know :)
I’ve created a Trello Board, where i collect new feature ideas and everyone can vote for these features to identify the most important ones.
For all the developers out there, i also want to give a short overview on what i used for the Development. Basically it is a Nodejs Express application. The REST services and websockets are secured via JWT. I used [express-jwt]() and jsonwebtoken for this. The SSL handling for HTTPS is done via letsencrypt-express. NEDB has been used for persistence, which uses the MongoDB API, but can be run embedded in the node server.
The frontend is written with AngularJS.