We have introduced ZonePlus in our latest update with 4 zones being used in different places, and it has been a disaster in production. Servers are running slow time to time, and making the game completely unplayable in some circumstances.
Sometimes, external actions can take up to 2 minutes to actually process. For example, a member of our moderation team used the :fly
command on Adonis, which took a very very long time until it actually worked. Theres also recordings of vehicles in our game Car Parking Level 7 going into each other, flinging them out of areas etcetera.
Looking at the creator dashboard experience performance showed that RunService.Heartbeat
is taking a extremely long time to process (up to 670ms
!)
Image of Car Parking Level 7 Server CPU Time
We do not use RunService.Heartbeat
in any of our scripts. While we may use RunService.Heartbeat:Wait()
or anything else, nothing else directly connects to it except ZonePlus.
The drops to 3ms
is the attempt to find the cause of these spikes, restarting servers constantly with new and more patches, with no success. We have only gotten as far to disabling a script that also uses ZonePlus but does not affect player experience which seemed to of improved the stability of our servers.
As shown below, the previous server framerate was usually around 40-58 FPS
, however now sits around 6-36 FPS
.
I hope this message reaches to Ben or anyone else who can look into this and fix this as soon as possible. We have since rescripted affected services to no longer us ZonePlus for the time being.
This sadly does not seem to be the case seeing how it cannot even handle 4 zones within our game.
I have taken some time to post this message to make sure that it is ACTUALLY ZonePlus causing the server performance downfall. These are the results after removing ZonePlus entirely: