So, working with Phoenix hasnít been easy. I do my best to prevent a wipe from happening, but when youíre redoing a core system, implementing it with an already running server gets trickier then youíd expect (or well, I had expected anyway). Iím hosting one of the main servers and I have access to the other, so downloading a copy of the entire server to see what happens when I update it is an easy task. Itís the unexplainable behavior that happens afterwards that gets frustrating.
Iíve had players being reverted to their previous positions each time a player logged in, along with a full rollback of their stats and inventory. Iíve seen servers run fine for hours only to crash on the second day for no apparent reason. And of course, thereís the unmistakable Ďerasing of itemsí that will ALWAYS happen.
I think I prefer actual error messages to a DreamDaemon that freezes up. Iím sure the ability to output a profile to a file without having to refresh the thing would be a great boon.
There have been a few (loudmouthed) players that have not shied away from letting me know that they consider me to screw shit up. Iíll admit Iíve broken things that have worked fine in the past, itís a flaw of mine. Once I get the ball rolling and things run smooth, I start checking less and less if everything is in place.
On the Brightside, there have been plenty of players willing to assist me with finding the flaws in my latest update, along with reporting old bugs that needed fixing. Theyíve all been very helpful, be it by testing specific systems, or Ďblowing shit upí soon as I gave them the ability to teleport and create and edit objects at will. (Nukes with explosion radiuses in the millions anyone?) Itís shown me the things that need to be accounted for, the behavior of players and admins alike have given many insights to design flaws.
All the hard work has paid off however and Iím proud of the latest release. Update 14 has had a great deal of remodeling Ďunder the hoodí. Perhaps to most of the players not much has changed (THERE ARE NO NEW SKILLS?! WUT IS DIS?!) but I know that some are aware of the effects of these changes. Having gutted strange loops and implementing Stephen001ís EventModule even further, a main server was able to hit a playerbase of 110 with (only) 60% CPU usage and no lag.
Itís still a lot, I wish it was less and I certainly intend to tweak it a bit more, but it looks like actually pressing that CPU usage down to below 30% with the same amount of players will not be possible. (And if it is, then it requires more work then Iím willing to put into it at the moment)
But as all good news related to Phoenix, it goes accompanied with some bad news. In this case Ďlag spikesí and the most recent one, DreamDaemon using 99.9% CPU and freezing up.
(Again, outputting a profile to a file would be most helpful in this case)
The thing that really frustrates me is that Iím unable to discover a pattern or a way to trigger the cause.
But perhaps a break from programming is in order. If I canít enjoy the game, then why am I working on it?!
Edit: Learned something new. (Though in hindsight, it seems like something that would've fallen under 'common sense') Turns out there was a loop in one of the items that wasn't properly implemented, the thing had no delay and never ended. Guess I know what to look for if anything like this happens next time.
Copyright © 2020 BYOND Software. All rights reserved.