Advertisement
Guest User

Untitled

a guest
Aug 10th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. package org.darkquest.gs.phandler.client;
  2.  
  3. import java.net.InetSocketAddress;
  4.  
  5. import org.apache.mina.common.IoSession;
  6. import org.darkquest.config.Config;
  7. import org.darkquest.gs.builders.RSCPacketBuilder;
  8. import org.darkquest.gs.connection.Packet;
  9. import org.darkquest.gs.model.Player;
  10. import org.darkquest.gs.model.World;
  11. import org.darkquest.gs.phandler.PacketHandler;
  12. import org.darkquest.gs.tools.DataConversions;
  13. import org.darkquest.gs.util.RSA;
  14.  
  15.  
  16.  
  17. public class PlayerRegister implements PacketHandler {
  18.  
  19. public static final World world = World.getWorld();
  20.  
  21. //Checks the db, incase the username is already in use.
  22. public boolean usernameTaken(String user) {
  23. long userHash = DataConversions.usernameToHash(user);
  24. int numRows = world.getDB().getRows("SELECT * FROM rsca2_players WHERE user='" + userHash + "'");
  25. if(numRows > 0) {
  26. return true;
  27. }
  28. return false;
  29. }
  30.  
  31. public void handlePacket(Packet p, IoSession session) throws Exception {
  32.  
  33. Player player = (Player) session.getAttachment();
  34. final String ip = ((InetSocketAddress) session.getRemoteAddress()).getAddress().toString().replaceAll("/", "");
  35.  
  36. byte registerCode = 3;
  37. try {
  38.  
  39.  
  40. String username = DataConversions.hashToUsername(p.readLong());
  41. String password = p.readString();
  42. String email = p.readString();
  43. int newsletter = p.readInt();
  44.  
  45. System.out.println("Attemping to register "+username+"...");
  46. if (world.countPlayers() >= Config.MAX_PLAYERS) {
  47. registerCode = 0;
  48. } else if(usernameTaken(username)) {
  49. registerCode = 1;
  50. } else if(!usernameTaken(username)) {
  51. world.getDB().updateQuery("INSERT INTO `rsca2_players`(`user`, `username`, `email`, `owner`, `pass`, `newsletter`) VALUES('"+DataConversions.usernameToHash(username.toLowerCase())+"','"+username.toLowerCase()+"', '"+email+"', '20','"+DataConversions.sha1(password)+"', '"+newsletter+"')");
  52. registerCode = 2;
  53. }
  54. } catch (Exception e) {
  55. System.err.println("Register exception with: " + ip);
  56. e.printStackTrace();
  57. registerCode = 3;
  58. }
  59.  
  60. RSCPacketBuilder pb = new RSCPacketBuilder();
  61. pb.setBare(true);
  62. pb.addByte((byte) registerCode);
  63. session.write(pb.toPacket());
  64. player.destroy(true);
  65. }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement