A simple Ruby wrapper for Minecraft servers
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitignore
README.md

README.md

emerald-mgmt

A simple Ruby wrapper for Minecraft servers

What's this?

This app is a very, very simple wrapper used to enable remote management for Minecraft services. It implemenents a very minimum amount of features to permit the adminstrator to use the web browser for daily management, instead of a terminal. It is also one of my first 'real' web applications, in a sense :D

It also does starting and stopping automatically in response to configuration and signals, so one can "leave it be" once it has been configured and proven to work.

So far, it doesn't do much beyond exposing a terminal. Backups, for example, you need to take on your own.

Requirements

You will need a relatively modern version of Ruby (>2.0), and Bundler (for gem management). The author himself has tested this program with Ruby 2.1

How to install?

As each system is different, and this program does not contain its own installer, it is therefore impossible to give universal guidance to a very precise degree. This should be done:

  1. Copy the program to a suitable folder.
  2. See config.rb, and set all parameters to your liking. For your security, particularly read the segment about authentication!
  3. Run the server, and/or set it so that it autostarts with your system.
    • Starting is best done with bundle install and bundle exec ruby ./emerald.rb, while in the src folder. Autostart depends on your system, but systemd could be a good candidate (it can, for example, send the server a SIGINT signal which signals the server to terminate gracefully).
    • (*nix systems): Make sure you do not run it as root! This can make any security holes ten times worse! You should ensure that Emerald runs as the same user as the server itself, and that user should be restricted solely for its own purpose.

I found a bug!

Known flaws

  • I need to resolve how to more rigorously prevent HTML styles from polluting the editing box (other than using an actual form box)
  • Authentication could be more flexible, more examples on connecting to, say, foreign auth providers

Something else?

Oh dear! Send in a report (or preferably a pull request), and I'll note it and see what I can do for it. Be warned though, I do not intend to maintain this program too actively; only enough to suit my own needs!

License

Emerald itself is under MIT license, all gems and other components are under their own respective licenses. See LICENSE for further details