Hi All, I am a quite new at application development and from the little programming skills that I have picked up PocketMine-MP is a fantastic but complex bit of software (for me at least) I have learned the basics of PHP however My question is how would I get started building a similar project for either another game or application I have struggled to find any kind of resources that will assist me in learning the skills needed to understand the communication between a client and server Various websites have suggested looking at the packets of data going to and from the server or decompiling the client which is a little out of my league without a better understanding of what I am trying to do. Would anyone be able to share some of the techniques that were used with this PocketMine? or be able to share some links to help me get me started
It is all about packets, they are sent and retrieved and then there is also a lot of sockets and stuff like that. Not easy
Can anyone elaborate on any of this, where do I go from here? I am interested in learning more about this kind of work
Firstly, you'll definitely need to decompile the client and look at what packets are sent and received and what they do. Then, after you have sufficient knowledge, can you start thinking about making a server software.
You don't need to decompile it, you can sniff the packets of your phone when you play on a local wifi network. The best way to do so is with wireshark, it's a powerfull tool that captures all the in/out-going packets. First you take a look at what happens when you join a game and try to make a program that sends the same packets to the client. After you made a program that does this, you can move on to the other packets, for example when someone touches a block.
They do not And I wonder how you will understand the structure without decompiling. And the two-layer protocol
I don't say it's the easiest method, but it's possible. I didn't told this to say how you made pocketmine, but for his question of how you could make a server host program for any game.
It's easier when others have laid the path and documentation before you, the way @shoghicp did it was hard, he had to reverse-engineer it himself, figure it out, then code the server
I believe most of the code to mcpe is written as a c++ library is there a reliable way to convert it back to a higher level language without needing to learn assembly
If there was a reliable way to convert assembly back to C++, @shoghicp would've gotten this server software up and running in no time.
the only thing available is a tool that I made called PocketBurger, extracts protocol info from the binary. Helps a lot!
I I guess that would work for MCPE however what can I use to perhaps one day start a similar project for another game or application. IDA pro is good for converting code back to a low level format however is there anything else I should study up on. Did you use specific tools to step through live code etc or use particular books or sites to get you started
Hay um,shophicp, can you teach me how to make plugins? If you can then that will help a lot. Also, im trying to port forward my pocketmine Zerver but it won't work. And last, can you be um, my master?