What is Minecrab?

Minecrab aims to solve the problems around Minecraft server hosting, being a set of tools to help you manage low-cost Minecraft servers on Joyent's high performance public cloud.

Benefits of Minecrab

  • Eliminate the expense of leaving your Minecraft servers running when no one is playing.
  • Friends can easily discover where to connect.
  • Minecraft server software updates are automagic.
  • Backup of your world with a single command and automatically on shutdown, either as a save point or as protection from server crashing.
  • Painless server migration if server resources become exhausted.
  • Easily show off your Minecraft creations to your family and friends.

How it works

The Minecrab software is a set of command line tools that run on your local computer along with a set of management scripts that run on a remote, virtual server. For example, the minecrab-launch command will launch a virtual computer on Joyent's cloud and set it to download the latest Minecraft, Feed the Beast Ultimate, Bukkit or Voltz server, install it, and start it up.

The first time your server starts it will generate a new world. You can then whitelist those that you want to play with, and send them a link to your personal Minecrab Status Page, where they can discover server status and connection information.

At any time you can issue a command to backup your server data to Joyent's Manta or kick off a job to generate a Google-maps style overview of your world. If maps are generated, a thumbnail will show up on your Minecrab Status Page.

When you're done playing and issue the shutdown command, Minecrab will automatically backup your world data, kick off a job to regenerate the map and shut the server down. When you're ready to play again, use the same launch command you used originally and your world will be restored where you left off!

Did you say a personal Minecrab status page?

Each time you launch a server, a personal minecrab status page is created for you in Joyent's Manta, allowing you to easily share connection information, server status, and maps!

You can find the live version here.

View from the command line

What does that actually look like from the command line? Here we already have a server that's offline, named "salt":

  # Most of the command output redacted for clarity...

  $ minecrab-list                   # List all online/offline worlds
  IP              STATE      NAME
  n/a             offline    salt

  $ minecrab-launch pepper          # Launch a the server called "pepper"
  Status Website: https://us-east.manta.joyent.com/Joyent_Dev/public/minecrab/index.html

  $ minecrab-list                   # List all online/offline worlds
  IP              STATE      NAME running    pepper
  n/a             offline    salt

  $ minecrab-add-friend pepper bob  # Allow bob to play on pepper
  $ minecrab-backup pepper          # Backup your server data to Manta
  $ minecrab-map pepper             # Kick off a job to generate a map
  $ minecrab-shutdown -M pepper     # Backup and shut down, but don't map

  $ minecrab-list                   # List all online/offline worlds
  IP              STATE      NAME
  n/a             offline    pepper
  n/a             offline    salt

  $ minecrab-launch pepper          # Restore

You can find the command line reference in the Minecrab README.

How much does it cost?

Minecrab currently launches a virtual server with 4 GB of RAM, 131 GB of disk space and 1 virtual CPU. This costs about $0.13 per hour per running server.

Once you backup your world, there's storage cost at a rate of about $0.09 per GB per month. Most worlds are less than 100 MB.

Hosting and generating maps is actually the most expensive part of Minecrab. New worlds take about 5 minutes to render. Large maps can take hours. Time spent generating the world is billed at about $0.58 per hour and the resulting Manta storage can end up in multi-GB range for a medium-size world.

Note that this doesn't take into account the bandwidth charges for accessing your maps or server status page, though the first GB of bandwidth out of Manta is free and then up to 10 TB is only $0.12 per GB, so unless viewing your world goes viral, it shouldn't factor into the cost.

As an example, say that you have a single, medium size world that you keep running for one night a week for about 3 hours). You only generate the map once at the end of the month. Here's the approximate cost breakdown:

  World backup storage, 50 MB:   $0.09 x 0.05 GB    < $0.01
  Server running time:           $0.13 x 15 hours     $1.95
  World map rendering time:      $0.58 x 2 hours      $1.16
  Map storage, 2 GB:             $0.09 x 2 GB         $0.18
  ----------------------------   ----------------
  Total:                                              $3.30

Even with map generation, this is still significantly cheaper than a dedicated 24x7 Minecraft server hosting elsewhere. And if you want to live without a map, it'll cost you less than a $2.00 a month per Minecraft server!

Wow. How do I get started?

Check out the getting started section of the README. All the details are there.

Found bugs? File an issue!

Want to contribute?

We'll gladly accept code contributions! The only monetary cost you'll incur are the charges outlined above. Hooray for open source!