Minecraft finds a way.
This is a very alpha-quality Heroku app that runs a Minecraft server on a single dyno.
Since Heroku is a bit of a weird platform, there are a couple of caveats to running a Minecraft server on it.
Since Heroku no longer supports TCP routing, we're proxying the connection through WebSockets. This means each client will have to run a little tool to turn the WebSocket connection back into a regular TCP Minecraft connection. This is detailed below in the "Client" section.
Heroku has no persistant storage, so you will have to have an Amazon AWS account and an Amazon S3 bucket ready to store your world data. Your world data will be automatically synced to and from S3 in the background.
Create a new Heroku app with a custom buildpack.
$ heroku create my-app-name --buildpack https://github.com/ddollar/heroku-buildpack-multi.git
Choose your Minecraft server version (default 1.8.3).
$ heroku config:add MC_VERSION=1.8.3
Add your Amazon AWS credentials and S3 bucket name to the Heroku configuration. This enables data persistence. Otherwise, your server will be wiped each time it is restarted.
$ heroku config:add AWS_KEY=xxxxxxx AWS_SECRET=yyyyyyyyyyyyyyyyy S3_BUCKET=my-bucket-name
Push the app to Heroku.
$ git push heroku master
Install https://github.com/leonardosantos/hmwtc, then:
$ hmwtc my-app-name.herokuapp.com
Original implementation by Jacob Gillespie.
See the contributors list - many awesome people have contributed to make heroku-minecraft what it is today.