Building a JavaScript enabled Minecraft server with Docker



I always enjoy sharing tools that save me and my fellow technology professionals time.   As I prepared for a Minecraft coding workshop at our local maker space, I decided to learn more about Docker on a Google Cloud VM.  In the world of virtual machines, I find it very helpful to configure VM machines with known baselines of software frameworks, operating system configurations, tools and data.   Once you have a configuration that you like, you can save instances of the virtual machine to share with other team members or friends.   Docker seems to offer a lightweight way to share an operating system, software configuration, and data as a container.  It’s worth checking out for work or play.

Ok. Let’s get back to building a JavaScript enabled Minecraft server.   I’ve become a big fan of teaching students JavaScript using a Minecraft framework called ScriptCraft by Walter Higgins.   If you’re interested in learning more about ScriptCraft, please check out the Young Person’s Guide to Minecraft.   It’s a great resource for aspiring programmers young and old.   Thomas Clavier has put together a nice Docker container to setup the following components quickly using Docker.

  • Java
  • CanaryMod – a highly configurable Minecraft server
  • ScriptCraft plugin

In my case, plan to host these services on a local network, Google Cloud or Microsoft Azure on Ubuntu 14LTS.  The install process on Google Cloud and Azure virtual machines is very fast.   Using the documentation on Docker’s website, I’ve learned to customize the Docker container files to add additional web services I’ve written to support my class.

Here’s the major steps to install the ScriptCraft server.

  • Install Ubuntu 14LTS
  • Install Docker.
  • Run the following to build and launch the container
    •  docker run -p 25565:25565 -p 22:22 -it tclavier/scriptcraft
  • Open up ports 25565 so that Minecraft 1.8 PC clients can make a connection.

That’s it!

You can edit and control this container using details shared here:

Docker took time to learn and understand.  I, however, think the investment in learning about Docker containers will pay off in the long term.   (I still have much to learn.)   The technology does a great job capturing the detailed experience of building different types of open source tools.   I’m looking forward to thinking about different open source tools as big “lego blocks” that can be composed together.  Docker does a great job of streamlining install processes.  In most cases, I’m not excited about reading and doing long step by step processes.

I’ve already used docker to install some Deep Neural Network machine learning tools.   I also plan to check out the containers related to Robotics operating system.    For web developers, make sure to check out    This repository of Docker containers seems to contain the big open source players used in web development.  (wordpress, apache/mysql/php, nodejs, ruby, flask, etc. )

Walter Higgins, Thanks for putting together such an awesome playground for JavaScript developers using ScriptCraft. I’ve enjoyed it personally.  My students love it too!  Make sure to check out his book on the topic too.

Thanks Thomas Clavier for making this easy to install Docker container for JavaScript powered Minecraft modding.


Be the first to comment

Leave a Reply

Your email address will not be published.