So I have had a few people at school ask me how to host a minecraft server, so I figured I’d go ahead and do a walkthrough for the basics and then work into config’s etc on a later post. I’ll also be doing a similar walkthrough for Linux so look for that to come soon
I’ll also say that google will return a million different posts as well, but at least this one you know the source of the info and hopefully I’ve vetted the software enough for you to trust my outside links as well, so here we go.
Alright First you have to make a choice. (explained further down)
(click the link above to download after making your choice)
A Vanilla is the Official plain (plain like vanilla get it?) minecraft server. Just your friends, you and the world as it was intended to be played by the creators at Mojang.
A Bukkit server is a re-write of the official server that allows a very strong plugin community to (GREATLY) extend the functionality and interactions you can have in the minecraft world.
Running a vanilla server is quite simple, download using the link above and run the .exe file. That’s it.
Running a bukkit server is a little more work. First download bukkit from the link above, and save the .jar file to a directory of your choice, I will use C:\MINECRAFT\ as my default location.
Once you have it saved you will need to create a file to launch it so you don’t have to keep opening a terminal and typing commands. Again we will be using our friend the .bat file.
Create a new file named something like start_bukkit.bat and enter in the following:
[codesyntax lang="bash" title="start_bukkit.bat"]
CD /D "%BINDIR%"
java -Xmx1024M -Xms1024M -jar craftbukkit-<version number stuff>.jar
Save and close. This will need to be changed each time the folk’s at bukkit.org release a new updated version so that the name represents the file you download.
Then again you could take the easy way and just change the line in the file above to say craftbukkit.jar and then just rename the .jar file you download each time.
I personally like being reminded what version I’m using so I just change it manually each time, but meh, I’m a nerd… So I’ll also tell you that you can set the memory sizes for the server to be able to use in the above file by changing the -Xms (minimum) and -Xmx (maximum) amount of memory in Mb that you want to dedicate to your server instance.
So one last thing before you run that .bat file. Make sure you have this and the .jar file in it’s own directory and not on your desktop or something because it will generate several new files once you run it.
Go ahead and run the .bat file you created, it should open a terminal and run craftbukkit It will lo
ok something like this:
Then stop the server by typing in “stop” and pressing return (then press any key to close the window)
Now when you look in your minecraft directory, you’ll see all the newly created files and folders.
This is what a new install should look like. Now let’s do some simple configurations as the rest of the bukkit config will be covered in a seperate post as it works the same for windows or linux after this point.
First open the server.properties file. I prefer notepad++ but your more then welcome to use your editor of choice.
Here are the setting’s and their function:
[codesyntax lang="python" lines="normal" title="server.properties"]
#Minecraft server properties
#Fri Mar 02 22:18:15 PST 2012
allow-nether=true # If you want the nether to be created (you do)
level-name=world # The Name of the world obviously
enable-query=false # Allows query of server information
allow-flight=false # Allow client mod for flight. I ususally just add a
# server plugin so there's no need for me to do this.
server-port=25565 # Port your minecraft server will be using to connect.
# Leave at default unless you want to run multiple servers on one machine etc.
level-type=DEFAULT # Leave at default or use FLAT for a "sandbox" enviro.
enable-rcon=false # not sure?
level-seed= # Random Text string for you to generate land or use
# others seeds from places like www.minecraftseeds.info
server-ip= # Most of you want to leave this blank. This bind's
# to a specific IP.
spawn-npcs=true # Villagers
white-list=false # Enable a white list on the server.
spawn-animals=true # Uh. Spawn Animals.
online-mode=false # This checks each client against mojang to see if each
#user has purchased a copy of minecraft. More info in post about this one. (default false)
pvp=true # Allow fighting amongst players (peer vs peer)
difficulty=1 # 0-Peaceful 1-Easy 2-Normal 3-Hard
gamemode=0 # 0-Survival (default) 1-Creative
max-players=20 # maximum amount of players allowed to connect
spawn-monsters=true # Uh. Spawn Monsters.
generate-structures=true# Uh. Spawn Houses.
view-distance=10 # 3-15 *Default 10* Amount of world data sent.
motd=A Minecraft Server # Message of the Day - Short blurb sent to the client
# each time someone connects to your server.
##### Non Standard Options Below #####
max-build-height=256 # Max height in which building is allowed
query.port=##### # Change port for query if you so choose.
enable.rcon=false # allow remote console access
rcon.port=##### # Port for remote connections
rcon.password=##### # Password for remote connection
Be sure to set this up as you see fit.
That’s about it! Make sure your incoming port (25565 by default) is forwarded through your windows firewall and any other firewall’s you might have in place, and you should be able to connect! If you need a name to give your friends, check out the site http://www.no-ip.com/ (they have a free version as well that works fine) and install the .exe so that it can track your dynamic IP address. The rest will be covered in following posts
Hope this has helped!