Windows 10 Edition vs Cuberite
#1
Hmmm. Will m$'s new C++ version of Minecraft cause any rumblings with Cuberite?

Probably not if the m$ version is only PE. You guys started something here by porting to C++.
Reply
Thanks given by:
#2
It depends, the programming language of the server compared to the client is pretty unrelated, the trick is following the MCPE protocol. Cuberite would have to replicate this: http://wiki.vg/Pocket_Minecraft_Protocol in order for MCPE compatibility to work. According to this wiki, an entire new protocol class would have to be written and would need to handle interactions with "PC version" clients. It's a bit of an undertaking, but due to the modularity of Cuberite's protocol management in the past, it seems feasible. Way back when, Cuberite supported any Minecraft version from 1.2 to 1.7 at the same time.
Reply
Thanks given by:
#3
Could we perhaps implement the protocol using a plugin? Is that even possible with the current API?
Reply
Thanks given by:
#4
No, a plugin cannot supply a protocol, simply because it cannot create a new cClientHandle. Also the protocol parsing and serializing would most likely be way too slow. It'd be much easier and better to include the support into the main server.
Reply
Thanks given by:
#5
I had controling everything, from creating it's own Player class to handling the protocol in mind, but if parsing the protocol would be too slow, that's out of the question.
Reply
Thanks given by:
#6
Might as well create a new class for it. It would end up being less bloated and more manageable without extending the current API with stuff that it doesn't need.
Reply
Thanks given by:
#7
no, no, no, bad idea.
Reply
Thanks given by:
#8
I personally don't see why a custom protocol requires the ability to create new cClientHandle objects. Can't you just create a new cProtocol descendent?
Reply
Thanks given by:
#9
Oh, I was thinking along the lines that the plugin would handle all aspects of the protocol "manually" - if there is a "move 1 block" packet, then it would move the cPlayer by one block.
Implementing a cProtocol descendant in Lua would be easier, but still problematic due to plugin unloading; also the cProtocolRecognizer would need to be made aware of how to select this new protocol.
Reply
Thanks given by:




Users browsing this thread: 1 Guest(s)