There are a couple Minecraft servers out there (including an official one), but the CraftBukkit seems really powerful and very plugin-friendly (see http://plugins.bukkit.org/)
Here are the steps required to get an Minecraft CraftBukkit server up and running:
- download the CraftBukkit 1.7.2 development version from http://dl.bukkit.org/downloads/craftbukkit/
- follow the instructions from http://wiki.bukkit.org/Setting_up_a_server
- move the downloaded craftbukkit-1.7.2-R0.1-20131204.020906-17.jar into the BukkitServer folder and rename it craftbukkit.jar (you can delete the one originally downloaded)
- execute ./start.command from a terminal window in the BukkitServer folder
- open your Minecraft client (downloaded from https://minecraft.net/download) and connect to localhost (you will need a valid/paid account in https://minecraft.net)
This should be a 5m job. It took me longer because (in Nov 2013) the version that is downloaded from http://dl.bukkit.org/downloads/craftbukkit/ is the 1.6.x and the https://minecraft.net/download version of client is using the 1.7.2 version.
Here are the install instructions from http://wiki.bukkit.org/Setting_up_a_server
Here is the version I downloaded from: http://dl.bukkit.org/downloads/craftbukkit/
Here is the 'lost connection' problem I was having when using the 1.7.2 client to connect to the 1.6.x server
Here is the Bukkit server started using ./start.command
Which can be connected using the Minecraft client, by choosing the Multiplayer Mode option:
... then the Direct Connect option:
... which will connect us to the local CraftBukkit server :)
... which will be displayed on their screen:
I don't think the kids I'm currently teaching have ever accessed a Minecraft server they controlled, so it should be interesting to see their reaction :)