forum Forumsplay_arrow Minecraft fiber_manual_record Discussion


Requiring help setting up a server from home.

1 emerald2 replies80 views
created 09/20/2018 8:35 pm by Issemir
last reply 09/21/2018 4:55 am
So I currently run a server from an online server host which I pay monthly for, however despite having 9GB of RAM my server still has all kinds of TPS issues and lag. I have looked into the plugins as potential causes of lag, taken dramatic steps to reduce lag from things in the bukkit.yml and spigot.yml files such as lowering chunk rendering and yet the server still lags.

I am fairly confident that this is due to the server not having a processor core dedicated to it by the server host (as I am aware they don't do this). Therefore, would I be correct in thinking running a server from my home would be a better alternative to solve these issues and futureproof the server's development?

I have a budget of around £1000 (GBP) or $1350 (USD). I was planning on using this to order a prebuilt server computer OR order parts and build a server computer. While I have made my own gaming PC before, I am aware that server computers need to be made differently and I have no experience in this, so I was hoping for assistance from someone more educated in these things. As for internet, if I were to purchase a server computer I would upgrade my internet to be around 30-50mbps upload speed (I am unsure how fast I would require so I may need help on this too).

I currently average around 20 players at peak though I expect this to grow a lot. The server needs to run 24/7 with the exception of scheduled restarts 1-2 times a day max.

Ideally I want the server computer to be pretty powerful (I plan on the server expanding and growing far beyond what it is now) and I am fairly flexible with the budget here. Can anyone recommend a server computer build and/or other lines of action I could take?
Posted by avatar
Level 21 : Expert Architect

2 replies

09/20/2018 11:19 pm
Level 35 Artisan Engineer
I would actually strongly suggest against this idea and instead rely on an external hosting provider, simply because there are plenty of caveats which can be difficult to overcome. The most obvious problem: what if you get the wrong kind of player(s) onboard, you ban them and they retaliate with a DDoS attack? Now you'll be fully cut off from the Internet, won't even be able to read your e-mail or check up with online banking. That's a risk which I think isn't worth taking.

Then there's also something as backups, the one thing most people completely overlook or ignore. How are you going to cope for redundancy? Are you familiar with RAID by any chance? It's the process where you use one (or more) harddisks together at the same time so that when one fails others will take over. It's essential for a server, even home based NAS devices currently use it (Network Accessible Storage).

Considering the amounts of hosting providers out there I think you'll be better off switching to another. Because another aspect is your Internet connection; usually you get more download speed and less upload speed whereas an ISP will provide much higher and broader speed ranges. It's not merely about having a good upload speed; the balance is important too. If your server receives more information than it can sent out ("process") then that by itself could also cause problems, even lag. I don't see this happening with a smaller amount of players but it is something to keep in mind.

But even so... what kind of lag are we talking about here? There are different kinds of lag and it seems to me as if you're mixing stuff up. "TPS problems and lag", what does this mean? Can you be more descriptive? So you got 9 Gb of RAM, how sure are you that Java is also actually using any of this? Did you change the way you start your server to specify that it should use more?

You don't fight lag by merely changing a few gaming options (rendering distance) and optionally throwing some anti-lag plugins at it. Don't get me wrong: they will do their thing and help out a bit, but what if your problem isn't caused by the game itself? What is the speed of your harddisks, what is the speed of your memory?

The first thing you do is configure and optimize your Java Virtual Machine ("JVM") and you do that by editing the command line parameter to start the server. Make sure that Java knows and actually uses all that memory, optimize the so called garbage collection (for example by telling Java that it should do parallel garbage collecting), increase the heap.. I can't help but think that this can be a major factor for your current problems.

Here is a good guide on optimizing a Spigot server for better performance, and I'd like to explicitly point your attention to a JVM optimizing guide written by Aikar; considering your problems I'd say it's a must-read.

Only if that fails then you might want to start looking around for different hosting. See: not having a dedicated CPU core doesn't mean anything. I'm running a small server myself in a FreeBSD jail (virtualization merely for security purposes; making sure to separate the Java process from my main host) and even without a dedicated core or CPU for that matter I don't experience too much lag.
09/21/2018 4:55 am
Level 21 Expert Architect
First of all, thank you for the in depth reply. It's true I'm not even very knowledgeable of the causes of lag etc and how to reduce it though that spigot list you sent is what I've already been through. I'll try and optimise the start up of my server on command line as you've said and also ask my host what my hard disk speed and ram type is (and then get back to you). I'm actually about to go to Germany for 5 days so I'll do what I can but I'll be working remotely so it'll be a little more difficult.

Once again, thank you for the helpful response, I really do appreciate it.




© 2010 - 2018