Administering A Craftbukkit Server

Introduction

Opening Notes
 This tutorial is for current Craftbukkit Server admins and aspiring server admins. Whether you own the place, or are simply running the show (or even a little of both) this tutorial is meant to provide you with a set list of guidelines and valuable resources to running a successful server. Everything from the grits and gravy, to the day to day handling of yourself and your server.

Alright Let’s get into it from ground Zero!

# Section 1: Ground Breaking

This section is meant to introduce you to the differences between a few simple, but need to know basics:

1. The difference between “Vanilla” and “Modified” Servers.
2. What is the Bukkit Project?
3. The differences between a Game Hosting Plan and a Freeform Plan (VDS, VPS, or Dedicated Hardware)

Really this section is the gritty “Where do I want to start my adventure?” portion!

## “Vanilla” Minecraft and “Modified” Minecraft Servers

The first bit you need to realize is the difference between “Vanilla” flavored Minecraft Servers and “Modified” Minecraft Servers, such as CraftBukkit. Really, these terms can be applied to any video game and can simply confuse someone who is brand new to the scene so it’s imperative that we talk about it first. A “Vanilla” Minecraft Server is the minecraft\_server.jar file you download from http://www.minecraft.net/ without any modifications, tampering, or additions on in any way. In a sense, it’s Minecraft SMP in its purest form: unaltered and vulnerable; thats what most server owners are afraid of. Thanks to the addition of “griefers” to the Minecraft community and a load of other issues, Vanilla servers are seen as gaping targets for every type of mischief and discord to happen. It really gets under the skin of anyone who runs one because you have to constantly keep an eye on it to make sure nothing goes wrong. This is where “Modified” servers come into play; not just CraftBukkit, but hundreds of Minecraft players feel the need to modify the original code to better suit servers and the growing concerns of the administators running them. Modified servers mix it up to better secure or improve on the current gameplay mechanics of the Minecraft Multiplayer server.

The main difference between “Vanilla” and “Modified” is that Mojang only supports Vanilla servers as of this article. Currently Mojang is developing a Mod API for modification makers to use, but aside from that the communities built around the Modified servers are the only official support for their mods. For example, Bukkit. Bukkit answers questions about Bukkit and Craftbukkit Mods, not CanaryMod.

## The Bukkit Project

The Bukkit project is seen to many as the successor of the Hey0 server mod as started by Hey0. However, Bukkit is an independent project which seeks to improve Minecraft like any mod would, but at a different level that offers convenience and ease to the people running it. Normally there is only one instance of the modification, but the Bukkit project releases two versions: One is called Bukkit, like the project, and is the “Missing API” of a Vanilla Server; Normally, server owners would **not** use Bukkit, as it is only an API for Bukkit (the platform in which plugins are created). CraftBukkit is the sealed up Bukkit .jar file in an easy-to-use environment for server administrators, made specifically for running the Minecraft server. This tutorial primarily works with CraftBukkit over Bukkit seeing as CraftBukkit is used by the Bukkit Project for server admins rather than for developers.

## The Hosting Plans

There are two primary paid hosting plans, or at-least two categories: Game Hosting Plans and Freeform Plans (VDS, VPS, Dedicated Hardware, etc.)

**Game Hosting Plans**. You are given a web panel and a FTP access (or something along these lines) and are very user friendly. However, the downside to this is that some plans are too restrictive and proprietary software gets into conflicts with the Modifications.

**Freeform Plans**. These plans are, in the basic sense, a computer in a datacenter with a permanent internet connection and an Operating System. Virtual Dedicated Servers, Virtual Private Servers, and Dedicated Servers all fall under this category. You are given complete control of the system and are free to do as you please with your allowance within the host’s terms of service. This is the most favored type of plan because you have total control of your server and what is put in it, but you also lose the convenience of a simple user interface, unless you install a graphical server wrapper. However, in the end, this tutorial believes that it’s the best choice for server hosting due to the fact that there are no restrictions. (*Note: Make sure your host allows port 25565, which is Minecraft's port, or you can use SRV Records*). This tutorial will work under both interfaces for convenience.

### CraftBukkit or Bukkit?

As explained in the previous sections, CraftBukkit is the modification for servers, as opposed to Bukkit which is an API so developers can make plugins. This tutorial will focus only on CraftBukkit as Bukkit is only useful for plugin developers.

## Pick your Operating System, Memory, and RAM!

Seeing as this tutorial will help you run a Craftbukkit Server, here are some quick tips to look at when choosing a plan. Firstly: More Plugins for Craftbukkit Support Linux and Linux derivatives only, so it’s recommended that you get a Linux plan. That being said if you are a new user, Windows will be more useful for you because it has a clean GUI (Graphical User Interface) and is easy for server hosting.

When you come across the fabled 32-bit versus 64-bit decision; it’s recommended that you choose a 64-bit plan as it will allow you to have more (4GB or higher) RAM than a 32-bit plan will. If you're not sure, or simply don’t care, choose what you fancy.

 **Note**: 32-bit may be also displayed as x86, this isn't more!
When choosing RAM amounts, it is HIGHLY recommended to run a Craftbukkit Server 1024MB (1GB) of RAM per 10 Player Slots. If your player slot amount is below 10, we recommend a 768MB plan at minimum. Due to Java's high memory consumption of the server and plugins you can (*and will*) never have enough RAM.

## Pricing

Likewise, pricing is a huge issue for server admins because the money is coming out of your pocket! If you want to run a successful community: Have a lot of money to burn, or setup a donation system with rewards for members to entice continuous play on your server and to help pay for it. That being said, if you’re just starting out a small package should do you just fine. Don’t start big and go small! A large community of players always starts from a small one.

# Section 2: The Community

Like the pricing and the specs of the machine, the community itself and who runs it is extremely crucial to your community’s success. If you run it “half-assed” and don’t really care to learn about or keep your users happy... you won’t do too well at all. Yes! Running a Minecraft server is a job! And if you can’t commit to it then you should exit your browser right now and go back to whatever it is you do.

This section will show you:

* How to successfuly advertise your server
* As an Administrator, how you should act while with players
* Hire Moderators, know when to lay down the ban-hammer!
* Keep the community involved
* Choose correct plugins and abilities your players will love!
* Planning in advance for things and dealing with unexpected events
* Somewhere to meet if the server is offline
* "It's your server but it's for the players"

## As an administrator, how you should act with players.

#### What you should do:

* Be friendly and polite - be kind to your players, help them build something, maybe even protect their house from griefers.
* Be able to answer questions - Know your plugins! No one likes a server admin who doesn't know how to use half of their plugins.
* Be able to tolerate insults - One thing that many admins will do is rage quit when a "butthurt jerk" insults all of their work. So what if someone insults you? Ban them, and move on!

*Don't be a jerk just because you have all permissions - No one likes a server owner that griefs their players and then makes them donate for a rollback. People will hate you, and they will tell other people - and that is very bad for you.*

## Appointing moderators

As your server expands in size, it will become more and more difficult for you to keep track of everyone's problems at the same time. You'll need to hire moderators to help you out and keep server crime down to a low.

There are two general ways that people hire moderators: applications and watching their players. Let's take a look at both.

#### Application system:

Generally, this is used to see who is interested in becoming a moderator. You should have high standards and expectations.

Some things to look for:

* Is the player active?
* Is the player friendly towards other players?
* Has the player followed the rules so far?
* Is the player mature?

These are some of the criteria to look for. Now, you should look at the application form itself. This should require a lot of detail and not be something stupid like this:

```
```

With forms like this, it is extremely easy for someone to lie their way into a staff position.

You should use something more detailed like this:

```
```

Of course, this is still somewhat exploitable, as people can lie about their previous experience and how they'd help the community, but it is much more difficult to lie in this one than it is in the previous one.

##### Reviewing

You should also review these applications and see who's more fit for the job. Do not make everyone who applied a moderator, that would defeat the purpose of applications. Check their sources. If they say that they've been mods on previous servers, PM them asking for the IP and **cross-check!** It saves you a lot of hassle later on.

#### Watching your players

This method is more favorable, as you can see people's real-time interaction with other players. Definitely spend some time watching those who are more active. Look at their chat logs in server.log (found in your server folder) or use an invisibility plugin to watch them as they're unaware of your presence. One thing you should not do at any cost is **tell them that you're considering them**! This will alert them and they will most likely change their behavior patterns to satisfy you - then destroy all of your work in one keystroke. Again, you should search for friendly, active, and helpful players.

 **Don't op them straight away** This cannot be stressed enough. DO NOT give your new staff all permissions straight away. This is a very bad idea and you should always test the new staff members to see if they're capable of being responsible. This is why it's usually best to have a "sub-mod" rank that doesn't have as many permissions as the "full mod" rank, but still has basic staff capabilities.

With that, you should be able to make wise choices with your staff!

## The ban hammer of legend

An entire novel could be written about the ban hammer. This simple tool has the power to remove anyone you want from the server indefinitely. That's why it's important to understand the basics of banning.

There's a few parts to this:

* Responsible banning and how it will affect your community
* Lenience and sternness
* Global bans

#### Responsible banning and how irresponsible banning is bad for the community

As has been mentioned, the ban hammer is a very powerful tool. That's why it's important to exercise caution and use it only when necessary.

You should NEVER ban someone just cause they're getting on your nerves. As a starting server, you don't want to intimidate your players into leaving. Admins who ban for "sh\*ts and giggles" will lose a lot of players. On the other side, you shouldn't be overly lenient. You shouldn't let a guy who's built offensive things out of blocks he stole from other players stay on your server. That will also cause you to lose a lot of players.

#### Lenience and sternness

It is important to let your players know the limits of what they can do on your server. This means telling them that, "Yes, you will be banned if you grief", or, "No, you don't get banned for caps". Stay true to what you tell them, too. Don't let someone off for griefing after you told them that they would be banned, and don't ban for caps if you told players that caps lock wouldn't get them banned. No one likes a two-faced server admin.

#### Global bans - responsibility

Global ban services are used to keep track of a player's bans across multiple servers and warn other servers about bad players. With that said, it is important to be responsible with a global ban service. Don't global ban people for random reasons. Most global ban services have a local ban functionality. Even so, you should NOT local ban them for no reason. This will drive away a lot of players and that is bad for your server. Too many invalid bans and some global ban services may review your server. Remember to read your global ban service's banning guideline to make sure you don't get in trouble with the service.

## Keeping your community involved

In order for your server's community to grow, you will always have to keep you and the players active within it.

Drop parties are known to attract players and can be good for the community. With those you can attract players and give out free items. In a drop party do not give out too many good items, try to balance the diamonds, or other rare items, with more common items, such as flint, plant seeds, or other craftable items. Make sure you don't have too many drop parties either, as they can attract players to stay, they can also ruin the server's economy by having certain players get good free items without having to do any of the hard work in order to normally get those items. Make sure players know about the drop parties as well, if they don't know, no one will show up. Once you find a schedule, stick to it, players will soon get used to it and learn to expect it, making the community grow.

Another good way at keeping the community involved is by opening public forums on the server's official webpage. Players can then discus ideas, strategies, and even review and suggest new things to make your server better. It is always good to make announcements and upcoming things on those forums. As people have free speech, make sure you don't over react to bad posts, if they are too offensive take them down. Also set guidelines and sections for the forums so it is easily navigable, the players won't stick around if they cannot find what they are looking for.

One good idea is to run a YouTube channel dedicated to the server, players can submit videos to you and you may post them on the page. This will give the players a sense of participation within the community and can help boost player activity. Allow players to record server spotlights or reviews on their channels, never be afraid of getting out there. Try and encourage players to make those videos and maybe give them a small reward, such as a diamond or in game money.

As these all can help your server, it can also destroy it. Make sure you don't over do something and ruin the way players look at the server. Don't give out too many things or it will make some players TOO powerful and can make players no longer want to play because of the players who have too much power. MAke sure that the videos and posts are good about the server, anything bad can put the wrong image into a new players mind.

## Choosing the correct plugins

This is very important for a successful server. Choosing the right plugins keeps the gameplay fresh, fun, and original - three things your server needs to be fun. Don't choose plugins that no one will ever have permissions for except you (for example, a plugin where you can attack others with fire and lightning and explosions). These only bog your server down and add nothing for your players except a cool new "permission denied" message. Yeah, it isn't fun.

Be sure to do extensive testing on a test server. This makes sure that the plugin works properly and isn't going to corrupt your map data or make everyone an op or something dangerous.

**Tip**: Remember, download plugins from bukkit.org and ONLY bukkit.org. This is the only site where plugins are checked for maximum security.

#### Development

Can't find that plugin you want really badly? You can either ask someone to develop it for you or develop it yourself. It takes a lot of practice to become a good developer, but once you get the hang of it, you will be able to develop anything you want for your server! This also contributes to your server while adding some knowledge to your own brain.

## Scheduling

Scheduling is an important part of running a successful Minecraft server. You should always keep your players notified of upcoming updates. Of course, you can't really schedule a Minecraft update, but you should definitely schedule when you perform plugin updates, add cool new features, etc. No one likes to join and then be told that the server will be whitelisted for a week to fix a critical error (this is where a test server comes in handy). You should always schedule changes so players can know when they'll need to do something else.

## Preparing for the unexpected

Face it, you won't always have time to run your server. You'll have school/work, and other things will arise that keep you from having fun on your server. But these things happen, and they're nothing to be afraid of! You will always find SOME free time to run your server and build that giant mansion you've always dreamed of. You should always tell your players when you'll be gone for a long time. If an error occurs, tell your players that you're working on the issue.

## Somewhere to meet when the server is offline

You should have somewhere to talk to your players when the server is offline. In most cases, this will be a website or a forum where you can quickly inform your players of upcoming downtime and other changes happening. Websites make a great place to hang out and talk to other players.

Speaking of websites... don't make your server website look ugly. A lot of people might actually google your server by accident and then be driven away by a crappy, ad-infested website.

## "It is your server, and it was made for them."

This is very, very, VERY important. This basically sums up the entire section. You made the server to have fun and enjoy playing Minecraft, (presumably). You spend time helping players, because you're their leader. You spend money paying for said server, which entitles you to that role. They are who you made this server for, not yourself:

***Do. what. the. players. want.***

*(as long as it's not cuckoldry)*

Well, this should be enough to get you started. Good luck!

# Section 3: Keeping it Rolling

A community is like a garden, it grows from a small community into a big one. But that doesn’t happen overnight! You need to keep it rolling so everyone is happy!

This section will show you:

* Useful sites to bookmark and keep your eye on
* How to update your plugins
* Updating your server/Recommended Builds

## Help! Minecraft Updated!

It’s that time again! Craftbukkit is updating and so are your plugins! Unfortunately this means that most of the time updating your server will not be enough and most if not all of your plugins will break. Keeping this in mind, here are some useful places to keep bookmarked as you expand your Craftbukkit Server.

Firstly: http://www.bukkit.org/ should be kept a close eye on. The homepage of the Bukkit Project always tells you the recommended build of Craftbukkit and when it’s time to update.

Secondly: http://plugins.bukkit.org/ is THE website to bookmark to look up documentation of your plugins or help expand on the plugins you currently have. With that being said...

Third: EVERY TOPIC FOR ANY PLUGIN ON YOUR SERVER. These should be bookmarked indefinitely so you can return to check for updates and how to work out the documentation and commands.

Fourth: http://dev.bukkit.org/ BukkitDev Is swiftly replacing the old forum system(linked above) for interaction between plugin developers and the community(you) and your users. Bukkit dev has many strengths including the ability to subscribe to alerts by email when your plugins are updated

Fifth: http://wiki.bukkit.org/ always has a counter for the current Craftbukkit build and tons of tutorials on how to run servers.

## Are my plugins updated? How can I tell?

Normally, you can’t tell what version your plugin or server is... without a little searching, that is! If you log in to your server and type /version you can immediately find out what version is your Craftbukkit server and immediately compare it to the Recommended Build. Additionally, /version [pluginName] can tell you the version of your Plugin and the Recommended Build it was Built for.

There are also plugins that can be used as a guiding resource that an admin can use as a helping hand to keep plugins as well as CraftBukkit itself up to date. These resources however are not a full replacement for doing the research on your own as blindly updating can often cause more trouble than it saves.

## Updating your plugins

To update your plugins, simply stop your server, delete the Jar file, and replace it with the new one. If the changelog for the plugin (usually displayed on the plugin’s forum post) says there is a change in the config files, make the appropriate changes before finishing and restarting your server.

## Asking Others

People who have already been there done that are extremely valuable resources for you to use. Never EVER be afraid to ask others for help! Most of the time ex-server admins or current server admins will try to assist you as much as they know, or try to refer you to someone who does know. If you don't know anyone, the Bukkit IRC Channel is a plethora of Admins, Plugin Developers, and other people who know how to do what you may not!

 (This tutorial is a work in progress, message resba for any questions.)