GithubHelp home page GithubHelp logo

heroku-minecraft's Introduction

Heroku Minecraft

Minecraft finds a way.

This is a very alpha-quality Heroku app that runs a Minecraft server on a single dyno.

Limitations

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.

Server Setup

  1. Clone this repository using git (or, if it's easier, GitHub for Mac, or GitHub for Windows).

  2. Create a new Heroku app with a custom buildpack.

    $ heroku create my-app-name --buildpack https://github.com/ddollar/heroku-buildpack-multi.git
  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
  4. Push the app to Heroku.

    $ git push heroku master

Client Setup

Hopefully, this process can be streamlined in the future, but for now it's a little squirrely if you aren't a developer.

These instructions are for OS X, or some other Linux-like operating system maybe.

  1. Clone this repository using git (or, if it's easier, GitHub for Mac, or GitHub for Windows).

  2. Install NodeJS and NPM. On the Mac, I suggest doing this via Homebrew. If you have Homebrew installed, just do brew install node.

  3. Change to the repository you cloned.

    $ cd ~/Downloads-Or-Wherever/heroku-minecraft
  4. Install the NPM dependencies.

    $ npm install
  5. Run the proxy service. This will proxy the Minecraft server on Heroku to your local machine. The server will appear to be a Minecraft server running on your local machine.

    $ coffee proxy/connect.coffee my-app-name.herokuapp.com
  6. Leave the terminal window open and launch Minecraft. Add a new server with the address localhost. Hit connect and play! When you're done playing, close the terminal window.

Credits

Much of the original Heroku setup by Jacob Gillespie.

Updates, refactoring, and the WebSockets proxying by Wil Gieseler.

heroku-minecraft's People

Contributors

wilg avatar wuputah avatar jacobwgillespie avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.