-
Finally, encrypted communications!
Phew, it’s been quite a week trying to get server/client communications working. I now have a much better understanding of FlatBuffers. An added bonus is that certain aspects of modern C++ are starting to make sense now. Before we dive into how I’m structuring my messages, let’s look at the current flow: For now I Read more
-
Switching to FlatBuffers
The past day or two I’ve been struggling to update my crypto code to use Cap’N’Proto (capnp) and I’ve decided I don’t like the API at all. You have to translate your messages using streams and writers and a bunch of other janky stuff. I need to do something a bit unique in that I Read more
-
Cap’N’Proto Serialization in C++
As I was building some game packet structs I finally came to the realization that, wait a second I don’t need to be doing this… at all. The plan all along was to serialize all the game netcode data anyways, so I might as well adopt a serialization package now? The three major contenders were: Read more
-
Groking Flecs
Now that I’ve decided to use Flecs to handle my reliability layer, it was time to wire up the server code and start getting acclimated with how flecs works. One of the things I always struggle with when starting to work with a new language or framework is figuring how to pass objects around in Read more
-
Switched to epoll, but need reliability!
When I started this project I thought I had a decent understanding of what I need (and I still kind of do). What I didn’t understand is how quickly I’d need to have certain systems implemented. Last time I posted I had authentication working, but the code wasn’t really “doing” anything. I’ve now come to Read more
-
MMORPG Server Emulators And Where To Find Them
It’s always good to see examples of MMO servers up close. Over the years I’ve tracked down quite a few emulators. While not an exact representation of what a production MMORPG server looks like, you can get a very good sense of the design patterns just by reviewing the reverse engineered packets and opcodes. This Read more