How to port forward your server!
This guide is split into sections, the sections are below. If you want to skip to another section simply scroll down. The sections are parts which makes it easier to read and follow.
This guide uses Spigot. This guide will not cover any custom server software.
First you will need to visit https://hub.spigotmc.org/jenkins/job/BuildTools/ and download the latest stable version of BuildTools. While this is downloading you are going to want to make a folder on your desktop. This is highly recommended because it is easy to access and it does not make a mess of your desktop as BuildTools will generate lots of files. Once you have made a folder drag the file you just downloaded into the folder.
Warning: Do not double click or try and open this jar file.
Now you will get the Spigot.jar file to run your server with.
Open a new Terminal window and copy the following:
(Where the code says BuildTools.jar, you need to drag the file into Terminal)
java -Xmx2G -jar BuildTools.jar
Now you will need to create a text document inside the folder as you will need to type some code. It is different for 64bit and 32bit operating systems. If you don't know which system you are using go to: Start> Computer> Properties. Scroll down a little bit and you should find it.
Here are the codes:
CD /D "%BINDIR%"
"%ProgramFiles%\Java\jre7\bin\java.exe" -Xmx1024M -Xms1024M -jar spigot.jar
CD /D "%BINDIR%"
"E:\Program Files(x86)\Java\jre6\bin\java.exe" -Xincgc -Xmx1G -jar spigot.jar
Create a new texted it file, change to plain text, inside, copy this code:
cd "$(dirname "$0")"
exec java -Xms1G -Xmx1G -jar spigot.jar
After this the server will return ' You need to agree to the EULA in order to run the server. Go to eula.txt for more info. ' when you get that close the command promt and open your server directory and open the file ' eula.txt ' read the eula with the link in the document then change ' eula=false ' to ' eula=true '. After that restart your server as shown above. You should then get a message saying ' Done (s)! For help, type "help" or "?" ' if so then your good to move on.
Nearly everything has configuration. Your Minecraft server has a configuration located in server.properties. These properties decide how you run your server. There is a detailed guide below on all of these properties.
Allow-Nether: This enables and disables the nether on your server.
Level-Name: This is the name of your world. The default server name is "World" If you want to change the name but keep the same world you cannot just change the name. You must change the name of the folder called "World" that is in your server folder to whatever you want your world to be called. Then change it in the server.properties. If you would like to import a single player world onto your server you will need to go to your windows search box and type in "Run". Then in the Run box type "%appdata%" click .minecraft, when you are in the .minecraft folder locate the "Saves" folder and find your single player world. You will need to copy this into your server folder and set the name in server.properties.
Enable-Query: This enables GameSpy4 for the server, which is used to get infomation about your server. I suggest leaving it at default, which is false.
Allow-Flight: This lets people fly on your server. If the configuration is set to false a flying player will get kicked from the server after about 5 seconds. If enabled, the players will need a mod like Zombes modpack to be able to fly. Creative mode will still work if disabled.
Server-Port: The server port is very important when you are port forwarding. Leave this at 25565.
Level-Type: This is the type of level. If you want a normal minecraft world leave this as DEFAULT. If you would like a superflat world change this to FLAT.
Enable-Rcon: Enable-rcon enables remote access to your server. It is recommended leaving this disabled.
Level-Seed: Like singleplayer you can enter seeds. If you would like a seed enter it in the config.
Server-IP: Again for the port forwarding part of the guide. Leave this blank.
Max-Build-Height: This is if you would like your multiplayer world to be bigger or smaller. It will stop players from building higher than the limit.
Spawn-NPC's: This is if you would like NPC's (Villages) to spawn.
White-List: If you would like to play on your server with your friends and don't want any random people to be able to connect, enable the whitelist. This will only allow people on the whitelist to join. A guide on how to add players to the whitelist is below.
Snooper-Enabled: This lets Mojang see your server specs. They use this to get the average settings of servers, This helps them make Minecraft better.
Hardcore: This makes your server hardcore mode, Players will be banned on death.
Texture-Pack: This sets the servers default texture pack. A player will be asked to download the texture pack when they join the server.
Spawn-Animals: With this enabled, animals will be able to spawn in your world. Leaving this disabled will prevent that.
Online-Mode: If you want players with a cracked Minecraft client to join your server, this will have to be disabled, however disabling this will allow people to join the server as a admin or the owner by using a hacked client. It is recommended this is enabled.
PVP: Enables or disables player vs player combat on your server.
Difficulty: Like singleplayer, servers have difficulty modes. (Peaceful, Easy, Normal and Hard) But these dificulties have ID's:Peaceful: 0, Easy: 1, Normal: 2, Hard: 3. The ID is needed in the configuration for it to work.
Server-Name: This doesn't do anything yet. You can leave this blank or put your server name.
Gamemode: Like difficulty, gamemodes have ID's. Survival: 0, Creative: 1, Adventure: 2.
Max-Players: This is the maximum players that are alowed to connect to your server.
Spawn-Monsters: Like spawn animals, Enabling this will allow monsters to spawn, disabling this will prevent that.
View-Distance: Sets the amount of world data the server sends the client, measured in chunks in each direction of the player. It determines the server-side viewing distance. The "Far" viewing distance is 9 chunks, sending 441 total chunks.
Generate-Structures: This enables structures like Strongholds, villages and jungle temples.
Spawn-Protection: This protects the spawn region from any player except ops. The number is the amount of blocks in every direction.
MOTD: This is the message of the day. Whatever is set here player will be able to see when your server is online.
Here is an example of my server.properties:
#Minecraft server properties
#Fri Feb 08 16:36:14 GMT 2013
server-name=My Server name
motd=XKXK61's Testing Server
The other files in your server folder can be found below. These include more configuration files and operator and whitelist rights.
Bukkit.yml: This is some more server configuration, All these configurations are minor and I will not be convering them in this guide.
Ops.txt: Ops is a short word for Operators. The Operators on your server can acess every single command. To add someone to the Op list you will need to type their Minecraft ingame name into the Ops.txt
Help.yml: This is a help file. If you need any further help on the server, that file is for you.
Permissions.txt: This adds permission nodes to your server, I would suggest getting a seperate plugin for permissions. A more detailed guide can be found here.
Whitelist.txt: This is the whitelist. Whatever Minecraft In game name you add to this list, gains acess on the server whitelist.
Banned-Players: This is the banned list. Want to ban a player from your server? Add them to this list.
Banned-Ips: This is the extreme ban. If someone is evading bans on alternate accounts. You can ban their IP by putting it in this list.
Server.log: This logs all the chat messages from the server, It also logs all the errors and the date and time that they happened.
Wepif: This handles all the permissions for plugins on your server.
Alot of people have trouble with portforwarding their Minecraft server. This is because most routers are different and is hard to teach if someone has a different router to you. But Portforwarding isn't as hard as it seems. I did have alot of trouble with is to start with but now it is fine.
First you are going to want to go to Portforward.com This website is full of infomation about portforwarding for games (Minecraft) There will be a few ad popups but you can just close them.
In the top menu of the website there should be a dropdown menu next to "Routers" You will need to click on "Port forwarding guides". Next is the hard part. You will need to find out what type of router you have.
Go to your search box and type "Cmd" This will open a command prompt which is your computers console. Then type "ipconfig" into the cmd. Look for your default gateway the default is "192.168.1.1" but yours might be different. You will need to type this IP into your internet browser.
When you type in your IP into your internet browser a login screen will appear. You will need the password for your router. This is your time now to get this login and type it in. If you do not know your login contact your router service provider.
When you have logged in it should show the name of your router. Memorise this name and look at portforward.com down the router list for your router name. When you have found it click on it. Now another list will appear you are going to want to go down to "M" and find "Minecraft server" click on this and portforward.com will give you a full guide on how to portforward your router.
Go into your command prompt again and look for your IPV4 adress. type this into the box which says "Do not skip this step! Enter Static IP Address!"
When you have completed this go to WhatsMyIp.net That is the IP which other people will need to connect to your server. You can connect to your server by typing your IPV4 adress or typing in "localhost" into your multiplayer joinserver box in Minecraft.
Your Minecraft server is now port forwarded.
This is the major problem of most servers. They can get a good server and good plugins but cannot seem to find players the play on the server. But in this part I will be showing you how to advertise your server. I will show you the best websites to upload your server to and which not to upload your server to. There will also be some infomation about server voting and server lists.
Warning: Advertising on other servers will not get you and wanted players, I strongly recommend NOT doing this. You will recive alot of hate from the admins and leaves a bad mark on your server.
With players donating and voting for your server, The server can rise in popularity very quickly. There are alot of major server lists which you can add your server to but some aren't as good. I will show you which server lists are the best and which forums or websites to upload your server to.
This server list is probably one of the most popular. I have never had any problems with it. On this server list you will be able to upload your server and let users vote for it. The more votes your server gets, the better it is listed on the list. The best rank you can get your server is number 1. Alot of popular servers use this server list. To add your server first you will need to sign up at https://www.minestatus.net/signup After you have signed up go to the "Add Server" tab at the top of the page. Now you will need to fill out all these details about your server such as the IP, The port and the name. You can also add a banner but this is not required. When you have filled out all the boxes, confirm that you are the owner of the server then press "Add server"
This is also a very popular server list but I think it isn't set out very well as Minestatus. But it is very simple to add servers. First register at mcserverlist.net The registration is very easy and will take very little time to complete. Then go to the Dashboard drop down menu and click "Servers". Then click the "Add server" button which should appear on the page. Like Minestatus you will have to fill some details about your server. Then you can finally hit save to add your server.
This is a new server list and i recently got a message asking me to add this server list to my guide. I looked on their website and the servers are set out very well. You just have to make an account and register your server by clicking "Add Server"
The donation system is optitional. You do not have to ask your players for money but if you would like a good donation system you can read the guide below:
Donations are a very big part in Minecraft servers. Most of the big servers you see are ran of donations. I do not know alot about this as I am under 18. But there is a amazing website to help you with minecraft donations. Buycraft is 100% safe and reading the reviews I didn't find any complaints. I know of some servers who use this system and it worked great for them. Buycraft is a bukkit plugin and will let players donate to you by using one simple command. I belibe Buycraft is easy to setup. The full instructions can be found at Buycraft.net
Hosting the server is easy. Simply open the Minecraft server launcher and console will naturally load up. From there, the server will automatically go online running off your RAM & hardware. As soon as your computer is turned off / hibernated or the Server launcher is closed, the server will go offline (One of the downsides for hosting your own server).
Some other tips to help your server get better and live long:
1. Engage with the players - Don't just sit down and watch the console. Play with the players! Ask them if they need help and give them some Minecraft survival tips. This will make the players want to stay on your server for a while. You need to impress them and make them know you are a great owner!
2. Do not OP people who say they are from Planet Minecraft. - A lot of people will join your server and say "I'm from planet minecraft can i have Op?" The player isn't from planet minecraft as Planet Minecraft staff wouldn't say this. If your server is not on the Planet Minecraft server list, Either ban the player or mute them.
4. Griefers - If you have trouble with griefers on your server make sure you havs anti-griefing plugins installed. This could be LogBlock or HawkEye which are really good logging plugins.
How to Install and Use FancyText: