Advertisement
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Question How PocketMine-MP came about

Comments in 'General Discussion' started by drjack12, Jan 30, 2014.

  1. drjack12
    Offline

    drjack12 New Member

    Joined:
    Jan 30, 2014
    Posts:
    12
    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
    PEMapModder and xktiverz like this.
  2. PEMapModder
    Offline

    PEMapModder Notable Member Plugin Developer

    Joined:
    Oct 9, 2013
    Posts:
    7,306
    Plugins:
    11
    Minecraft User:
    PEMapModder
    The trouble is the mcpe src code.
  3. Glitchmaster_PE
    Offline

    Glitchmaster_PE Notable Member Plugin Developer

    Joined:
    Aug 31, 2013
    Posts:
    834
    Plugins:
    8
    Minecraft User:
    Glitchmaster_PE
    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
    PEMapModder and xktiverz like this.
  4. drjack12
    Offline

    drjack12 New Member

    Joined:
    Jan 30, 2014
    Posts:
    12
    Can anyone elaborate on any of this, where do I go from here? I am interested in learning more about this kind of work
    xktiverz likes this.
  5. 99leonchang
    Offline

    99leonchang Staff Member Sectional Moderator

    Joined:
    Aug 23, 2013
    Posts:
    165
    Plugins:
    2
    Minecraft User:
    99leonchang
    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.
    xktiverz likes this.
  6. iJoshuaHD
    Offline

    iJoshuaHD Notable Member Plugin Developer

    Joined:
    Nov 7, 2013
    Posts:
    1,196
    Plugins:
    4
    Minecraft User:
    iJoshuaHD
    its nice of mojang letting pocketmine devs to look at their client src ^_^
  7. xktiverz
    Offline

    xktiverz Active Member

    Joined:
    Dec 20, 2013
    Posts:
    61
    Minecraft User:
    64FF00
    :(

    I hate this network programming stuff
  8. wies
    Offline

    wies Notable Member

    Joined:
    Aug 23, 2013
    Posts:
    390
    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.
    Last edited: Feb 7, 2014
    Falk and iJoshuaHD like this.
  9. iJoshuaHD
    Offline

    iJoshuaHD Notable Member Plugin Developer

    Joined:
    Nov 7, 2013
    Posts:
    1,196
    Plugins:
    4
    Minecraft User:
    iJoshuaHD
    never think of that lol. i tried this method hacking in game currencies on my ipad lolz
  10. xktiverz
    Offline

    xktiverz Active Member

    Joined:
    Dec 20, 2013
    Posts:
    61
    Minecraft User:
    64FF00
    Yeah, right! I think we need to sniff those packets, too!
  11. shoghicp
    Offline

    shoghicp Staff Member PocketMine Team

    Joined:
    Aug 22, 2013
    Posts:
    433
    Plugins:
    14
    Minecraft User:
    shoghicp
    They do not

    And I wonder how you will understand the structure without decompiling. And the two-layer protocol
    hamachichi and PEMapModder like this.
  12. wies
    Offline

    wies Notable Member

    Joined:
    Aug 23, 2013
    Posts:
    390
    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.
    Last edited: Feb 5, 2014
  13. KnownUnown
    Offline

    KnownUnown Active Member Plugin Developer

    Joined:
    Aug 22, 2013
    Posts:
    65
    Plugins:
    1
    Minecraft User:
    KnownUnown
    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 :D
  14. shoghicp
    Offline

    shoghicp Staff Member PocketMine Team

    Joined:
    Aug 22, 2013
    Posts:
    433
    Plugins:
    14
    Minecraft User:
    shoghicp
    Now you can use PocketBurger and PocketMine-MP itself as your documentation :D
  15. xktiverz
    Offline

    xktiverz Active Member

    Joined:
    Dec 20, 2013
    Posts:
    61
    Minecraft User:
    64FF00
    And that's why you are an awesome dev, @shoghicp! (Also the PocketMine Team) (BTW, I'M AT SCHOOL :() (AS U KNOW, I'M JUST A USELESS PROGRAMMER)
    Last edited: Feb 6, 2014
  16. drjack12
    Offline

    drjack12 New Member

    Joined:
    Jan 30, 2014
    Posts:
    12
    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
  17. KnownUnown
    Offline

    KnownUnown Active Member Plugin Developer

    Joined:
    Aug 22, 2013
    Posts:
    65
    Plugins:
    1
    Minecraft User:
    KnownUnown
    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.
  18. LDX
    Offline

    LDX Notable Member Plugin Developer

    Joined:
    Oct 2, 2013
    Posts:
    1,429
    Plugins:
    14
    They let us look at the src??
  19. LDX
    Offline

    LDX Notable Member Plugin Developer

    Joined:
    Oct 2, 2013
    Posts:
    1,429
    Plugins:
    14
    And then I saw this.
    gilbert_at likes this.
  20. shoghicp
    Offline

    shoghicp Staff Member PocketMine Team

    Joined:
    Aug 22, 2013
    Posts:
    433
    Plugins:
    14
    Minecraft User:
    shoghicp
    the only thing available is a tool that I made called PocketBurger, extracts protocol info from the binary. Helps a lot!
    jython234, PEMapModder and xktiverz like this.

Share This Page

Advertisement