1

Guide to making a MineCraft Server

Nathangrad 4/1/15 2:25 pm
207
Hello everyone!

My name is Nathangrad and I'm writing this guide to teach you all how to make a successful MineCraft Server!
This guide includes most types of MineCraft Servers, if you have any questions or suggestions for improvements in this guide, just comment!
I'll try to answer any questions ASAP!

So, the way this guide will work is with a series of steps which need to be taken depending on what Server type you want.

Firstly, I'm going to talk about how to set up a Server!

SETUP

To set up a server, I would recommend you do NOT host it yourself. Unless you have a professional gaming PC, it can get very laggy for your players. Also, when you turn off your PC or close the .bat file, then the Server will turn off and so it's not efficient.
I would highly recommend you use a website to host your Server. Below are some links and what you would use each package for.

https://www.hosthorde.com/

+ "Starter" plan would be recommended for very small servers not needing more than 10 plugins on and having 1-5 players on at a time.
+ "Basic" plan would be recommended for small servers not needing more than 15 plugins on and having 6-10 players on at a time.
+ "Pro" plan would be recommended for your average factions server needing around 20-30 plugins without lagging and having up to 35-40 people on at one time.

https://my.fadehost.com/cart.php?gid=2

+ "Chicken, Pig, Cow" plans would be recommended for fairly small servers not needing more than 15 plugins and having less than 20 players on at one time.
+ "Wolf, Zombie, Spider, Skeleton" plans would be recommended for larger servers needing around 20-30 plugins without lagging and also having up to 40-50 players on at one time.
+ "Creeper, Enderman, Blaze" plans are recommended for hosting Hub servers by the use of MultiVerse or MultiWorld with quite a few worlds. This can have around 40-50 plugins without lagging and also having up to 60-70 players on at a time.
+ "Ghast, Herobrine" plans are definitely recommended for the larger Hub servers which use MultiVerse or MultiWorld with plenty of large worlds. This can have up to 60-70 plugins without lagging and also having up to 100-200 players on at a time!

https://mcprohosting.com/plans?reset=1#/name?plans=mc

+ I personally would not recommend this site due to the costs in comparison with the other sites I've listed above this. However, if you're interested, then I would recommend you get the "Gold" plan for a decent server with maybe 3 worlds which would be able to have up to 30 plugins and 40-50 players.
+ "Obsidian" and other plans higher would be used for small Hub servers like the Enderman or Blaze package in FadeHost.



After you've chosen which hosting provider you're going to start your Server with, you need to go into the FTP Access section which allows you to view your Server's files.

I would recommend the first thing you do would be to click on the "server.properties" file and change any details you wish about the server. For example, the MOTD, the world name, how many players you want it to display it can host, allow the nether, allow command blocks, and also whether it can be queried. If query is enabled, it'll allow Server voting sites to be able to ping your server to see who is online and be able to display that information on the voting site you advertise on. But more to that later.
** WARNING **
Do not change the IP and Port given to you in the server.properties file. You may mess up the Server!

SETUP - For Bungee

If you're going to run a BungeeCord server, you will need a Hub server, and then a Server for each other world you need. In order to set up BungeeCord, I've attached some example config.yml file I made myself for a basic BungeeCord server.

groups:
md_5:
- admin
disabled_commands:
- disabledcommandhere
player_limit: -1
stats: (Your Stats goes here)
permissions:
default:
- bungeecord.command.server
- bungeecord.command.list
admin:
- bungeecord.command.alert
- bungeecord.command.end
- bungeecord.command.ip
- bungeecord.command.reload
listeners:
- query_port: 25565
motd: '&cTest MOTD'
tab_list: GLOBAL_PING
query_enabled: false
forced_hosts:
localhost:25566: Hub
ping_passthrough: false
default_server: Hub
bind_local_address: true
fallback_server: Hub
host: 0.0.0.0:25565
max_players: 100
tab_size: 60
force_default_server: true
timeout: 30000
connection_throttle: 4000
servers:
Hub:
motd: '&cTest MOTD'
address: localhost:25566
restricted: false
Factions:
motd: '&cTest MOTD'
address: localhost:25567
restricted: false
HungerGames:
motd: '&cTest MOTD'
address: localhost:25568
restricted: false
Creative:
motd: '&cTest MOTD'
address: localhost:25569
restricted: false
ip_forward: false
online_mode: true


Make sure that "online-mode" in all your Servers is turned OFF. This will not work otherwise.

PLUGINS

Once you've set up your server, you're going to want to add some plugins. Below, I've made a list of plugins which are, well, Essential to every server:

