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
AMD-Ryzen-5-3600-X470-Tests-1

New Server Hardware

Hello all,

We have upgraded the server’s hardware during today’s maintenance.

Specs:

  • AMD Ryzen 3600 (performance equals i7 8700K)
  • 32GB DDR4 RAM
  • 500GB NVMe SSD
  • Ubuntu 18.04 LTS

The new hardware has around 50% improved CPU power and much better storage performance compared to the previous installation. We have also upgraded our networking hardware for improved stability. Expect much less lag spikes and TPS drops getting into the way of your game.

Moving the server to a new machine was a complex task. If you find any issues please report on the Forums or Discord Server, or ping a staff in-game.

 

Hotfix 9/22/2019

BALANCE CHANGES

Moving and jumping penalty has been made much more controllable since it is now less applied as spread and more applied as sway.

  • ALL WEAPONS: 85% of move penalty is now applied as sway rather than spread (up from 75%)
  • ALL WEAPONS: 65% of jump penalty is now applied as sway rather than spread (up from 50%)

All snipers have been made less controllable in hip fire and while moving. The move penalty of snipers also takes time to reset now, meaning that starting the ADS transition will not immediately set the move penalty to ADS values – this means that shooting while not fully scoped will be less accurate than before if you move.

  • ALL SNIPERS: move penalty is now 1.7x normal when sprinting like all other weapons (down from 2x)
  • Scout: hip sway 1.26 -> 1.7, move penalty reset time 0s -> 0.3s
  • SSG-08: move penalty 1.2 -> 2.4, move penalty reset time 0s -> 0.25s
  • AWM: hip sway 2.4 -> 3.6, scope in time 0.35s -> 0.4s, move penalty 2.5 -> 5.0, move penalty reset time 0s -> 0.4s
  • M24: hip sway 1.5 -> 2.2, ,move penalty 1.1 -> 2.2, move penalty reset time 0s -> 0.3s
  • CheyTac: hip sway 2.8 -> 4.2, scope in time 0.375s -> 0.425s, move penalty 1.9 -> 4.0, move penalty reset time 0s -> 0.4s
  • MSG90 A2: hip sway 1.34 -> 2.78, aim sway 0.32 -> 0.36, move penalty 1.8 -> 3.6, move penalty reset time 0s -> 0.35s
  • M40A1: hip sway 2.9 -> 4.35, move penalty 1.98 -> 3.96, move penalty reset time 0s -> 0.35s
  • K98k: hip sway 2.3 -> 3.45, move penalty 1.1 -> 2.2, move penalty reset time 0s -> 0.35s
  • NTW-20: hip sway 3.2 -> 4.7, move penalty 3.5 -> 6.1, move penalty reset time 0.2s -> 0.45s
  • M82: hip sway 3.6 -> 5, move penalty 2.6 -> 5.2, move penalty reset time 0.25s -> 0.45s
  • SVD: hip sway 1.72 -> 3.1, move penalty 0.8 -> 1.8, move penalty reset time 0s -> 0.35s
  • SCAR-20: hip sway 1.2 -> 2.3, move penalty 1.4 -> 2.8, move penalty reset time 0s -> 0.35s
  • G3SG1: hip sway 1.4 -> 2.7, move penalty 1.4 -> 2.8, move penalty reset time 0s -> 0.3s
  • SIG 550: hip sway 1.9 -> 3.6, move penalty 1.4 -> 2.6, move penalty reset time 0s -> 0.3s
  • ZH-29: hip sway 1.66 -> 3.33, move penalty 1.35 -> 2.7, move penalty reset time 0s -> 0.35s