Note: this is quite a lengthy and, at times, technical post about configuring and deploying Minecraft in a school when choosing not to use the new Microsoft Education Edition. The following is the structure of the blog if you want to jump to a particular point of interest:
- The Background Situation: existing Minecraft usage and identified problems.
- The Opportunity: what we felt we needed to deliver to run our own Minecraft server securely and easily.
- The Technical Setup:
- Client Installation & Deployment
- Where To From Here:
Minecraft, the hugely popular game with students of all ages, is described as:
A game about placing blocks and going on adventures. Explore randomly generated worlds and build amazing things from the simplest of homes to the grandest of castles.
The Background Situation:
A number of our teachers have already integrated Minecraft into teaching units in the past, most notably Mr Wilj Dekkers with his creative writing units and Kiwiana-themed parks and Ms Donna Jones exploring a Centenary related project.
Despite this initial success there has always been some problems with administering Minecraft, particularly around easily and securely allowing student interaction and collaboration in these virtual worlds. To date, teachers have had to rely on students using the Minecraft Personal Edition meaning it was essentially single player mode only, removing the ability to collectively work on a project together. To promote greater student engagement and allow the key competencies to be fully utilized in learning through Minecraft, alternatives needed to be identified.
In late September 2014, Microsoft purchased Minecraft for $2.5billion which held out the possibility of a deeper integration into Office365 and Microsoft’s wider Education strategies. It took just under two years before Minecraft Education version was released, during which time an alternative Minecraft Edu was essentially shut down and absorbed into Microsoft’s new Education version. This was a shame as the Edu version was very good, allowing the use of numerous custom mods (modifications to improve/customise the game play) and it could be run on a hosted server, not just on the student’s personal device.
Surprisingly, the announced version of Minecraft Education in January 2016 ended up having some key functionality removed, arguably for the sake of simplicity:
- There was no ability to host the game on a stand alone server – now it would be installed and hosted via the teacher’s laptop computer (this raised significant security concerns for us and ultimately was a show stopper).
- There was no custom mod support whatsoever. Over time, it was the ability to modify and customise the game play that had contributed to the enduring appeal of Minecraft and without this, the default game play was less appealing.
The upside, however, was that licensing was incredibly easy to manage and, if you were prepared to overlook security concerns, deployment for a teacher in a basic network would also be simplified.
An example of students using Minecraft Pocket Edition in previous years
After the initial disappointment of realising we would not deploy Minecraft Education as soon it was released, Mr Wilj Dekkers engaged in a number of discussions with myself and Mr Joshua Harrison from the St Andrew’s College ICT Services Team to explore how we might progress forward with Minecraft. Very quickly, some key features were identified:
- Teacher Control: teachers would need the ability to easily manage students within the game. Without this, the chances of students running amok and getting into mischief was very real. This would require third party mods to achieve and a strategic plan around how Digital Citizenship teaching could be included into the Minecraft worlds.
- The Minecraft server needed to be hosted centrally so that it could be controlled by the ICT services team, whilst still allowing the delegation of in-game management to teachers and to those students identified as leaders who could be student administrators.
- Teacher/Student administrators needed the ability to maintain / deploy approved mods and perform low level administration work e.g. restarting worlds, creating/deploying new worlds.
- Finally, the issue of how to deploy a pre-configured client onto student BYOD devices in a quick and simple manner, without disrupting any existing installations of Minecraft they may have already installed.
The above list of requirements needed addressing if we were going to be able to build a sustainable environment for integrating Minecraft into the eLearning strategies at the College. Joshua decided he would explore various options based on his prior knowledge administering various Minecraft servers in his own time and see if there could be some suitable solutions to use at St Andrew’s.
For the proof of concept, we decided to use an existing HP Compaq 6000 that was spare. The specifications of this machine were pretty light weight, having only a Core2 Duo CPU and 4GB of RAM. It remains to be seen if this will be sufficient and we anticipate needing to increase the resources of this machine as more users and worlds join.
After exploring various different versions of Minecraft, Joshua settled on 1.7.10 as this was the last widely supported version that had important mods that would be necessary to achieve our defined list of goals above. To support the deployment of these mods, two frameworks were necessary:
These are essentially APIs that allow other mods to run on the Minecraft server and normally a Minecraft administrator would use only one or the other of Forge or Bukkit. However, as will be seen, it was necessary to use both and to achieve this an additional third party tool called KCauldron was necessary to enable the use of different mods on the same platform to work nicely together.
Minecraft Server Dashboard
Another important tool was MC Dashboard which allowed Joshua to use a graphical user interface (GUI) rather than a traditional command line interface (CLI) to administer the Minecraft server. This tool provides easy oversight into server resource usage, connected users and other important information.
As mentioned earlier, it is really the mods that create the key appeal of Minecraft in schools, as it allows for customisation of the worlds and gameplay and, sadly, was something that Microsoft chose to remove from their Education edition. It’s easy to see why, however, because mods are also one of the trickier components and can easily lead to problems of version compatibility and contribute to a poor user experience. There are three key mods that Joshua has deployed for the StAC Minecraft server:
- Multiverse: This is a key one as it allows us to run parallel worlds on the same server, whilst enabling teachers and/or students to jump between worlds at will. Put practically, a teacher could create a world for a collaborative social studies project where students need to work towards an assessment or project, whilst having a separate world for “free play” and experimentation. Without Multiverse, projects would need to be separated spatially within the same world which would inevitably lead to problems, such as having to walk a long way to go from one project to another – it all takes time!
- PermissionsEX: This mod allows for differing levels of user permissions groups, and the following four were setup for school usage:
- Student – a basic user who can only do the default game play such as build/place etc
- Student Administrator – have slightly elevated controls such as the ability to move other student users around, freeze them and do other temporary modifications. These permissions are designed to support a Digital Citizenship component where students can be educated and entrusted to self-manage as much as possible within the game. The assigned permissions here were carefully selected by Joshua to prevent a student who had prior knowledge of how Minecraft administration works from being able to execute any command.
- Teacher – has access to most of the Minecraft server administration, can create new worlds, can kill off users, teleport users between worlds and other main administration functions.
- Administrator – aimed at superusers and, at this stage, reserved for ICT staff to support the server installation as necessary.
- ICY Admin: This is the key mod to bring the above together into a user-friendly GUI allowing for in-game administration from a graphical menu for the above user groups. The available menu options in ICY Admin have been built from scratch by Joshua and are controlled by a config file on the Minecraft server itself. Users access the ICY Admin menu system during game play by hitting the tilde key (~) and this replaces the need to execute console / CLI commands within the game. This makes it significantly easier for new users to engage with the game and reduces the barrier-to-entry for teachers who may wish to administrate but know none of the commands.
- Some of the controls available via ICY Admin include things such as “freeze” a user/all users in place (useful if you effectively want to pause the game for a break), teleportation of a single user / all users to a shared starting point or, for example, if you wanted them all to be in the same place to work on the same project. Additionally, environmental settings can be controlled in this way e.g. make it rain or snow, or set it to always be night time.
The in-game GUI for teachers and student-administrators to use
These three core mods are what allows the overall setup and administration and, through conversations with Mr Dekkers, are probably sufficient to enable most scenarios of how Minecraft might be used at this stage. Two in-game mods specifically requested by Mr Dekkers were IndustrialCraft and ComputerCraft both of which allow for significant learning opportunities. IndustrialCraft supports things like electricity generation and storage through batteries and transferring into different parts of the game, whilst ComputerCraft is essentially a full programming language accessible by computers in the game.
Client Installation & Deployment:
Windows installation batch script
With the setup of the Minecraft server achieved, the final part of the solution was how to easily deploy this to the individual student BYOD laptops. St Andrew’s College has a choice within parameters for BYOD, meaning students can bring either a Windows 10 laptop or an Apple MacBook running OS X.
It was important that there was an easy, stress-free way for teachers and students to install this version of Minecraft onto laptops that did not necessarily need to involve the ICT Services helpdesk team at the College. Joshua was pretty confident he would be able to write some batch scripts for Windows and I suggested he check out OS X’s Automator as a way of scripting installation for the MacBooks. Interestingly, he found that he was able to script the installation on MacBooks with Automator in about half the time it took to write a batch file for Windows.
The tasks in the Automator script to install onto a MacBook running OS X
The key to making this happen was Minecraft MultiMC, an open source launcher for Minecraft that allows users to run completely separate installations of Minecraft with ease, meaning that we could confidently encourage students to install this version without affecting any other installation of Minecraft they may already have on their laptop.
Essentially, a student is provided with a USB key that has an installer launcher that copies MultiMC and a Java installation into a new folder, whilst setting up short cuts in their Applications folder so they can run the game.
Interestingly, Joshua opted to not include a copy of the Minecraft client application itself within this installer file, instead relying on students having to enter their own Minecraft credentials (linked with their personal paid licensed copy) which would then trigger the download of the client application of Minecraft. This way, we are not distributing any commercial software illegally and the download only adds 1-2minutes to the overall installation process. The key benefit, however, was that MultiMC is already configured to point the installation to the College’s on-premise Minecraft server meaning there was no additional configuration required for students. Additionally, Joshua set this up to run on a non-standard port so that if other students were using Minecraft at school they could not accidentally connect to the school’s Minecraft server and become a nuisance.
All up, it takes less than 5 minutes for a student to install this version of Minecraft from a USB key provided by the teacher.
Where To From Here?
I am always really happy when members of the ICT Services Team have an opportunity to use their prior experience or personal interests to contribute to the teaching and learning at the College in ways like this. It is one of the unique things about delivering ICT in schools compared to other environments and the ability to be involved in this way is enjoyed by the staff. Talking with Joshua he admitted to being a bit worried about how to deliver what needed to be a very simple solution that could be managed by students and teachers whilst still being secure and stable:
I had a huge sense of personal satisfaction with the finished solution because I was a bit worried about how I would be able to deliver all of this at the start, or even if it was possible. Ultimately, it was ICY Admin that made it all possible and this was something I found only through researching for this project. It’s nice to know that the hundreds of hours I’ve spent administering Minecraft servers in my own time have paid off and could be used in an educational context.
Mr Joshua Harrison
For me, it is pleasing to know that we have a secure, robust and extensible platform which teachers will be able to use relatively painlessly thanks to the efforts of Joshua in this area. It remains to be seen what interesting curriculum uses arise from this and I’ll certainly be posting a followup blog highlighting this.
Of course, as Microsoft continue to develop their Augmented Reality HoloLens solutions, then perhaps the future of Minecraft will be 3D as this video shows: