Wednesday, July 30, 2014

There in lies madness...

So this all started because my son liked to play minecraft (and to be fair I did too) and I wanted to teach him some programming.  Combine with the fact that we homeschool, and there are always kids looking for learning opportunities and down the rabbit hole we go.

My goal here is to try to document how I went about setting up a minecraft server and teaching some homeschoolers to program.  But its also about minecraft in general, and its from the perspective of someone with an IT day job.  

Lets set the stage as it exists at our start in 2014.  Minecraft has sold something like 54 million copies.  Since 2009 its been an unstoppable force or nature in the gaming community especially with kids.  Popularity is MC's greatest asset but also fair detriment from the server/admin end of things.  Its easy to find people talking about MC.  Its hard to wade through all the non-technical posts to find actual content you need to run a server/admin.

Having played more than I'd like to admit, I purchased a Mojang Realm to see what a persistent world would bring to the game.  And it definitely was worth it.  It was MMOish, but with a much smaller community.   Having it always on meant that people would play asynchronously.  So everyday was a neat exploration into what someone else had been working on.

But then I started to want for extra features (my kingdom for a lockable chest), and saw that running my own server would be a path to get what I wanted.

Plus I wanted to get onto programming.  I knew that the Raspberry Pi version of minecraft had a python API, but try as I might to get my son interested, the Pi proved too slow and the Pi version too feature limited to keep his attention.

There was however this great resource -

ARGHBOX

A whole curriculum based around programming python.  All it needed was API hooks to the full version.  And that, it turns out is 

Raspberry Juice