key1=311f80691451c71d09a13a2a6e key0=72c5583cafb6818995cdd74b80
05:36:47 Mapping: ACCEPTTRADE -> 45 05:36:47 Mapping: ACCOUNTLIST -> 1 05:36:47 Mapping: ALLYSHOOT -> 97 05:36:47 Mapping: AOEACK -> 69 05:36:47 Mapping: AOE -> 33 05:36:47 Mapping: BUY -> 60 05:36:47 Mapping: BUYRESULT -> 4 05:36:47 Mapping: CANCELTRADE -> 78 05:36:47 Mapping: CHANGEGUILDRANK -> 31 05:36:47 Mapping: CHANGETRADE -> 76 05:36:47 Mapping: CHECKCREDITS -> 6 05:36:47 Mapping: CHOOSENAME -> 44 05:36:47 Mapping: CLIENTSTAT -> 91 05:36:47 Mapping: CREATE_SUCCESS -> 27 05:36:47 Mapping: CREATEGUILD -> 80 05:36:47 Mapping: CREATEGUILDRESULT -> 13 05:36:47 Mapping: CREATE -> 35 05:36:47 Mapping: DAMAGE -> 59 05:36:47 Mapping: DEATH -> 62 05:36:47 Mapping: EDITACCOUNTLIST -> 18 05:36:47 Mapping: ENEMYHIT -> 22 05:36:47 Mapping: ESCAPE -> 65 05:36:47 Mapping: FAILURE -> 0 05:36:47 Mapping: FILE -> 68 05:36:47 Mapping: GLOBAL_NOTIFICATION -> 30 05:36:47 Mapping: GOTOACK -> 47 05:36:47 Mapping: GOTO -> 51 05:36:47 Mapping: GROUNDDAMAGE -> 75 05:36:47 Mapping: GUILDINVITE -> 66 05:36:47 Mapping: GUILDREMOVE -> 3 05:36:47 Mapping: HELLO -> 53 05:36:47 Mapping: INVDROP -> 5 05:36:47 Mapping: INVITEDTOGUILD -> 55 05:36:47 Mapping: INVRESULT -> 25 05:36:47 Mapping: INVSWAP -> 37 05:36:47 Mapping: JOINGUILD -> 98 05:36:47 Mapping: LOAD -> 58 05:36:47 Mapping: MAPINFO -> 41 05:36:47 Mapping: MOVE -> 92 05:36:47 Mapping: NAMERESULT -> 12 05:36:47 Mapping: NEW_TICK -> 56 05:36:47 Mapping: NOTIFICATION -> 40 05:36:47 Mapping: OTHERHIT -> 26 05:36:47 Mapping: PIC -> 87 05:36:47 Mapping: PING -> 74 05:36:47 Mapping: PLAYERHIT -> 20 05:36:47 Mapping: PLAYERSHOOT -> 84 05:36:47 Mapping: PLAYERTEXT -> 42 05:36:47 Mapping: PLAYSOUND -> 7 05:36:47 Mapping: PONG -> 95 05:36:47 Mapping: QUESTOBJID -> 14 05:36:47 Mapping: RECONNECT -> 36 05:36:47 Mapping: REQUESTTRADE -> 28 05:36:47 Mapping: RESKIN -> 85 05:36:47 Mapping: SETCONDITION -> 96 05:36:47 Mapping: SHOOT2 -> 79 05:36:47 Mapping: SHOOTACK -> 57 05:36:47 Mapping: SHOOT -> 90 05:36:47 Mapping: SHOW_EFFECT -> 21 05:36:47 Mapping: SQUAREHIT -> 77 05:36:47 Mapping: TELEPORT -> 11 05:36:47 Mapping: TEXT -> 89 05:36:47 Mapping: TRADEACCEPTED -> 49 05:36:47 Mapping: TRADECHANGED -> 94 05:36:47 Mapping: TRADEDONE -> 34 05:36:47 Mapping: TRADEREQUESTED -> 88 05:36:47 Mapping: TRADESTART -> 52 05:36:47 Mapping: UPDATEACK -> 93 05:36:47 Mapping: UPDATE -> 83 05:36:47 Mapping: USEITEM -> 10 05:36:47 Mapping: USEPORTAL -> 16 05:36:47 Not mapped: _-0Z0 -> 19 05:36:47 Not mapped: _-01K -> 82 05:36:47 Not mapped: _-EK -> 8 05:36:47 Not mapped: _-SA -> 17 05:36:47 Not mapped: _-1HD -> 24 05:36:47 Not mapped: _-1UV -> 48 05:36:47 Not mapped: _-16N -> 86 05:36:47 Not mapped: _-0LF -> 46 05:36:47 Not mapped: _-YR -> 38 05:36:47 Not mapped: _-0VN -> 50 05:36:47 Not mapped: _-0OA -> 39 05:36:47 Not mapped: _-FC -> 9 05:36:47 Not mapped: _-R2 -> 15 05:36:47 Not mapped: _-O3 -> 61 05:36:47 Not mapped: _-XX -> 81 05:36:47 Not mapped: ENTER_ARENA -> 67 05:36:47 Not mapped: _-1IJ -> 23 05:36:47 Not mapped: _-A1 -> 63 05:36:47 Not mapped: _-HU -> 64 05:36:47 Realm Relay listener started 05:37:06 Connected Socket[addr=/127.0.0.1,port=65012,localport=2050] 05:37:06 Waiting for HELLO from client... 05:37:16 Disconnected Socket[addr=/127.0.0.1,port=65012,localport=2050]
package realmrelay.packets.client;
import java****.DataInput;
import java****.DataOutput;
import java********Exception;
import realmrelay.packets.Packet;
public class HelloPacket extends Packet {
public String buildVersion;
public int gameId;
public String guid;
public int randomInt1;
public String password;
public int randomInt2;
public String secret;
public int keyTime;
public byte[] key = new byte[0];
public byte[] obf1 = new byte[0];
public String obf2;
public String obf3;
public String obf4;
public String obf5;
public String obf6;
@override
public void parseFromInput(DataInput in) throws IOException {
this.buildVersion = in.readUTF();
this.gameId = in.readInt();
this.guid = in.readUTF();
this.randomInt1 = in.readInt();
this.password = in.readUTF();
this.randomInt2 = in.readInt();
this.secret = in.readUTF();
this.keyTime = in.readInt();
this.key = new byte[in.readShort()];
in.readFully(this.key);
this.obf1 = new byte[in.readShort()];
in.readFully(this.obf1);
this.obf2 = in.readUTF();
this.obf3 = in.readUTF();
this.obf4 = in.readUTF();
this.obf5 = in.readUTF();
this.obf6 = in.readUTF();
}
@override
public void writeToOutput(DataOutput out) throws IOException {
out.writeUTF(this.buildVersion);
out.writeInt(this.gameId);
out.writeUTF(this.guid);
out.writeInt(this.randomInt1);
out.writeUTF(this.password);
out.writeInt(this.randomInt2);
out.writeUTF(this.secret);
out.writeInt(this.keyTime);
out.writeShort(this.key.length);
out.write(this.key);
out.writeShort(this.obf1.length);
out.write(this.obf1);
out.writeUTF(this.obf2);
out.writeUTF(this.obf3);
out.writeUTF(this.obf4);
out.writeUTF(this.obf5);
out.writeUTF(this.obf6);
}
}

).00:22:10 Connected Socket[addr=/127.0.0.1,port=55964,localport=2050] 00:22:10 Waiting for HELLO from client... 00:22:20 Disconnected Socket[addr=/127.0.0.1,port=55964,localport=2050]
package realmrelay.packets.client;
import java****.DataInput;
import java****.DataOutput;
import java********Exception;
import realmrelay.packets.Packet;
public class HelloPacket extends Packet {
public String buildVersion;
public int gameId;
public String guid;
public int randomInt1;
public String password;
public int randomInt2;
public String secret;
public int keyTime;
public byte[] key = new byte[0];
public byte[] obf1 = new byte[0];
public String obf2;
public String obf3;
public String obf4;
public String obf5;
public String obf6;
@override
public void parseFromInput(DataInput in) throws IOException {
this.buildVersion = in.readUTF();
this.gameId = in.readInt();
this.guid = in.readUTF();
this.randomInt1 = in.readInt();
this.password = in.readUTF();
this.randomInt2 = in.readInt();
this.secret = in.readUTF();
this.keyTime = in.readInt();
this.key = new byte[in.readShort()];
in.readFully(this.key);
this.obf1 = new byte[in.readShort()];
in.readFully(this.obf1);
this.obf2 = in.readUTF();
this.obf3 = in.readUTF();
this.obf4 = in.readUTF();
this.obf5 = in.readUTF();
this.obf6 = in.readUTF();
}
@override
public void writeToOutput(DataOutput out) throws IOException {
out.writeUTF(this.buildVersion);
out.writeInt(this.gameId);
out.writeUTF(this.guid);
out.writeInt(this.randomInt1);
out.writeUTF(this.password);
out.writeInt(this.randomInt2);
out.writeUTF(this.secret);
out.writeInt(this.keyTime);
out.writeShort(this.key.length);
out.write(this.key);
out.writeShort(this.obf1.length);
out.write(this.obf1);
out.writeUTF(this.obf2);
out.writeUTF(this.obf3);
out.writeUTF(this.obf4);
out.writeUTF(this.obf5);
out.writeUTF(this.obf6);
}
}
CREATE_SUCCESS byte length is 8 after parsing, but was 400 before parsing. Try updating your packets.xml
package realmrelay.packets.client;
import java****.DataInput;
import java****.DataOutput;
import java********Exception;
import realmrelay.packets.Packet;
public class HelloPacket extends Packet {
public String buildVersion;
public int gameId;
public String guid;
public int randomInt1;
public String password;
public int randomInt2;
public String secret;
public int keyTime;
public byte[] key = new byte[0];
public String obf1;
public String obf2;
public String obf3;
public String obf4;
public String obf5;
public String obf6;
@override
public void parseFromInput(DataInput in) throws IOException {
this.buildVersion = in.readUTF();
this.gameId = in.readInt();
this.guid = in.readUTF();
this.randomInt1 = in.readInt();
this.password = in.readUTF();
this.randomInt2 = in.readInt();
this.secret = in.readUTF();
this.keyTime = in.readInt();
this.key = new byte[in.readShort()];
in.readFully(this.key);
this.obf1 = in.readUTF();
this.obf2 = in.readUTF();
this.obf3 = in.readUTF();
this.obf4 = in.readUTF();
this.obf5 = in.readUTF();
this.obf6 = in.readUTF();
}
@override
public void writeToOutput(DataOutput out) throws IOException {
out.writeUTF(this.buildVersion);
out.writeInt(this.gameId);
out.writeUTF(this.guid);
out.writeUTF(this.password);
out.writeUTF(this.secret);
out.writeInt(this.keyTime);
out.writeShort(this.key.length);
out.write(this.key);
out.writeUTF(this.obf1);
out.writeUTF(this.obf2);
out.writeUTF(this.obf3);
out.writeUTF(this.obf4);
out.writeUTF(this.obf5);
out.writeUTF(this.obf6);
}
}