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

FakeClient

Comments in 'Tools' started by LegendsOfMCPE, Jun 2, 2014.

  1. LegendsOfMCPE
    Offline

    LegendsOfMCPE New Member Plugin Developer

    Joined:
    May 21, 2014
    Posts:
    21
    Plugins:
    3
    Hello everyone!

    Today we'd like to introduce our Android application project (in Java), called FakeClient.

    FakeClient is an application that, as its name tells, sends data to a server as an MCPE client.

    You might be thinking about this: since we already have MCPE, why do we still need this app?
    Let's think about this. In Android MCPE, it takes approximately 20 to 30 seconds for my 17-month-old Nexus 4 to log in into a server due to the time consumed for world generating. This is especially annoying for plugin developers who is writing a plugin that always crashes when the player joins. The developer may want to add debug info to the console, but he has to add different types of info and change different things over the time to fix the bug. In some large projects, a developer may need to test for tens of times, and it could probably take hours to debug without a convenient tester.

    Therefore, this app will connect to a server on button clicked. Once connection is created, after ping-ponging some login packets, the app will send a ready packet to the server which spawns the player in the server. Convenient buttons will allow you to send different types of actions, such as to hit a player, break a block, etc.

    However, to avoid this being abused in some servers, we may add some simple quiz questions about PocketMine plugins that you must answer one correctly so that you can enter the main user interface. Another possible solution to this problem is to check some information from the server such that if the server does not want to allow this "bot" (e.g. by not installing a particular plugin) the app will not connect further.

    The project repository can be found at https://github.com/LegendOfMCPE/FakeClient and issues submitting and pull requests are welcome, as long as they are not spam and do not abuse the functions.

    We still have a long way to go until this app can at least login into the server, but we feel that it is suitable for us to introduce this project first.

    Sorry if this thread is posted incorrectly. I checked all the points in the README and I don't think this thread violates any.

    This post is posted by @PEMapModder using the organization account.
  2. DA_Swagnemite
    Offline

    DA_Swagnemite Notable Member Plugin Developer

    Joined:
    Nov 17, 2013
    Posts:
    388
    Plugins:
    7
    Minecraft User:
    DA_SWAGNEMITE
    I dont know if I fully understand... Are you basically making MineChat for MCPE?
  3. Tuff
    Offline

    Tuff Active Member

    Joined:
    Jan 25, 2014
    Posts:
    203
    Minecraft User:
    Roboroug2
    This would help me a ton, I hate it when I have to relog onto my server to test a function and wait for a min. for it to let me join. Thanks for making this.:D
    64FF00, PEMapModder and Comedyman937 like this.
  4. Dinokiller
    Offline

    Dinokiller Notable Member

    Joined:
    Sep 22, 2013
    Posts:
    376
    Minecraft User:
    Dinokiller_
    I've a really fast connection so I don't need this. Only takes 3 - 10 seconds (depends on how the internet feels) to load a world from a server. :p
    PEMapModder likes this.
  5. DA_Swagnemite
    Offline

    DA_Swagnemite Notable Member Plugin Developer

    Joined:
    Nov 17, 2013
    Posts:
    388
    Plugins:
    7
    Minecraft User:
    DA_SWAGNEMITE
    I have Time Warner Cables 50mb/sec internet plan and it still takes me up to a minute to join a server regardless of how many other people are connected to the internet at the same time yet I can play Battlefield 3 on Xbox LIVE while in a party with a ton of friends, and everyone in my house using the internet while im playing a game with absolutly no lag. I can even download an entire game in 15 mins or less (usually 6.6-8.2GB or in GTA Vs case a whole 15GB for an Xbox 360 game) straight to my console... Ive never understood how that kind of thing could happen since Xbox LIVE uses a lot of resources by itelf but it doesnt seem like Minecraft PE would need to use enough to make it take forever...
    Last edited: Jun 2, 2014
    TheRealJ2KK2J, LDX and Asam Munye like this.
  6. Dinokiller
    Offline

    Dinokiller Notable Member

    Joined:
    Sep 22, 2013
    Posts:
    376
    Minecraft User:
    Dinokiller_
    Battlefield 3 has pre-made maps stored on the disk. The server can just tell the client to pick out a certain map. Minecraft PE maps aren't pre-made, so the server has to send the entire map's data.
  7. Darunia18
    Offline

    Darunia18 Staff Member Sectional Moderator

    Joined:
    Aug 23, 2013
    Posts:
    755
    Plugins:
    2
    Minecraft User:
    Darunia18
    This is cool. An idea to prevent trolling/spamming on peoples' servers is maybe only allowing the fake client to connect to a local server.
  8. DA_Swagnemite
    Offline

    DA_Swagnemite Notable Member Plugin Developer

    Joined:
    Nov 17, 2013
    Posts:
    388
    Plugins:
    7
    Minecraft User:
    DA_SWAGNEMITE
    Yes but it uses a lot of resources due to the servers being required to update rigibodies (I probably spelled that wrong :p) after each explosion, show each player who is where, figure out where the bullet clones are and what they have hit, atc. (Ive made a simple FPS video game before, its easy to do but gets complicated client side)
  9. Hexxah24
    Offline

    Hexxah24 New Member

    Joined:
    Nov 20, 2013
    Posts:
    4
    Minecraft User:
    Hexxah24
    I need help installing. Packed it into a apk, always get the parsing error.
  10. DA_Swagnemite
    Offline

    DA_Swagnemite Notable Member Plugin Developer

    Joined:
    Nov 17, 2013
    Posts:
    388
    Plugins:
    7
    Minecraft User:
    DA_SWAGNEMITE
    I think thats because its still being developed...
  11. Hexxah24
    Offline

    Hexxah24 New Member

    Joined:
    Nov 20, 2013
    Posts:
    4
    Minecraft User:
    Hexxah24
    I have developed Android apps before and they can be packed and installed while in development.
  12. Dinokiller
    Offline

    Dinokiller Notable Member

    Joined:
    Sep 22, 2013
    Posts:
    376
    Minecraft User:
    Dinokiller_
    Sometimes they can, but not if they're really early into development.
    Last edited: Jun 3, 2014
  13. PEMapModder
    Offline

    PEMapModder Notable Member Plugin Developer

    Joined:
    Oct 9, 2013
    Posts:
    7,306
    Plugins:
    11
    Minecraft User:
    PEMapModder
    It is not the problem of the internet, those 20 seconds. In Android, probably a bug, every time we login, it is the same speed as generating a new world. Especially how long the "Saving chunks" screen is. I "sniffed" the packet by echoing the packets' IO on console and I discovered that during the building terrain screen and saving chunks screen, except for some random SetTimePacket etc., the packets are all ping packets, which means it is nothing about slow connection that it loads slowly.
    @Dinokiller you are on iOS? I thought you were on Android. (In fact I just don't know :p )
    iJoshuaHD likes this.
  14. PEMapModder
    Offline

    PEMapModder Notable Member Plugin Developer

    Joined:
    Oct 9, 2013
    Posts:
    7,306
    Plugins:
    11
    Minecraft User:
    PEMapModder
    No. In simple words, this is a "bot" client for MCPE. (You know what bots are in the IRC chat)
    iJoshuaHD and Comedyman937 like this.
  15. PEMapModder
    Offline

    PEMapModder Notable Member Plugin Developer

    Joined:
    Oct 9, 2013
    Posts:
    7,306
    Plugins:
    11
    Minecraft User:
    PEMapModder
    Time was consumed for generating chunks.
    Comedyman937 likes this.
  16. iJoshuaHD
    Offline

    iJoshuaHD Notable Member Plugin Developer

    Joined:
    Nov 7, 2013
    Posts:
    1,196
    Plugins:
    4
    Minecraft User:
    iJoshuaHD
    the loading chunks is not the problem, its the progress screen you see before you could play. it takes ages to load on some devices that has low specs.

    (in my case, joining to a server is not a problem since i can join a server within 2-4 seconds in progress screen, the progress bar thingy that is loading screen if you call it)
  17. PEMapModder
    Offline

    PEMapModder Notable Member Plugin Developer

    Joined:
    Oct 9, 2013
    Posts:
    7,306
    Plugins:
    11
    Minecraft User:
    PEMapModder
    Loading chunks means the progress screen :)
    I mean from the player receives an OPEN_CONNECTION_REPLY_2 packet to the player send a LoginReadyPacket it is the progress screen, and instead of the normal load single player world, on android the speed of entering a server is same as that generating a new world. My guess is the client, regardless of the server ID and seed, generated one anyways.
  18. iJoshuaHD
    Offline

    iJoshuaHD Notable Member Plugin Developer

    Joined:
    Nov 7, 2013
    Posts:
    1,196
    Plugins:
    4
    Minecraft User:
    iJoshuaHD
    well it loads fast to me anyways even the chunk loading updating in-game (even i have crappy internet xD). its each devices fault for having a bad specs on it. and thats why this project is great since you dont have to worry anymore about these types of inconvenience anymore :D
  19. PEMapModder
    Offline

    PEMapModder Notable Member Plugin Developer

    Joined:
    Oct 9, 2013
    Posts:
    7,306
    Plugins:
    11
    Minecraft User:
    PEMapModder
    I am talking about the progress screen not chunk loading...
  20. Dinokiller
    Offline

    Dinokiller Notable Member

    Joined:
    Sep 22, 2013
    Posts:
    376
    Minecraft User:
    Dinokiller_
    As a matter of fact I'm running Android on a Nexus 7. I think it's 2013 model, might be 2012 though.
    PEMapModder likes this.

Share This Page

Advertisement