Common Misunderstands About MC Hosting
Common Misunderstandings About Minecraft Hosting
This is a post was designed to answer commonly asked questions.
I'll be going through them as a bulleted list, some will have long, thorough explanations, and some will be briefly glanced at.
CPU Speed: The higher the CPU GHz, the better!
This is a misconception I have seen quite often, and I understand why people assume this.
However, the frequency is not what makes the CPU powerful, it is the way it is built and the way it handles operations.
A prime example could be these two:
- Intel Xeon X5698 (4.40GHz) - scored 1,856 - low on Passmark's single threaded CPU tests
- Intel Xeon E3-1265L v3 ( 2.5 GHz) - Scored 2,175 - #14 on Passmark's single threaded CPU tests
Bonus remark: CPU's are usually measured in normal- and single-threaded performance. Minecraft (as well as bukkit/spigot) uses only one core for the main thread, which means you'll want a CPU with a higher per-core performance instead of overall performance.
Also see the megahertz myth.
RAM: It's the most important resource for a minecraft server!
No! RAM is one of the less essential hardware resources for minecraft hosting! If you were to list hardware by importance for a minecraft server, it would probably go:
- Per-core CPU speed
- Network Quality
- IO Speed (SSD vs HDD)
Hosting your server from home is a bad idea. You may have the best server machine ready for a huge server network, but it is simply a bad choice.
- Speed: You may have optimized your rig for gaming, but it might not be able to handle your personal use while hosting MC for players across the globe
- Network: Your ISP's network is simply not meant for professional hosting. Often, most residential connections are quite limited by upload speed. In addition, routing can be quite poor.
- DDoS: If you get DDoS'ed, your home connection will be unusable. You may even get your connection completely cut off and get fees from your ISP.
If you plan to have a public server, you should look into dedicated hosting solutions. Alternatively, if you really want to own your how hardware you can pursue colocation, which is having your server in a datacenter.
DDoS Protection: DDoS protection is expensive, and for huge servers only!
It may once have been, but it is now cheap to get, and relatively easy to set up!
OVH a popular bargain 'Infrastructure-as-a-Service' company is a prolific host. The large majority of Minecraft servers utilize their servers due to their low-cost solutions. Within the past year they've implemented a VAC system that comes standard with all their services. OVH-branded servers have automatic DDoS protection; whereas SYS and KS-branded servers have triggered-DDoS protection standard.
They do also offer VPS' (small virtual servers) with this same protection included, from just $3 per month, which are available in Montreal, CA and France. Other providers like BuyVM and RamNode offer additional DDoS protected services for $2-4/m. These VPSs can protect your server by using a BungeeCord proxy hosted on the VPS, a TCP proxy, or using a GRE tunnel. More about that here.
You'd want your main server to tunnel it's connection through your VPS via a GRE tunnel, which is somewhat easy to set up, which you can read about here.
TPS: If your TPS is below 20, something is wrong with your server!
No, probably not! TPS is an acronym for "Ticks per Second. This is the game logic loop. Really delving into this in detail is out of the scope of this document. Please see SK89Q's brilliant write-up of this on Improving Minecraft Server Performance.
However, for the sake of this answer, the server tries to keep the TPS to 20 maintaining smooth gameply. If the server is overloaded, it will not have enough time to complete calculating the game loop 20 times per second. This will result in skipping loops - causing the TPS to drop.
This is why a TPS slightly lower than 20 is not bad - above 16 and the loss of loops should not be felt dramatically by your players. Since the majority of the calculations are still completed, only completely server-side things will be felt. This includes mob movement, spawning, and redstone ticks. They will be slightly slower than usual and may slightly stutter.
If you are starting a new server, you can make it a hub from the beginning.
Think about it. If you start with just four different servers on your hub, that means you'll need quadruple as many players to keep the same amount of each server as if you only had one server.
Unless you have some serious advertising going on, you should start with one server.
Hosting your minecraft server using the 'root' user is fine.
No, this is a gaping security mistake.
Your root login should be disabled in your SSH config! While you're at it, switch to key-based authentication and disable password authentication as well! Remember not to store the keys on services like dropbox etc. For more information, please see the tutorial here.
Warning: Make sure the key-based authentication works before disabling password authentication. Don't lock yourself out. If you do, you'll need to make sure you have some sort of VNC (serial console), IPMI, or KVM access.
Offering donation percentages as payment for developers.
Don't do this. If you do, you should have verified proof of regular income. You can specify an approximate payment range per month based off of this! Developers are often displeased with such vague payment specifications, and this will ultimately get you fewer developer applications.
Most developers like to see upfront cold, hard cash -- for good reason.
Thank you for reading this!
If you found and read this yourself, you're probably well on your way to a successful server