Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package varekd.packethandler;
- import varekd.util.RSA;
- import org.apache.mina.common.IoSession;
- import varekd.Server;
- import varekd.model.Player;
- import varekd.model.World;
- import varekd.net.Packet;
- public class PlayerLogin extends GameEnginePacketHandler {
- public void handlePacket(Packet p, final IoSession session) {
- try {
- Player player = (Player)session.getAttachment();
- if(session.getAttribute("sessionKey") == null)
- return;
- byte[] data = RSA.decrypt(p.getData());
- Packet p1 = new Packet(session, 0, data);
- boolean reconnecting = p1.readByte() == 1;
- int clientVersion = p1.readInt();
- String username = p1.readString(20).trim();
- String password = p1.readString(20).trim();
- player.setCredentials(username, password, reconnecting);
- byte loginCode = (byte)-1;
- if(clientVersion != Server.getServer().getConf().getInt("server.version")) {
- //Logger.log(clientVersion);
- loginCode = 0x5;
- }
- player.setResponseCode(loginCode);
- World.getWorld().getPlayerLoadQueue().addLoad(player);
- } catch(Exception e) {
- e.printStackTrace();
- }
- }
- private byte[] getBytes(int i) {
- byte[] buf = new byte[4];
- byte off=0, decr=24;
- for(; off<buf.length; ) {
- buf[off++] = (byte)(i >> decr);
- decr -= 8;
- }
- return buf;
- }
- private byte[] getBytes(long l) {
- byte[] buf = new byte[8];
- byte off=0, decr=56;
- for(; off<buf.length; ) {
- buf[off++] = (byte)(l >> decr);
- decr -= 8;
- }
- return buf;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement