I haven't posted any updates in awhile now, so figured.. I'd throw a bit of information in even though I do not have that much to show.
I've spent a lot of time stress-testing Zenyte, I wanted to check the stability of our server to see how well we've actually written our source. Had a few problems which was to expect which I've now patched up properly. I also improved the server's memory usage and a few other aspects of it, some statistics can be found below.
- Drastically lowered memory consumption in the server; This was necessary because I plan on loading the game map on server launch once Zenyte is launched. The game now consumes precisely 450MB when fully loaded up. This includes all external files and definitions, as well as clip data & every single game object (A total of 2.47 million objects). All regions are loaded up.
- Improved the quality of our cycle time by roughly three times; the improvements were actually very simplistic and very little code had to be modified, as expected. On my personal computer, the server could hold a thousand bots that were flooding the server by roughly 6 packets per second each, and server sending much more packets back to the client as well. 3 of the roughly 6 packets being sent from the "client" to the server were walking packets. The server held up at a thousand bots on my PC, however it was quite on the edge which is understandable. I could hardly even touch my PC while this was going on; The PC had multiple things running while this was going on, including the flooder, the server as well as one client; my PC isn't the best as you might imagine. Considering the collected data, I can safely guarantee the server will have no problems whatsoever processing any amount of players you throw at its way when it's on a dedicated server.
PS: Shoutout to Cjay0091 for additional help with the cycle time improvements.- Improved the start-up time of the server by a lot while doing the improvements in memory. On Tom's PC, the before-and-after start-up times of the server were roughly ~1600 ms & ~900ms. On mine it is generally around 700ms, and on Noele's approximately 500-600ms.
Besides the stress-testing, I've been spending my time doing a lot of misc things.
- Finished all the special attacks, excluding the Rod of Ivandis due to its odd nature. I couldn't be bothered to write the entire vampyre-handling code so I skipped that one entirely. However the rest, including oddities such as the brine sabre - which has a special that can only be used underwater - are all written and functional, this includes the proper animations and graphics.
- Implemented a lot of different combat-boosting items, such as black mask, slayer mask, salve amulets and loads more. The idea is to finish player-sided combat entirely before moving on to new grounds.
- Implemented a bunch of new set-effects, such as different barrows set effects.
- Proper poisoning & venoming has been implemented - such as blowpipe plus serpentine helm = 100% venom, and all the other combinations.
- Continued implementing items with charges, such as the tome of fire, tridents and others. While doing so, I go over all the options the items have and thoroughly test every possibility to ensure I am not missing anything and causing potential bugs.
- Rewrote our NPC handling to an abstract system. For some reason I had previous missed it, probably because we currently only have a handful of NPC interactions.
- Slapped the newest OSRS cache into Zenyte and voila - we now have all the new shiz. (Yes 317 people - it is that easy. You literally take the cache and replace it. There is nothing else you need to do. That's how easy the OSRS life is)
- With the new cache, I decided to upgrade our ways of loading XTEAs and dealing with them. I've created myself a little script that will combine my existing XTEAs with the available XTEAs from RuneLite and spit out a perfect list of only valid XTEAs. The reason why I cannot just use RuneLite only is because some of the XTEAs they have are invalid, so this effectively creates the perfect list. In the future, all I have to do is click launch on a specific class and it'll all be updated within the blink of an eye
- Implemented the new surge spells, patched up the old ones (Apparently OSRS placed the new spells in the middle of the spellbook so a lot of spells had their id shifted completely). Looked over the new areas as well - This new quest is absolutely massive. OSRS has created loads of new areas with this quest, and lucky for me, I have them all including the necessary XTEAs.
Spoiler for A few pieces of media: