I made a couple of simple applications that I’ve been using to test the latest client and server code. It’s certainly helped me find and fix a few bugs already. I feel like the code is pretty solid now. I can also use these test applications to send a bunch of “bad” data to my network drivers. You know this will happen once my servers go live again. I can verify that my algorithms, such as the “stale socket check”, are working as I intended. Time to keep plowing forward!
Finally, the new and drastically improved network server driver is working! I’m so excited! I have some quirks to work out still, but all is good. Now, I’m moving on to some encryption and hashing stuff that needs to be addressed.
Getting close to finishing up the network driver code for the servers. I’m finding that I want to re-factor a few network related things in the Orion Engine SDK. I’m finally getting close to a new public test of the game client! I’ve also been further securing the login code. I’ve added some Cryptography related classes and functions to the SDK. Been doing a lot of testing and planning lately as well. It’s all good!
I’ve been working on the network server code over the past week. It’s modular in design, meaning I can replace the existing module on all of the server applications and they will automatically use the new, optimized code. I’m implementing the “Overlapped I/O Completion Port” method. It’s a very complicated implementation! I hope I don’t need much longer to finish it. I feel in the end I’m going to have a very scalable, high-performance server library capable of handling thousands of simultaneous connections!
I finally figured out what was causing problems with my network code! Man, that makes me feel good. Wow, I’ve been tracking this issue down for months! The client networking in the game is working pretty efficiently right about now. While I was looking for the bug, I made several big performance improvements to the network driver. Now, I just need to finish the optimizations with the server code.
I’m in the mood to do some hardware upgrades this weekend. I have some extra spare parts that I’m going to shuffle around.
I’m going to increase the memory of my development box to 32GB. With all of the instances of Visual Studio that I keep open, and the long and memory hungry build process, I figured it was about due. I’m also going to upgrade the old SSD, which is not very big, to a larger one. I’ll also be adding a second SSD, which will be used to hold all of the current development files. This should provide some pretty nice performance!
I’m also going to add an SSD to both of the database servers. The old drives will become the backup drives. Note that the database is also backed up onto my offsite cloud as well. The SSD should really help the speed of these systems!
Well, I finally upgraded our source control to Team Foundation Server 2018. Not sure when, or if, I’ll upgrade to Azure DevOps Server 2019. This is a good next step at least, and it’s working pretty nicely.
The memory in the Team Foundation Server was upgraded to 12GB. That should be more than enough. The file server memory was also upgraded to 20GB. It will be able to cache a lot of files now!
There have also been a few minor updates to the entire web site. The Been There Game web site now has a page to show the current server status. Stay tuned, more to come soon!
Just upgraded the Linux web server to Fedora 30. Still can’t seem to get screen sharing working. From what I’m reading, the VNC server must still be broke or something. Oh well. Anyway, one good thing is I have my web site and it’s MySQL database backups mirroring to a cloud now. In fact, the Team Foundation Server, my file server and the game’s SQL database servers are all backing up to this cloud now! Glad it’s all working as planned.
I just realized there is a new version of Visual Studio available. I’m currently in the process of upgrading all of the Orion Engine solutions to the 2019 release. I’d like to eventually upgrade my Team Foundation Server 2017 to either the 2018 release, or perhaps make the big move over to Azure DevOps Server 2019.
Back to working on the network client code again. The network driver has been optimized, and re-designed for much better performance and scalability. The existing code was strictly for testing only. Now, I just need to wrangle the bug that is causing problems when we try to switch servers on the fly!