Advertisement
scotty92

Untitled

Oct 18th, 2017
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. package varekd.packethandler;
  2. import varekd.util.RSA;
  3. import org.apache.mina.common.IoSession;
  4. import varekd.Server;
  5. import varekd.model.Player;
  6. import varekd.model.World;
  7. import varekd.net.Packet;
  8.  
  9. public class PlayerLogin extends GameEnginePacketHandler {
  10.  
  11. public void handlePacket(Packet p, final IoSession session) {
  12. try {
  13. Player player = (Player)session.getAttachment();
  14. if(session.getAttribute("sessionKey") == null)
  15. return;
  16. byte[] data = RSA.decrypt(p.getData());
  17.  
  18. Packet p1 = new Packet(session, 0, data);
  19. boolean reconnecting = p1.readByte() == 1;
  20. int clientVersion = p1.readInt();
  21.  
  22. String username = p1.readString(20).trim();
  23. String password = p1.readString(20).trim();
  24. player.setCredentials(username, password, reconnecting);
  25.  
  26. byte loginCode = (byte)-1;
  27. if(clientVersion != Server.getServer().getConf().getInt("server.version")) {
  28. //Logger.log(clientVersion);
  29. loginCode = 0x5;
  30. }
  31. player.setResponseCode(loginCode);
  32. World.getWorld().getPlayerLoadQueue().addLoad(player);
  33. } catch(Exception e) {
  34. e.printStackTrace();
  35. }
  36. }
  37.  
  38. private byte[] getBytes(int i) {
  39. byte[] buf = new byte[4];
  40. byte off=0, decr=24;
  41. for(; off<buf.length; ) {
  42. buf[off++] = (byte)(i >> decr);
  43. decr -= 8;
  44. }
  45. return buf;
  46. }
  47.  
  48. private byte[] getBytes(long l) {
  49. byte[] buf = new byte[8];
  50. byte off=0, decr=56;
  51. for(; off<buf.length; ) {
  52. buf[off++] = (byte)(l >> decr);
  53. decr -= 8;
  54. }
  55. return buf;
  56. }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement