Create a publically available Minecraft server for just a few cents per hour!
Your world data is uploaded after the server is created, and downloaded before the server is destroyed. It is incrementally archived with bup after being downloaded so that you can always access old versions of your world.
Slow upload speed? Your world data can also be loaded from and saved to Dropbox!
Requirements:
- docker
- docker-compose
- docker-machine
- Vultr driver for machine (only if using Vultr)
- Packet driver for machine (only if using Packet)
- socat
- bup
Get the code:
git clone git@github.com:themattrix/minecraft-cloud.git
cd minecraft-cloud
git submodule update --init
Configure your cloud provider with <driver>.spec
and <driver>.auth
.
Default spec files are provided for Digital Ocean, Vultr, and Packet as well as
an example auth file for each.
# spin up a VM for $0.03/hour on DigitalOcean...
./cloud up digitalocean
# ...or spin up a slightly faster VM for $0.03/hour on Vultr...
./cloud up vultr
# ...or spin up a bare metal machine for $0.05/hour on Packet
./cloud up packet
# forward the default minecraft port from this machine to the cloud host
./cloud proxy
# monitor the logs from all running services
./cloud compose logs
# open the mark2 admin console
./cloud admin
# re-render the Google Maps-style world view (this is automatically run once)
./cloud map
# destroy the VM but save your world data locally (mincraft-fig/volumes/game/world*)...
./cloud rm
# ...or destroy the VM without saving your world data
./cloud rm --no-preserve
Updating to the latest version of this project:
git pull
git submodule update
When the following config file is present, your world data will be loaded from Dropbox after the server is created and saved to Dropbox before the server is destoryed:
minecraft-fig/volumes/dropbox/.dropbox_uploader
Your world data will also be downloaded locally for archival with bup.
See the minecraft-fig README for details about setting up the config file.