Giter Site home page Giter Site logo

villekraf's Introduction

Spigot on Heroku

Run your spigot minecraft server on the cloud with Heroku.

This is a Heroku buildpack, in order to install it you need to install the Heroku toolbelt.

Requirement

  1. The Heroku toolbelt installed

  2. A free Heroku account. Sign up here

  3. A ngrok account (for ip tunneling). Sign up here

  4. A dropbox account for files sync. Sign up here (info below)

Usage

After download and install the Heroku CLI, open Command Prompt (cmd) and type

heroku login

with your account credentials.

Next, simply copy the following lines to your Command Promt (cmd)

heroku create
heroku buildpacks:add heroku/jvm
heroku buildpacks:add https://github.com/kimbang012/Spigot-on-heroku
heroku ps:exec
git commit -m "Heroku Exec" --allow-empty
done

Then, manually add these command with your Ngrok auth token, Dropbox app config file link (read below)

$ heroku config:set NGROK_API_TOKEN="xxxxx"
$ heroku config:set DBCONFIG="xxxxx"

Put your Dropbox Access Token in the DBCONFIG!

Then copy these commands in the cmd

git push heroku master
heroku ps:scale worker=1
done

And your done!

Go here to check your server ip.

Files sync

The Heroku filesystem is ephemeral, which means files written to the file system will be destroyed when the server is restarted.

Minecraft keeps all of the data for the server in flat files on the file system. Thus, if you want to keep you world, you'll need to sync it to Dropbox or AWS S3.

By defaule, dropbox sync will automatic backup your data every 5 minutes.

You can add Amazon S3 to sync your datas

First, create an AWS account and an S3 bucket. Then configure the bucket and your AWS keys like this:

$ heroku config:set AWS_BUCKET=your-bucket-name
$ heroku config:set AWS_ACCESS_KEY=xxx
$ heroku config:set AWS_SECRET_KEY=xxx

The buildpack will sync your world to the bucket every 60 seconds, but this is configurable by setting the AWS_SYNC_INTERVAL config var.

Customizing Minecraft

You can choose the Minecraft version by setting the MINECRAFT_VERSION like so:

By default version is 1.8.8-R0.1-SNAPSHOT-latest, files name are list at GetBukkit offical site.

heroku config:set MINECRAFT_VERSION="1.8.8-R0.1-SNAPSHOT-latest"

You can also configure the server properties by creating a server.properties file in your project and adding it to Git. This is how you would set things like Creative mode and Hardcore difficulty. The various options available are described on the Minecraft Wiki.

You can add files such as banned-players.json, banned-ips.json, ops.json, whitelist.json to your Git repository and the Minecraft server will pick them up.

Tips

You may create your own server on your computer with your own plugins, worlds then ZIP it to a file with the name backup.zip. Upload it to dropbox and you will have your own configured server.

villekraf's People

Contributors

dialmedu avatar

Watchers

James Cloos avatar  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.