Open ylluminate opened 4 years ago
Thank you for the suggestion. We are actually implementing a small part of RakNet so that we can manage the packets on Minecraft: Bedrock Edition. We're focusing on making a server software for that specific game. PocketMine-MP, which is most likely the most used server software for this, uses also an implemented RakLib written in PHP. I agree with you that there are many (game) network engines which could be more useful than RakNet, but since Minecraft: Bedrock Edition uses RakNet, it is hard for us to use something else (like ENet). We could consider adding the Nakama feature-set to RakLib, which sounds also cool, but our first goal is to develop the server software until it works stable. :)
Thanks for clarifying. After I submitted this I realized (as I was looking around) that Mojang had originally licensed RakNet a long time ago before Oculus (by extension Facebook) acquired it, and therefore this is why RakNet is the standard for Minecraft servers. So I appreciate your clarification and discussion here!
I have to say that there is a LOT of uncertainty (and variability) surrounding (from what I'm seeing) the speed aspect of RakNet vs
I do think that adding the Nakama functionality could be quite remarkable since this would essentially be a RakNet implementation hybrid with additional API for the additional functionality.
We have an MMO game that we'd like to develop with V. We'll very likely use VSDL2 (obviously just getting underway) and V UI (forthcoming) for the universal client. As for the server and before learning about V we were seriously considering Unity + Nakama and some other glue to hold it together. V is somewhat of a "dream come true" since it will allow for a universal development and deployment codebase for all the platforms + JS and WASM. Developing the server and client in the same language is really useful and powerful.
So definitely, as you work on this, please do think about expanding into the Nakama functionality space. I believe that we'll be able to contribute to this as well as we start to work on things, but we're still a few months out with projects until we can get involved.
It appears that you're implementing RakNet here. I was curious if you had considered implementing RakNet on top of ENet (specifically this highly spoken of variety). I don't know if that would add performance and functionality or not - some people seem to think that ENet could be more performant, but I have found no conclusive evidence with tests to support this.
Furthermore, there is another project that's extremely useful and robust called Nakama that has some additional very useful features in addition to what RakNet offers. Since Nakama is written in Go, it should be a fairly straight forward conversion to V. I have heard that it's highly parallel and can support very large MMORPG connection pools.
I personally am wondering if the stack might go like this: ENet underpins RakLib which in turn underpins a V Nakama implementation OR simply the Nakama feature-set added to RakLib...
Curious about your thoughts on these points and whether or not it might be interesting to you since you have some good work and apparently some clear objectives behind your effort.