| 
View
 

Hosting Your Own Server

Page history last edited by Lucas Gillispie 10 years, 10 months ago

This page contains information about hosting your own Minecraft server.

 

The Basics:

 

There are several options available for educators who are interested in having their own Minecraft servers for students.  Your choice will largely be based on your needs:  

 

MinecraftEDU

 

MinecraftEDU is the easiest option for most educators who have access to a lab of reasonably up-to-date computers.  MinecraftEDU offers a server tool that only costs $41 (worth every penny!!).  This tool allows the teacher to have a server up and running in a few clicks using one of the lab's computers as the host.  The tool has a simple interface with the ability to customize world settings in a few clicks.  Teachers can change world parameters such as day/night, creative/survival, etc.  In addition, there's a custom, modified version of the game client that's included featuring a special interface for teachers, in the game, that allows them to control many of these settings.  It also features custom building blocks that provide flexibility for designing worlds.

 

When a session is over, the teacher simply saves the world using the server tool and loads it during the next class session.  If you wish to have the world available 24/7, that's possible too.  You'll simply need to ensure that the server is always on, running the server tool, and accessible through your institution's firewall.  There is also the option to have a MinecraftEDU server externally hosted, usually for a monthly fee.

 

Pros:  Easy to set up and operate.  Meets the needs of most classroom implementations.  No logging in required. Affordable.

Cons:  Your long-time Minecrafters may find it slightly limiting, however, the development team is constantly adding updates and custom mod support.

 

Host Your Own 24/7 "Vanilla" or Modified Server:

 

Hosting your own server provides the greatest deal of freedom and flexibility, however, it's also the most technical solution.  First off, you'll need a good "host" computer (or virtualized server).  In very basic terms, your host computer's RAM and CPU will determine capacity, or number of concurrent users.  The more, the better.  In Pender County, our two servers are Mac Minis with i7 processors and 8 GB or RAM.  To date, this has been more than ample to support our programs.  Our largest count of simultaneously connected users was close to 50 and there were few issues.

 

Most school environments have networks that are firewalled and filtered.  You'll likely need to work closely with your IT department if you wish to have the server available 24/7 and if you want it accessible to the outside world (if you want your students to be able to connect from home, for example).  Another factor is the authentication of accounts.  Typically, user accounts are authenticated against Mojang's servers before being allowed to connect to a server.  You'll need to be sure your filters allow student accounts to do this.

 

Another consideration is backdoor access.  You'll want to be able to remotely access this server for routine maintenance, to make adjustments, and to add plugins.  A remote desktop client and an FTP client are very helpful.

 

"Vanilla" Servers:

 

If you want to host a basic, no frills server, download and install the official Minecraft server software on your host machine.  It's free and rather straightforward with a simple text file that you'll edit to control the server's main settings.

 

Pros:  As soon as the client software is updated the server is updated (aways up-to-date).

Cons:  No special modifications that provide flexibility.  Your veteran players will be asking for these!

 

Modified Servers (Bukkit/Spigot)

 

Most mainstream Minecraft servers operate with a modified version of the "vanilla" server.  By far the most popular of these modifications is called Bukkit.  The team of developers behind Bukkit, provide a detailed set of instructions on how to set up a server - http://wiki.bukkit.org/Setting_up_a_server - for a variety of operating systems.  Another option, that is increasing in popularity is Spigot.  Spigot is a version of Bukkit that is optimized in many ways to reduce server load.  PCS currently uses Spigot.  You may also hear of other variations including Tekkit/Technic, Feed The Beast, and others, all of which are heavily modified versions of the Bukkit code.

 

The real value in operating a Bukkit/Spigot server is the wide variety of Plugins (or modifications) available that can significantly expand the game's core capabilities.  See the Bukkit and Plugins page for examples of the plugins used on the PCS servers.

 

Pros:  Access to a huge variety of modifications that will greatly extend the game's capabilities.  This is what your veteran players will be most accustomed to.

Cons:  More technical and requires more maintenance.

 

Hosted Servers:

 

Another option is have your Minecraft server externally hosted by a provider.  Typically, these providers offer Bukkit servers.  Cost is typically billed as a monthly fee based on the capacity you desire to support.  Fees often increase with increasing RAM allocated to the server.  Many of these providers offer support and a variety of other configuration options.  Some offer tools to manage your server via a web-based interface, eliminating the need for remote client software.  The Edurealms.com server (my personal server) is hosted by MPServ.  To date they have offered fantastic, personal service, great uptime, and their custom, web-based server management tool is amazing.  (In fact, I wish I had access to it for managing my district servers.)

 

If you go this route, you'll need to ensure your school/district's filter allows access to the hosting company's servers.

 

Pros:  The same experience you'd have with hosting your own server without the responsibility of maintaining the hardware.  Support.  No need to rely on technical department for adjusting firewalls/filters for self-hosted server.  Month-to-month contract.  Cancel at any time.Cons

Cons:  This option may be tough for your finance department.  Monthly billing and PO availability can be an issue.

 

Player Accounts

 

Each of the options described above require Minecraft user accounts.  Here are some things to consider:

 

  • Regardless of which option you choose, if you are purchasing accounts for student use, buy them from MinecraftEDU.  They have an agreement with Mojang to offer licenses at a steeply discounted rate.  In PCS, we allow students to use personal accounts if they have them and provide loaner accounts to those who don't have them.
  • See the Accounts and Account Management page for details and tips on setting up school-owned accounts.
  • If your plan is to use MinecraftEDU in a lab based setting (not 24/7), then, there's no need to activate your codes purchased from MinecraftEDU.  You simply need to have a code for every player who'll be accessing and then operate in "Offline" mode.  This is by far the easiest account solution, however, this assumes you won't be operating a 24/7 server available outside your school's network. 

 


 

 

OLD NOTES BELOW:

 

Related Notes:

 

Initially, in Pender County Schools, we will be hosted a virtualized Minecraft server on our district's local network.  It looks as though we'll be running Linux/Ubuntu and will be starting with about 3GB of available RAM (see technical notes below).  However, as of the 2011-2012 school year, we are now hosting two servers using Mac Minis (see notes below).

 

Minecraft Server Setup Guide - Mac Version

 

As of November, 2011, Pender County Schools is hosting our own Minecraft server using a Mac Mini with OS X Lion Server.   We are now running CraftBukkit because of the extensive support for plugins.  Setting up a CraftBukkit server with Mac was really easy.  Instructions are here:  http://wiki.bukkit.org/Setting_up_a_server   

 

For a more teacher-friendly interface, take a look at the custom mod being developed at Minecraftedu.com.

 

Once our server was installed and running, we assigned a static IP address to it and even gave it a simple DNS name so it would be easily accessible by our youngest learners.

 

Minecraft Server Setup Guide - Linux/Ubuntu Version

 

This is a guide, designed by one of our district technicians, Loren Macon, explaining how he set up and configured the internal server that we are using to host our Minecraft world using a re-purposed web filter (oh, the irony...), Ubuntu, and the standard Minecraft server software.

 

This Guide will give step by step instructions for installing a locally hosted, private, Minecraft Server in a Linux Ubuntu Desktop 10.10 environment. 

 

Hardware Requirements

                First let me give you some basic need to know info about the required hardware on your server. The two most important aspects of your server are the amount of memory (Ram) and the speed of the Processor (CPU).

The amount of memory your server has determines how large your game world can be. Memory also determines how many people can login to the server at once. Each user logged into the server usually takes up about 30MB of memory. The best way to determine your memory requirements is to use this formula (OS+W+U=RAM).  “OS” is the memory used by your server “generally 512MB”. “W” is the memory for your world “100MB is a good amount”. “U” is the amount of users that will connect to the server multiplied by 30MB. When you add these numbers together you will get the minimum amount of memory your server should have.

Minecraft is Very Processor intensive. If you are planning on using a single core processor the clock speed should be at least 3.5GHz, 2.5GHz for a dual core and 1.8GHZ for a quad core. The main aspect of the game that is CPU intensive is the generating of blocks. The CPU has to work the most when a player is first loading into the game or when a player dies and re-spawns. If you notice that the CPU in your system is not adequate there is not much that can be done to increase the performance of the CPU in Minecraft besides simply upgrading the CPU in your server.

Ubuntu Desktop 10.10 Setup

                Once you have your server picked out it is time to install Ubuntu. The latest version can be found at www.ubuntu.com. Copy the file ubuntu-10.10-desktop-i386.iso to a CD to USB stick and start the install. Install the server with default setting and create a user account and admin password. Once Ubuntu has been installed it will prompt for a restart.

 

Installing Minecraft_Server

                Now it is time to install the Minecraft Server. Click Places at the top the screen and open the Home folder. In the Home folder make a folder named “minecraft” Go to Minecraft.net and download the minecraft_server.jar file at the very bottom of the page. Move this file from the “Downloads” folder into the “minecraft” folder.  Before the file in run you need to check your available memory so you know how much to allocate for the minecraft server.

Open up a Terminal window from Applications>Accessories>Terminal.  Once it is open type “free –m”

We are looking for the second number under “free” in this case “2511” this is the amount, in MB, of physical memory that your server currently has free. Write this number down. I the same terminal window type “cd minecraft” now type “java –Xmx1024M -Xms1024M -jar minecraft_server.jar” this script will launch the minecraft server with 1GB of pre allocated memory. Change “1024” to the amount of memory you would like for your server to start with. If you server is only used for minecraft make this number equal to your server memory requirements, this was “W+U” from the earlier equation. Save this line in a text document for now, so you don’t have to type it every time you want to start the server.

                Now we can start the minecraft server. Open a Terminal window and type “cd minecraft” to move to the minecraft directory that is in your home directory. Once there copy the command you saved earlier, with your modified memory values, into the terminal and press enter. This will start the minecraft server. You will notice that several errors appear. Do not be alarmed these always appear the first time you start the server. The server is telling you that it is missing certain required files. Since they are not there it will create default versions of the files.

 

Configuring Your Minecraft Server

                You now have several new files in your minecraft directory. The file we are going to look at now is named “server.properties”. Right click this file and click open with text editor.  You should see this text.

#Minecraft server properties

#Thu Mar 31 20:05:08 CDT 2011

level-name=world

hellworld=false

spawn-monsters=true

online-mode=true

spawn-animals=true

max-players=20

server-ip=

pvp=true

level-seed=

server-port=25565

white-list=false

 

These are all the settings for the server. I will not cover each setting in this Guide, but a list of these setting as well as others can be found at http://www.minecraftwiki.net/wiki/Server.properties.

One thing that needs to be noted about these settings is that in order to apply the changes you make you need to restart the server. The first value we will change is “server-ip”. This value needs to be set to the local IP address of your server. The next item we will modify is “max-players”. Set this number to the amount of players your server can handle biased on your RAM. The last setting we will modify is “spawn-monsters”. Depending on the age of the people playing on your server or the type of game play you may want to change this to no. The monsters can be a nuisance, but they also add a great survival element to the game.

 Once you have your server configured how you would like it, the server now needs to be restarted. Type “stop” in the server console, then start the server again using the command you saved the text document.

There you have it! Now your server is up and going players can connect using your servers IP. Also I would recommend getting a clever DNS entry made for your server so users do not have to remember the IP.

 

 

Comments (0)

You don't have permission to comment on this page.