Skip to content

node.js implementation of mineos minecraft management

License

Notifications You must be signed in to change notification settings

gthicks/mineos-node

 
 

Repository files navigation

Node.JS MineOS

MineOS is a server front-end to ease managing Minecraft administrative tasks. This iteration using Node.js aims to enhance previous MineOS scripts (Python-based), by leveraging the event-triggering, asyncronous model of Node.JS and websockets.

This allows the front-end to provide system health, disk and memory usage, and logging in real-time.

The ultimate goal will be for this to work on all Linux and BSD distros, but so far testing and development has only occurred on Linux.

Installation

MineOS is distributed (right now) through github and downloads its dependencies with npm. In the future, MineOS will be it's own NPM project which should facilitate even easier installation.

Using an apt-get based Linux distribution:

apt-get install -y nodejs nodejs-legacy npm git rdiff-backup openjdk-7-jre-headless
git clone https://github.com/hexparrot/mineos-node.git
cd mineos-node
npm install --all
sudo nodejs webui.js

Developing and Contributing

I'd love to get contributions from you! Whether you are most comfortable writing HTML, CSS, or Javascript (either Node or Angular), feel free to reach out to me about some of my design goals and we'll see where your efforts can best be used.

License

See LICENSE.md file.

Support

Create an issue in github or start a post on the [http://discourse.codeemo.com/](MineOS support forums).

CURRENTLY WORKING

The Angular.JS-based web user interface capable of:

  • creating and deleting servers,
  • starting, restarting, killing and stopping servers
  • backup, archive, wait-for-stop-and-backup
  • reading ingame console in real-time and submitting commands
  • create cronjobs for the most common tasks
  • modifying server.properties
  • delete previous archives and restore poitns to free up space
  • restore server from previous restore point
  • see filesystem usage of live server files, archives, and restore points
  • easy selection of server packs from FTB or Mojang official jars
  • authentication via shadow passwords (/etc/shadow) of underlying Linux system

TODO

  • save all user actions in web-ui to a file/database (log kept in working memory currently)
  • save cronjobs to portable format, e.g., server.config
  • macro often-repeated tasks from web-ui
  • daemonize with auto-restart capability
  • more fully document functions

EVENTUALLY

  • implement previous_versions: functionality to roll back or view particular files' previous state
  • command-line interface for scripting
  • PHAR support
  • identify java versions in web-ui, allow choice of utilized jvm

About

node.js implementation of mineos minecraft management

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 78.5%
  • CSS 11.9%
  • HTML 9.6%