- Essentials ( http://dev.bukkit.org/bukkit-plugins/essentials/ ) - For basics
- GroupManager ( http://ess.khhq.net/wiki/Downloads ) - For groups
- Votifier ( http://dev.bukkit.org/bukkit-plugins/votifier/ ) - For voting
- BuyCraft ( http://dev.bukkit.org/bukkit-plugins/buycraft/ ) - For donations
- PlotMe ( http://dev.bukkit.org/bukkit-plugins/plotme/ ) - For creative servers
- Factions ( http://dev.bukkit.org/bukkit-plugins/factions/ ) - For factions servers
- MassiveCore ( http://dev.bukkit.org/bukkit-plugins/mcore/ ) - NEEDED for Factions to work
- WorldEdit ( http://dev.bukkit.org/bukkit-plugins/worldedit/ ) - For building
- WorldGuard ( http://dev.bukkit.org/bukkit-plugins/worldguard/ ) - For protecting land
- ClearLag ( http://dev.bukkit.org/bukkit-plugins/clearlagg/ ) - Cleans up lag on servers
- MultiVerse ( http://dev.bukkit.org/bukkit-plugins/multiverse-core/ ) - For Hub servers
- MultiVerse Portals ( http://dev.bukkit.org/bukkit-plugins/mu ... e-portals/ ) - For Hub servers

Also include any extras you want to make your server seem more unique and professional.
Some examples of these include:

- Lockette ( http://dev.bukkit.org/bukkit-plugins/lockette/ ) - Protect chests and doors
- AutoBroadcaster ( http://dev.bukkit.org/bukkit-plugins/jamesyahugh/ ) - Auto broadcast messages
- BungeePortals ( http://www.spigotmc.org/resources/bungeeportals.19/ ) - For BungeeCord portals
- AJLM ( http://dev.bukkit.org/bukkit-plugins/an ... emessages/ ) - Disable joining + leaving messages

CONFIGURATION

Now for the hardest part of making a Server - the configuration.
Personally, I don't find the configuration hard, however, I've heard from many people that they find Essentials, GroupManager, MultiVerse and Votifier complicated.


Essentials

Firstly, I'm going to cover parts of the Essentials config.yml which are important:


enabledSigns:
- color
- balance
- buy
- sell
- trade
- free
- disposal
- warp
- kit
- mail
- enchant
#- gamemode
#- heal
#- info
#- spawnmob
- repair
- time
- weather


These are the types of signs which are enabled on your Server. As you see from the code above, ALL signs are allowed apart from gamemode, heal, info and spawnmob signs which I've disabled by putting a "#" in front of it.

One of the most time-consuming things in Essentials is the kits:


Name:
delay: 86400
items:
- 306 1 name:&aIron_Helmet lore:&7Kit_Name protection:1 unbreaking:1
- 307 1 name:&aIron_Chestplate lore:&7Kit_Name protection:1 unbreaking:1
- 308 1 name:&aIron_Leggings lore:&7Kit_Name protection:1 unbreaking:1
- 309 1 name:&aIron_Boots lore:&7Kit_Name protection:1 unbreaking:1
- 267 1 name:&aIron_Sword lore:&7Kit_Name sharpness:1
- 257 1 name:&aIron_Pickaxe lore:&7Kit_Name fortune:1
- 258 1 name:&aIron_Axe lore:&7Kit_Name efficiency:1
- 256 1 name:&aIron_Shovel lore:&7Kit_Name efficiency:1
- 364 16 name:&aSteak lore:&7Kit_Name
- 264 5 name:&aDiamond lore:&7Kit_Name


As you see from the code above, this kit is called "Name" and it can be used every 86400 seconds - 1 day. In the kit, you must specify the following:
- {ITEM_ID} {AMOUNT}
You may also choose to give it a name, for example:
- {ITEM_ID} {AMOUNT} name:&6Test
You may also choose to give it a lore, for example:
- {ITEM_ID} {AMOUNT} name:&6Test lore:&7Another_Test
When writing names or lores, you must use an "_" for when you want a space.
You may also choose to add an enchantment to the item, for example, sharpness I on a sword:
- 267 1 name:&6Iron_Sword lore:&7The_Best sharpness:1
- {ITEM_ID} {AMOUNT} {NAME} {LORE} {ENCHANT}

See! It's simpler than you thought!


Now I'm going to go over the section of the config.yml which only gets used if EssentialsChat is installed.


group-formats:
Member: '{DISPLAYNAME}&7: {MESSAGE}'
Helper: '{DISPLAYNAME}&7:&a {MESSAGE}'
Mod: '{DISPLAYNAME}&7:&a {MESSAGE}'
Admin: '{DISPLAYNAME}&7:&a {MESSAGE}'
Owner: '{DISPLAYNAME}&7:&b {MESSAGE}'


This is known as "group-formats" and it used to format the way the chat looks. This is rather simple and feel free to copy and paste this and edit it in a way which suits your server style!


Another part of the Essentials config.yml is used for making permissions nodes to set multiple homes!


sethome-multiple:
default: 3
donator: 5
staff: 10


In the example above, the permission node: essentials.sethome.multiple.default will give the user 3 set homes. Another example is essentials.sethome.multiple.donator will give the user 5 set homes! This is how you give users more /sethomes.


Once you first get on your Server, I would recommend you type /rules. After this, go into your Essentials folder and you'll find a rules.txt document. If you go into this, you can configure the way you want /rules to look. I've included a small example of what a rules list can look like:


&e[1] &6Do &cNOT&6 ask for Staff.
&e[2] &6Use common sense at all times.
&e[3] &cNEVER&6 use hacks.


This is rather simple, yet effective. You can customise your rules however you want by just using colour codes. It's that simple!


GroupManager

Well, it looks like you're ready to start configuring GroupManager now. This is said to be the hardest thing, but once you learn how to do it - it'll be fairly simple! You may even become an expert at it and be able to help others!

The first thing you need to do is go into your GroupManager folder. Then you click on the "worlds" directory. After this, you should see folders for each of the worlds you've created. Click on the world you wish to configure and you'll see that there are two files; groups.yml and users.yml.
DO NOT touch the users.yml file. It means nothing to you.

The following code will demonstrate how you configure your groups.yml file:


groups:
Guest:
default: true
permissions:
- essentials.help
- essentials.tpa
- essentials.tpaccept
- essentials.tpdeny
- essentials.afk
- essentials.msg
- essentials.motd
- essentials.spawn
- essentials.mail
- essentials.mail.read
- multiverse.access.*
inheritance: []
info:
prefix: '&f[&7Guest&f]&7 '
build: true
suffix: ''


I shall now explain each line of the code so you can understand what is going on:

"groups:" - Just the opening, leave it there and don't paste it with every new rank
" Guest:" - The name of the rank, I just called it Guest for an example
" default: true" - Only set as true if it is the rank you want users who have just joined to start off with, if you don't want users who have just joined to be that rank, then you set "default: false"
" permissions:" - Outlines the beginning of where you set the permissions
" - essentials.help" - An example of a permission node. This particular one allows the user to type the command /help
" - multiverse.access.*" - the .* makes it so that they have all nodes which apple to multiverse.access
" inheritance: []" - This makes it so that they have NO inheritance. Inheritance is where you get commands from a designated group. For example, the essentials inheritance commands
" info:" - This outlines the beginning of the rank information
" prefix: '&f[&7Guest&f]&7 '" - This is the prefix you want to see in chat before the person's name
" build: true" - Set to true if you want members of the group to be able to place and destroy blocks
" suffix: ''" - Here you can write a suffix which is something which goes after the user's name in chat

Now for the question on your lips - "How do I know the permission nodes?!"

All you have to do is a quick Google search to find them! It's really that simple!
For example:

- Essentials nodes ( http://wiki.ess3.net/wiki/Command_Reference/Perm )
- Factions nodes ( https://github.com/MassiveCraft/Faction ... plugin.yml )
- PlotMe nodes ( http://pages.citebite.com/q7j6x7d2bftx )


MultiVerse

MultiVerse is a rather simple plugin, but it can be a little bit tricky at times.
Firstly, you need to go into your MultiVerse folder and click on the worlds.yml file.

This is where you may edit the settings of each world created by the use of the /mv create command.

An example config for a Hub world would be the following:


Hub: # Name of the world #
==: MVWorld
hidden: 'false' # Always set to false #
alias: Hub # If you want it to have another name #
color: WHITE
style: NORMAL # Type of world #
pvp: 'false' # False = no PvP. True = PvP #
scale: '1.0'
respawnWorld: ''
allowWeather: 'false' # False = always sunny. True = may change #
difficulty: EASY # What level difficulty? PEACEFUL, EASY, NORMAL, HARD #
spawning:
==: MVSpawnSettings
animals:
==: MVSpawnSubSettings
spawn: 'false' # Allow spawning of animals? #
spawnrate: '-1'
exceptions: []
monsters:
==: MVSpawnSubSettings
spawn: 'false' # Allow spawning of monsters? #
spawnrate: '-1'
exceptions: []
entryfee:
==: MVEntryFee
amount: '0.0'
currency: '-1'
hunger: 'false'
autoHeal: 'true'
adjustSpawn: 'true'
portalForm: ALL
gameMode: ADVENTURE # What gamemode is the default? ADVENTURE, SURVIVAL, CREATIVE #
keepSpawnInMemory: 'true'
spawnLocation:
==: MVSpawnLocation
x: -217.5
y: 64.0
z: -290.5
pitch: 0.0
yaw: 0.0
autoLoad: 'true'
bedRespawn: 'true'
worldBlacklist: []
environment: NORMAL # Type of world #
seed: '-3505522324363341323'
generator: 'null'
playerLimit: '-1'
allowFlight: 'true' # Allow flight? #


I have annotated the code above with hashtags so you can see what it means.

The next thing you have to sort out in MultiVerse is the config.yml.
* IMPORTANT *
I recommend you set prefixchat to 'false' otherwise it'll interfere with EssentialsChat!

In the config.yml, you can edit the firstspawnworld which is the world you first spawn in.

Those are the only things that are truly important in the MultiVerse configuration.
See, it wasn't that hard!


Votifier

This part is a little tricky as it involves using third-party sites. Below you'll find a list of sites which I personally find are good for advertising your servers on:

- http://minecraft-server-list.com/
- http://minecraftservers.org/
- (Ad link removed)
- http://www.minecraftserverlist.eu/

And those are just a few!

They will ask you for a few details about your Server. Some of these include the host, port and also the public key. I shall now explain how to find them:


host: xxx.xx.xx.x
port: xxxx
debug: true
listener_folder: plugins/Votifier/listeners


That code is in your config.yml in the Votifier folder. You'll need to enter the host and the port.

** WARNING **
If you're using a hosting provider like FadeHost or Hosthorde or McProHosting, then you may want to change the port to something random like 4564 in order to not have it meddling with other peoples' servers.

They will also ask for your public key or your private key.

These are located in the "rsa" folder in Votifier.
Just click on it and copy and paste the long line of randomly generated numbers and letters.


WEBSITES

I'm now going to talk a little bit about making a Server website. This section will NOT include information about donations, that will be the next section.

I would highly recommend you use http://www.000webhost.com/ in order to host your website. I personally use it and I find that the Zyro admin userface is great and simple to use for those who are not professional website designers (such as me).

I'm not going to talk much about making a website as it's not really my speciality, however, I will talk about making a forums page!

I recommend using phpBB in order to make a forums site.

Because it would take me too long to explain how to use phpBB, I'm going to paste a link below for a YouTube video ( all credit to TheTBagTutorials - This is NOT my video ) which explains how to install phpBB on 000webhost.

Link:
https://www.youtube.com/watch?v=RdjgMxLg_hI

DONATIONS

It's now time to get some money for all of the time you spent making your Server!

I personally would highly recommend that you use BuyCraft in order to set up your online donation store.

Firstly, install the BuyCraft plugin, http://dev.bukkit.org/bukkit-plugins/buycraft/ . Then you need to create a BuyCraft account by going to: https://server.buycraft.net/register? and then you can begin!

The first thing you need to do is click on the "Content" tab.
Then, click on "+ Add category" and provide a name and a description of your category.
Afterwards, you need to make some packages, in my example, I'm going to use ranks.
Click on the "+ Add package" button and provide a name and a description of the package.
Then change the price and any other details you need to give about the package.

Now for a really important part!
Where it says "Commands", you need to to set it so " Initial " is "manuadd {name} rank". So if your rank name in your GroupManager setting is called "Awesome", then you would type "manuadd {name} awesome" and this will automatically make them that rank, almost immediately after purchasing!

Once you've finished with your webstore from BuyCraft, click on the "Webstore" tab and then "Website integration". Now you need to copy the top HTML code.
Now, go back to the website builder in 000webhost and click on the HTML icon to drag it to where you want the webstore to be displayed on your site.
Then, double click on the HTML block you inserted and paste the HTML code from the BuyCraft site you had copied before.
You just need to then publish the site and voilà! Done.

NOTE FROM ME

I hope you've all found this guide to making a Server very helpful and useful!
If you have any questions or concerns, or even suggestions as to what I should put in this guide, then please reply or PM me and I will be happy to help!

Regards,
Nathangrad
Posted by
Nathangrad
Level 14 : Journeyman System
12

  Have something to say?

JoinSign in

Welcome