By: Jason Sayre
When shopping for a Minecraft server, you’re often presented with servers traditionally meant for one thing: hosting websites.
By now, you’re used to running a java heavy server application that eats ram like candy. Your hosting company may not be used to these types of applications and may need specific instructions and custom built servers. This guide is intended to help you make the right choice. The plus side of using a server is that you’ll have a 24/7 server that doesn’t affect nor depend on your home connection.
If you’re looking to host a large server (40+ slots), we recommend using a dedicated server, as the performance on a shared server (VPS or cloud offering) is not going to be sufficient to keep up those >20 TPS (ticks per second) with high volumes of players. If you’re stepping up from hosting a server within your own home, and don’t have a large player base, a cloud server is ideally the cheaper and more efficient option until outgrown.
When shopping dedicated servers, you may be tempted to simply chooes the cheapest server with the highest clock speed and most ram. Again, most pre-built options are going to be meant for hosting websites.
When hosting a large Minecraft server, threading is king. Look for a server with a generous clock speed (higher will of course, be better) and the most cores and threads. You’ll be much better off with a 2.4GHz octocore than with a 3.5 GHz quad. When running a small server, that will be better, but as your server scales, you’ll notice that the server will begin to distribute among the threads (cores + virtual cores) for a better all around experience.
Traditionally, space is king. However a Minecraft server’s typical bottleneck is drive speed. If you want your server to be able to handle a large amount of players, always use an SSD for the server OS, and the working/running copy of the server files/world. (At Hivelocity we offer Intel S3500 SSD from 80GB to 600GB in size). For the sake of your budget, the most economical configuration is to store your world and server files on the SSD, and use a typical SATA drive as the backup drive.
Another more optimal configuration is to use raid 1. Raid one is two drives of the same time that mirror the data between them. This means that if one drive fails, we can simply put in a new drive, and your server will copy the data from the good drive. Depending on your world size, you may need anywhere from a 60GB SSD, to a 256GB to store a large server’s files on.
If you’ve played Minecraft for more than a week, you know that it is a very ram hungry game – both client-side and server-side. When buying any type of server, dedicated or virtualized, more ram is always better. Ram is usually the most direct correlation between the hardware and how many players you can comfortably allow. The smallest amount you’d want to use is typically no less than 1GB dedicated to the JavaVM (this is usually specified in your servers startup file). Please be aware that this is not a hard limit and the JavaVM may allocate more ram dependent on the plugins being used and the amount of players. It’s recommended to leave a buffer between the max ram and available ram in the system. Over-allocation can make your server run badly.
Another point with ram is something called a “ramdisk”. This is a portion of ram that is dedicated as a physical space that you can store files. This is even faster than an SSD, but comes at a price: Just as ram is usually cleared upon the server losing power, so is the ramdisk. So you’ll need something to copy the server/world files out of the ramdisk before shutting down the physical server. If the server loses power unexpectedly, or crashes for any reason, your world data will be gone otherwise. This is only advised if you have ram to spare, and a script to copy your world data to the physical disk at regular intervals.
If you’re planning on running a large server, using linux (preferably without a GUI) is a must. Otherwise, you’ll be sacrificing CPU, RAM and disk on running the graphical user interface. While we’ll be detailing how to easily run a Minecraft server using linux in a later KB article, if you have users or admins that know how to use linux command line, you’ll be squeezing up to 8x the performance out of your hardware by not using an OS such as Windows.
- Windows server:
- Costs to license the OS
- Only one user can comfortably manage the server at a time
- Installed size is around 10GB (Ubuntu server is 1GB)
- Typical ram utilization is 1Gb stock (Ubuntu server is 128Mb)
- Much higher CPU utilization (2x – 12x)
Typical usage (using the default view distance) is usually around 100Mb per hour per connected client. You can usually scale this for your needs. If you use special modpacks or extra plugins that communicate client-side (FTB, Spout) you may see extra usage. Most bandwidth is calculated on a monthly basis at a set speed up to a certain amount (unless you order an unmetered port). Unless you are utilizing the bandwidth you have, increasing your port speed won’t necessarily better the gameplay of your clients.
If you are looking at Hivelocity for running a Minecraft dedicated server please let your Account Manager know. Your Account Manager will team up with our highly skilled support team and make recommendations on your system. If you already have a Minecraft server up and running with Hivelocity and it is your gaming experience is less than idea, open a trouble ticket and I will personally poke around and see if there is anything that can be done to optimize the server’s performance.
About the Author: Jason Sayre is a Hivelocity Systems Admin since 2012. Jason is also an avid gamer with extensive knowledge and experiencing setting up and managing gaming servers. Jason’s standard hours are Monday, Tuesday, Wednesday and Sunday from 8pm-6am.