amd

Host Upgrade

Hello all,

Today I have upgraded the main server that GunColony runs on to a higher tier OVH game server. Here are the specs before and after the upgrade:

  • CPU: 4790K -> Ryzen 3600X
  • Memory: 16GB -> 64GB
  • Storage: SATA -> NVMe
  • Bandwidth: 250Mbps -> 1Gbps

The CPU performance should be nearly doubled compared to before, and the memory was quadrupled. Also, the new higher tier server has a better DDoS protection, even though the protection was already good in the previous server after some issues were addressed.

Note that the game servers are currently unchanged. They are still running on the same machines running Ryzen 3600 and 3700X CPUs. However, the spec upgrade to the main server machine will allow me to move all current game servers onto the machine in the very near future. This should reduce the effective ping for all players by around 30ms (the ping displayed in tab list won’t change) – which be the main benefit of today’s server move. The other server machines will remain to run future, extremely CPU-demanding gamemodes – massive Mob-Arena’s anyone? – and as a measure to handle player spikes in case of future server advertisements.

Finally, I would like to say that hosting these servers is expensive; please consider donating if you would like to support us in keeping the server running and growing the server in the future.

2020-11-30_16.30.21

Server Hosting Upgrade

Hello all,

Up until this summer, GunColony has always been restricted to ~20 players due to lag. But one step at a time, I have worked hard to bring the server up to the performance standards of a large FPS game, and we’re finally seeing the light at the end of the tunnel.

Today’s upgrade should mainly allow a >15x increase in upload bandwidth on our game servers. This means much less stutters, and ensures that a match starting/ending does not lag players in other matches.

Also, thank you all for the feedback on the new balance update, y’all are awesome! I will do another minor update in 1-2 days to adjust some things like 7.62x54R ammo and M1919, as well as another performance improvement. (This one also has to do with server hosting so there could be another downtime.)

Keep on mining and gunning!
Hky

TECHNICAL DETAILS – AND NEXT STEPS

As some of you may know, the game servers in GunColony are home hosted. Your connection, however, is forwarded through a dedicated server hosted on OVH. This is mainly to ensure that people can’t take down GunColony through a DDoS attack, but it has a latency penalty of about 30ms compared to running the server on the OVH machine directly (more on that later).

Today I have switched the home servers from Comcast to Verizon. This increases the upload speed from 35 Mbps (4.4 MB/s) to 880 Mbps (110 MB/s) on paper, but speed tests actually measure closer to 500Mbps. Still, this is absolutely a massive increase and means that my home servers are no longer bandwidth-bottlenecked and I can use them to their full potential.

There was previously a large bandwidth bottleneck on my hosted servers. The main issue was that when a game first starts, it took forever to send the chunks to the players that teleport into the map, while also lagging players in other games during this time. Furthermore, from my calculations, ~200 players is enough to saturate 35 Mbps of bandwidth constantly, so it’d be impossible to host more than a few games and expect them to not lag. However, to saturate the new 880Mbps of bandwidth would require 5000 players – probably more than the total number of players in every Minecraft gun server combined – so it’s safe to say that bandwidth is no longer an issue after the upgrade.

The next bottleneck in my current server setup is RAM. Currently, a PVP server with ~10 people in them use roughly half of a Zen 2 thread, and 8GB of RAM. My main server machine has 32GB of RAM and a Ryzen 3700X CPU: if I hosted 4 PVP servers with 10 people each, it would use all of the RAM and only 2 of the 16 threads! However, I’ve recently figured out a JVM optimization that solves this problem admirably: by using 32-bit IBM J9 instead of 64-bit HotSpot, I was able to reduce the memory usage per server from 8GB down to roughly 2GB while preserving the smoothness of gameplay. This quadruples the amount of servers that I am able to host on the same hardware! The improvement will come in GunColony’s next minor update, set to release within this week.

In fact, the RAM improvement is so big that it will allow me to host some servers on the single OVH-hosted server as well. Previously the lobby server alone used up most of the 16GB RAM available, but now I can host multiple PVP games alongside the main lobby, directly on the OVH hardware. This doesn’t have the 30ms additional ping compared to forwarding traffic to home servers, so you’ll be able to get lower ping than before whenever you are playing PVP/Comp after the next update.

I am also planning to host a VPS or dedicated server in Europe that will serve as another access point to my home-hosted servers, effectively removing the 30ms ping penalty from home hosting for European players. (You’d still connect to the same server, just with a more direct route.) However, this does require multiple BungeeCord proxies and thus requires me to write a custom plugin that syncs up the scoreboard and total player count between them. Therefore, the idea could take a while to be implemented.

Speaking of European players, the final frontier for optimization is likely to open separate servers in Europe. This is technically challenging due to the requirement for replicating the database, and also presents an issue of splitting players and impacting matchmaking. Also, it is costly as I would have to host any EU servers on a dedicated server provider. However, it could still happen one day if GunColony grows bigger… and growing bigger is more possible than ever if performance is no longer the largest bottleneck.

Dirt Background

New Host

The server has now been transferred to a new host for better stability and lower lag.

  • The server is now hosted on OVH’s Montreal datacenter
  • This is close to the old server’s location, but the improved connection should provide around 5-10ms less ping for most players
  • The new host has DDoS protection to ensure better server uptime
  • The new host has a slightly slower CPU than the older host but we plan to get around this by setting up multiple servers for different games