Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.darkquest.gs.phandler.client;
- import java.net.InetSocketAddress;
- import org.apache.mina.common.IoSession;
- import org.darkquest.config.Config;
- import org.darkquest.gs.builders.RSCPacketBuilder;
- import org.darkquest.gs.connection.Packet;
- import org.darkquest.gs.model.Player;
- import org.darkquest.gs.model.World;
- import org.darkquest.gs.phandler.PacketHandler;
- import org.darkquest.gs.tools.DataConversions;
- import org.darkquest.gs.util.RSA;
- public class PlayerRegister implements PacketHandler {
- public static final World world = World.getWorld();
- //Checks the db, incase the username is already in use.
- public boolean usernameTaken(String user) {
- long userHash = DataConversions.usernameToHash(user);
- int numRows = world.getDB().getRows("SELECT * FROM rsca2_players WHERE user='" + userHash + "'");
- if(numRows > 0) {
- return true;
- }
- return false;
- }
- public void handlePacket(Packet p, IoSession session) throws Exception {
- Player player = (Player) session.getAttachment();
- final String ip = ((InetSocketAddress) session.getRemoteAddress()).getAddress().toString().replaceAll("/", "");
- byte registerCode = 3;
- try {
- String username = DataConversions.hashToUsername(p.readLong());
- String password = p.readString();
- String email = p.readString();
- int newsletter = p.readInt();
- System.out.println("Attemping to register "+username+"...");
- if (world.countPlayers() >= Config.MAX_PLAYERS) {
- registerCode = 0;
- } else if(usernameTaken(username)) {
- registerCode = 1;
- } else if(!usernameTaken(username)) {
- 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+"')");
- registerCode = 2;
- }
- } catch (Exception e) {
- System.err.println("Register exception with: " + ip);
- e.printStackTrace();
- registerCode = 3;
- }
- RSCPacketBuilder pb = new RSCPacketBuilder();
- pb.setBare(true);
- pb.addByte((byte) registerCode);
- session.write(pb.toPacket());
- player.destroy(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement