Wednesday, July 10, 2013

Building a Minecraft Server for Education


Setting up a Minecraft server can be a daunting task, especially if you’re absent experience with some of the services and applications that Minecraft Server uses. Do not think the task too hard though, the knowledge required in getting a basic server up and running is quite easy to grasp, and this guide will aid you in setting up a basic server running, and getting some clients connected to it.

Step 1. Gauging your hardware requirements.


In order to run a Minecraft server, you will require a Mac, Linux, or Windows computer *. The power of this machine will go hand in hand with the amount of users you wish to accommodate, but for an average classroom of 20-30 students I would recommend the following as minimum technical specs:
-       2.0Ghz+ Quad Core CPU
-       2GB Memory
     10GB Free Disk Space (Not including Operating System)
A machine with these specs should be very capable of running it’s own operating system, in addition to a basic Minecraft server.

* It is my recommendation when setting up a basic Minecraft server that a Windows machine is used, as it has the most straightforward setup process available to it.

Step 2. Download the appropriate Minecraft Server application.


Navigate to the following link (http://minecraft.net/download), and look for the “Multiplayer Server” header. You will see two download links in the paragraph preceding this header, “Minecraft_Server.exe” suitable for Windows machines, and “Minecraft_Server.jar” which is suitable for Mac OSX, Linux, and advanced Windows users. 
This guide will focus on the setup of a basic Minecraft Server running on Windows, as such, please download the “Minecraft_Server.exe” file.




Step 3. Configure the machine for Minecraft Server.


The Minecraft Server application runs using the Java Runtime Environment (Java), and will not be able to run if you don’t have it running on your machine.
To download the latest version of Java, please navigate to the following link.
Click on the red ‘Free Java Download’ button.
This will automatically detect the correct version of Java for your Operating System, and present you with a new red button titled ‘Agree and Start Free Download’. Click on this to begin downloading Java.

Once the Java Installer has downloaded, you may begin the installation by double clicking on the file. It’s fine to leave all settings as they come, but please make sure to un-tick the optional Ask! Toolbar installation!

Once Java is installed, Make a new folder (any location will do, though desktop may be the easiest for this basic setup) called Minecraft Server, and drag your downloaded “Minecraft_Server.exe” application into the folder.

Step 4. Run and configure Minecraft Server.


Now that we’ve dragged our “Minecraft_Server.exe” application into its own folder, it’s time to run it, and go through the process of configuring and personalizing the server properties.
Begin by double clicking the application. You may get a popup message telling you the publisher cannot be verified, and asking if you want to run the software, un-tick the “Always ask before opening this file” selection, and hit Run.

A window will pop up split into three sections, Stats, Players, and Log and Chat. Congratulations, you now have a 100% baseline Minecraft server running!
Client can now connect to your server by entering the IP address of the machine into their client. The unmodified baseline server may struggle to keep up with to many users doing to many things, as it tends to not assign enough memory to the Minecraft Server process, but we will cover changing this in a future post.

The window that appears is used for monitoring the server as it runs, and upon opening the server application for the first time, it will have generated all of the necessary files for configuring and personalizing the server, as well as generating you a world. I’ll list each file below, and give a brief description as to its purpose.

Plugins (Folder):

The plugins folder is where plugins for the Minecraft server are placed. Any plugins stored in this folder will be automatically run on the next server startup, and have all their initial files generated when this happens. Plugins will be covered in a later chapter.

World, World_Nether, World_The_End (Folders):

Minecraft regions are actually generated in three separate parts; the “Default World”, The “Nether” and “The End”. Players typically spend majority of their time in the “Default World”, however it is important to know that all three of these Worlds are generated independently of each other.
These folders contain all data about their respective worlds including what the regions look like as they are generated, what a player has done in the particular world, and what they have in that world. Deleting any of these folders will cause the server to generate new data for that particular world when it next runs.

Banned_Ips (Text Document):

This file is a log of specific IP addresses that have been banned from connecting to your server. Every time a client tries to connect to your server, the server will process this file, look for a match, and if none is found it will pass it on to the other security checks. If it is found, however, the client will instantly be refused connection to the server.
The log contains information on what IP was banned, when it was banned, who it was banned by, what the reason is for the ban, and when the ban will be lifted.


Banned_Players (Text Document):

Similar to the Banned_Ips file, this file is a log of all players that have been banned from the server.
The log contains information on what player was banned, when the person was banned, who banned them, what the reason is for the ban, and when the ban will be lifted.

Ops (Text Document):

The Ops file is used to give people admin permissions on your server. Any person listed in this file is given total control to operate the server, and additions to this file shouldn’t be made lightly.
People may be added to this file by entering their username exactly as spelt, one username per line.


Server.log (Text Document):

This document is a log of all things that have passed through the servers console since the time it was first created. This will contain information on plugins loaded, time they were loaded in, any errors or information generated by them, all players that have connected and the IP address they connected from, what players have said, actions they have done or succumb to, and any commands used.
This file is very useful for being able to monitor behavior and actions on a server, and see who has been responsible for what.

Server.properties (Text Document):

This document is a list of all properties that the server is currently configured with. These can be changed at will to customize your server, or the conditions it operates under.  Most are binary-based true or false option, but there are some that are user defined.

White-list (Text Document):

This file is used to allow connections onto your server, typically when blocking all connections. It is a security measure, that works the opposite to a black list, and is commonly used in configurations where all incoming connections to the server will be blocked, and administrators then use the white-list to only allow specific users in.


I hope this guide helps you to get started in the realm of Minecraft, and using it with your class. Stay tuned for more information and guides!


No comments:

Post a Comment