Jump to content

Recommended Posts

Posted (edited)

Common miss-understandings about MC servers and the hardware they run on.

 

I found a post similar to this on spigotmc.org which highlights misconceptions in minecraft server hosting. I thought i'd bring these to technic to help newbie server owners in deciding which server to get (mainly aimed at those with dedies).

 

I'm gonna make it as simple as I can, I will put this down in my own words but I am NOT going to go rambling on forever about alot of complex processor stuff.

 

Let's start.

 

The higher the CPU GHz, THE BETTER!

 

This is EXTREMELY common around server owners. I've heard people speaking about this quite often, and just decided to note it down. I'm going to use the same example as what was given on spigotmc.org.

Thread speed can vary between processors, and can be often differentiated not only by the processor GHz, but by the way the processor is built and handles operations.

 

Here is a prime example:

Intel Xeon X5698 (4.40GHz)  - scored 1,856 - low on Passmark's single threaded CPU tests.

Intel Xeon E3-1265Lv3 (2.5GHz)  - scores 2,175 - #14 on Passmark's single threaded CPU tests.

That's a big difference, the E3 would be faster then the X Xeon, even though the X Xeon has almost double the GHz! That's quite a difference! Remember minecraft servers do NOT run on multiple cores/threads. The actual minecraft server itself runs on one core. The garbage collection however is another story.

Disconsented posted about the MHz myth in the comments, not sure how it applies to processors myself but might as well include it:

 

 

The myth started around 1984 when comparing the Apple II with the IBM PC. The argument was that the PC was five times faster than the Apple II, as its Intel 8088 processor had a clock speed roughly 5x the clock speed of the MOS Technology 6502 used in the Apple. However, what really matters is not how finely divided a machine's instructions are, but how long it takes to complete a given task. Consider the LDA # (Load Accumulator Immediate) instruction. On a 6502 that instruction requires two clock cycles, or 2 μs at 1 MHz. Although the 4.77 MHz 8088's clock cycles are shorter, the LDA # needs 4 of them, so it takes 4 / 4.77 MHz = 0.84 μs. So that instruction runs only a little more than 2 times as fast on the original IBM PC than on the Apple II.

http://en.wikipedia.org/wiki/Megahertz_myth

 

RAM is the most important resource for a minecraft server!

 

We all know a minecraft server of any kind will not start properly without dedicated RAM allocation (or burst). But RAM is actually one of the least important resource for a minecraft server. All resources i'd say are completely balanced, a minecraft server will not start without a CPU/RAM/BackingStorage. If I was to put it in order from 1-4. 1 being the most important:

1. CPU

2. Network Connection

3. HDD/SSD

4. RAM

Yes, RAM is one of the least important resources. A minecraft server has been hosted completely off of SWAP on an SSD VPS and ran fine with 3 players on!

Disconsented posted the following link:

http://www.computermemoryupgrade.net/memory-influence-on-performance.html

 

Homehosting is mostly fine!

 

HomeHosting is in most cases bad, some ISPs actually ban you from hosting a server on there network. You're home network is most likely not going to be powerful enough to run a minecraft server. The minecraft server, if loaded, may cause problems for anyone connected to the network. If your network is powerful enough, then your PC may not be powerful enough to handle the server without lag. Even if it can, you're risking the cause of fire in your house if you're leaving the server/machine on 24/7 as your house is most likely not setup and professionally monitored in the way a data-center is. Minecraft hosting is fairly cheap, and if you can't afford it, then just play on someone elses server.

 

DDoS protection is expensive, and for use by large servers only!

 

This is completely false. I don't have alot to say about this other then the fact, go and have a look at http://ovh.com/. They offer 460Gbps DDoS protection on all there servers, and even VPSs starting at $3/mo!

 

If your TPS is below 20, something is wrong.

 

Now, If you're running an MC server you should be running spigot anyway, it's much faster. But if you're server goes to for example (I'm talking 1.4.7 and over) 19.98 TPS. then you don't have a problem, it's most likely caused by thread inaccuracies. However, if you're on tekkit classic, thread inaccuracy is extremely rare. If your servers running at 19.696967 TPS then you may need to check that out, that's actually very noticeable.

 

If you are starting out a server, make it a hub from the beginning

 

Think about it, four servers connected to a hub means you'd need quadruple the amount of players to make up for the players you would have only needed to have on one server. Unless you're going to go mad with paid advertising, you should stick to one server.

 

Hosting your server off root user is fine.

 

I've been told myself a million times not to do this, yet i still do this today. It's often seen as a security flaw, even though I myself don't see any danger in doing it. Cx.

 

Thanks for reading.

 

If anything else needs added/changed. Tell me. 

Edited by jominer247
Posted

 

Remember minecraft servers do NOT run on multiple cores/threads. The actual minecraft server itself runs on one core. The garbage collection however is another story.

no longer true as of minecraft 1.8 with the introduction of multi-threading AI.

 

 

The second bullet point is valid for vanilla minecraft, not modded minecraft in this sense. There are plenty of poorly written to extremely large mods that require a ton of extra memory.

 

 

Home-hosting getting banned by ISPs doesnt happen often anymore, there is no "shortage" of bandwidth, and as long as it isnt illegal, they generally dont care. If they do care, they will give you a notice via mail (if not a phonecall). And the tidbit about a fire starting due to a computer running 24/7 is possible, but you're better off getting hit by lightning. Computers built have sufficient airflow to handle overheating, and temps cannot reach to a point where it causes a massive breakdown of soldering to short-circuit, or instant combustion of dust/etc. If temps did somehow reach to that point, the protection against hardware damages will kick in and turn off the machine, no longer being a problem.

 

 

DDoS protection is nice, but unless you're running a public server - large or not, not necessary and wouldnt even say necessary most of the time for any server anyway (unless you're pulling in an average of 100 users a day, you're probably not big enough for anyone to care about, sorry)

 

 

<20TPS is designed as a baseline for indicating issues, not that there are issues. I dont know where this tidbit even came from as being "There is no doubt in my mind that there is an issue if this is < 20" - inaccuracies are definitely a thing, however, theres also big factors that indicate something is actually happening, as in, people are reporting lag, that even make the TPS be looked at (people who look at/check it constantly have nothing better to do, even while playing the game)

Posted

I know. But this is based for modded servers which are often <1.8.

Banned by ISPs doesn't happen often at all. But could still happen occasionally from what i've been told.

When you can get DDoS protection from OVH for that cheap. Then yeah, it's good.

 

Not to sure what you meant by the TPS thing.

  • Discord Moderator
Posted (edited)

A little information about running as the root user. I'll toss out an analogy since I love them so much.

 

Imagine you have a front door of a large building and that building is full of other doors, behind which may be other doors and possibly lots of goodies for you to heist. You find a way to get in the front door only to realize that every other door is barred shut with massive, difficult to pick locks and huge metal frames and wire mesh in all the walls. You might be able to clean out the lobby, but the rest of the doors are challenging and by the time you get through them someone may be tapping on your shoulder with an AK-47.

 

Now, imagine you get through that same door only now there is a giant button in the lobby that is labeled "Press here to unlock all other doors in the building and disable all security systems". This building is a lot easier to pilfer.

 

The second scenario is what you are dealing with when you run what should be a user space service as root. Security vulnerabilities are invariably found in everything from the underlying software (Kernel, Java, etc.) to the service itself. If you find a way to execute some arbitrary code by exploiting a vulnerability through the service, that code is executed with the same privileges as the service. If the privilege level is that of a user, and you have locked the system down well (isolation, patches, multi-level security, etc.) then they only get the goods from that small subset of the server. If the service is running as root then the code can do anything the root user can do... which is anything at all. Now, this doesn't take into consideration things like SELinux Contexts and such, but I'd be willing to wager $20 that there isn't a MC server in existence running in an environment like that.

Edited by plowmanplow
Posted (edited)

Interesting plowmanplow. I'll go ahead and security test running under root now.

 

disconsented, I'm not 100% if the MHz myth applies to processors? And adding more ram does increase system performance, I didn't say it doesnt, but considering a minecraft server can be run merely off swap from an SSD VPS kinda says it all.

 

EDIT: I misunderstood disconsented, Adding more ram doesn't speed up the computer if there wasnt enough ram previously.

 

 

RAM only increases performance where there was a previously inadequate amount. If a system requires X amount of RAM adding an amount higher than X will not and cannot affect preformance. If you have less the system will substitute in other components 

Sorry disconsented. 

Edited by jominer247
Posted (edited)

The myth started around 1984 when comparing the Apple II with the IBM PC. The argument was that the PC was five times faster than the Apple II, as its Intel 8088 processor had a clock speed roughly 5x the clock speed of the MOS Technology 6502 used in the Apple. However, what really matters is not how finely divided a machine's instructions are, but how long it takes to complete a given task. Consider the LDA # (Load Accumulator Immediate) instruction. On a 6502 that instruction requires two clock cycles, or 2 μs at 1 MHz. Although the 4.77 MHz 8088's clock cycles are shorter, the LDA # needs 4 of them, so it takes 4 / 4.77 MHz = 0.84 μs. So that instruction runs only a little more than 2 times as fast on the original IBM PC than on the Apple II.

RAM only increases performance where there was a previously inadequate amount. If a system requires X amount of RAM adding an amount higher than X will not and cannot affect preformance. If you have less the system will substitute in other components Edited by disconsented
Posted

Like the SSD on the Linux VPS for example.

I've never compared processors using GB/s or MB/s or any of that, i've always used the MHz/GHz.

Posted

Apparently I need to spell it out.

The only acceptable way to compare computer components for performance that are not of the same micro-architecture is via real world benchmarking. Stop mentioning Hz.

For a Minecraft server you want strong single-threaded preformance

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...