[Aion 5.8] Create new character ERROR

Newbie Spellweaver
Joined
Apr 4, 2023
Messages
40
Reaction score
21
While trying to create the character on server 5.8 the following error is occurring (see code below). Does anyone know why this happens?

Code:
10:41:37.218 ERROR[ReadWrite-0 Dispatcher]: - Reading failed for packet [C] 0x153 CM_CREATE_CHARACTER
java.lang.IllegalArgumentException: There is no player class with id -11
        at com.aionemu.gameserver.model.PlayerClass.getPlayerClassById(PlayerClass.java:96) ~[AL-Game.jar:na]
        at com.aionemu.gameserver.network.aion.clientpackets.CM_CREATE_CHARACTER.readImpl(CM_CREATE_CHARACTER.java:115) ~[AL-Game.jar:na]
        at com.aionemu.commons.network.packet.BaseClientPacket.read(BaseClientPacket.java:98) ~[al-commons.jar:na]
        at com.aionemu.gameserver.network.aion.AionConnection.processData(AionConnection.java:297) [AL-Game.jar:na]
        at com.aionemu.commons.network.Dispatcher.parse(Dispatcher.java:245) [al-commons.jar:na]
        at com.aionemu.commons.network.Dispatcher.read(Dispatcher.java:206) [al-commons.jar:na]
        at com.aionemu.commons.network.AcceptReadWriteDispatcherImpl.dispatch(AcceptReadWriteDispatcherImpl.java:80) [al-commons.jar:na]
        at com.aionemu.commons.network.Dispatcher.run(Dispatcher.java:107) [al-commons.jar:na]
 
While trying to create the character on server 5.8 the following error is occurring (see code below). Does anyone know why this happens?

Code:
10:41:37.218 ERROR[ReadWrite-0 Dispatcher]: - Reading failed for packet [C] 0x153 CM_CREATE_CHARACTER
java.lang.IllegalArgumentException: There is no player class with id -11
        at com.aionemu.gameserver.model.PlayerClass.getPlayerClassById(PlayerClass.java:96) ~[AL-Game.jar:na]
        at com.aionemu.gameserver.network.aion.clientpackets.CM_CREATE_CHARACTER.readImpl(CM_CREATE_CHARACTER.java:115) ~[AL-Game.jar:na]
        at com.aionemu.commons.network.packet.BaseClientPacket.read(BaseClientPacket.java:98) ~[al-commons.jar:na]
        at com.aionemu.gameserver.network.aion.AionConnection.processData(AionConnection.java:297) [AL-Game.jar:na]
        at com.aionemu.commons.network.Dispatcher.parse(Dispatcher.java:245) [al-commons.jar:na]
        at com.aionemu.commons.network.Dispatcher.read(Dispatcher.java:206) [al-commons.jar:na]
        at com.aionemu.commons.network.AcceptReadWriteDispatcherImpl.dispatch(AcceptReadWriteDispatcherImpl.java:80) [al-commons.jar:na]
        at com.aionemu.commons.network.Dispatcher.run(Dispatcher.java:107) [al-commons.jar:na]
For this my Friend you need to check source
Reading failed for packet [C] 0x153 CM_CREATE_CHARACTER , PlayerClass.java position :96
maybe you missing something there
What files are you using .?
Code:
WARRIOR(0, true),
    GLADIATOR(1),
    TEMPLAR(2),
    SCOUT(3, true),
    ASSASSIN(4),
    RANGER(5),
    MAGE(6, true),
    SORCERER(7),
    SPIRIT_MASTER(8),
    PRIEST(9, true),
    CLERIC(10),
    CHANTER(11),
 
Last edited by a moderator:
Upvote 0
The problem is with CM_CREATE_CHARACTER not reading the packet data correctly.

I also have this error in the emulator I'm using and since I never intend on having more than one character logged in for testing I never bothered to fix it.

When an account is new to the server it returns this data when I create a character:

Java:
Developer //name
0 //gender 0 for male, 1 for female
0 //race 0 for elyos, 1 for asmodian
9 //class id, I created a priest

This character is created as normal, but then we want to go create another character and when pressing create, we get this error.

Java:
19:43:53.003 ERROR[ReadWrite-0 Dispatcher]: - Reading failed for packet [C] 0x175 CM_CREATE_CHARACTER
java.lang.IllegalArgumentException: There is no player class with id -32

But what I also see returned is the values it tried to use:

Java:
Ȁ //passing a name that isn't needed just yet
8 //the gender can only be 0 or 1, but it shows 8
9292484 //race can only be 0 or 1, but it shows this number.
163513056 //class id which is supposed to be a single number as a 4 byte int32

So my conclusion is that the code to process the character data received is wrong for creating subsequent characters and it's not something I can give a simple fix for just yet.
 
Upvote 0
The problem is with CM_CREATE_CHARACTER not reading the packet data correctly.

I also have this error in the emulator I'm using and since I never intend on having more than one character logged in for testing I never bothered to fix it.

When an account is new to the server it returns this data when I create a character:

Java:
Developer //name
0 //gender 0 for male, 1 for female
0 //race 0 for elyos, 1 for asmodian
9 //class id, I created a priest

This character is created as normal, but then we want to go create another character and when pressing create, we get this error.

Java:
19:43:53.003 ERROR[ReadWrite-0 Dispatcher]: - Reading failed for packet [C] 0x175 CM_CREATE_CHARACTER
java.lang.IllegalArgumentException: There is no player class with id -32

But what I also see returned is the values it tried to use:

Java:
Ȁ //passing a name that isn't needed just yet
8 //the gender can only be 0 or 1, but it shows 8
9292484 //race can only be 0 or 1, but it shows this number.
163513056 //class id which is supposed to be a single number as a 4 byte int32

So my conclusion is that the code to process the character data received is wrong for creating subsequent characters and it's not something I can give a simple fix for just yet.

I had a bit of a look at some stuff and this is what I found:

The entire CM_CREATE_CHARACTER function needs to be rewritten to support character creation better because my custom emulator works regardless of whether there is zero or one character created.

Using the Java emulator I declined the race selection screen and clicked create and it still failed with that error which tells me something is wrong with the java emulator processing that packet.

Tomorrow afternoon I might try re-write that function for my version of aion 4.5.0.31 NA and see if I can fix it. The fix will be specific to whatever version you are running, I checked some 4.7.5 source and it processes different.

Your 5.8 will also be different so sadly I can't provide a one size fits all to fix this error.
 
Upvote 0
While trying to create the character on server 5.8 the following error is occurring (see code below). Does anyone know why this happens?

Code:
10:41:37.218 ERROR[ReadWrite-0 Dispatcher]: - Reading failed for packet [C] 0x153 CM_CREATE_CHARACTER
java.lang.IllegalArgumentException: There is no player class with id -11
        at com.aionemu.gameserver.model.PlayerClass.getPlayerClassById(PlayerClass.java:96) ~[AL-Game.jar:na]
        at com.aionemu.gameserver.network.aion.clientpackets.CM_CREATE_CHARACTER.readImpl(CM_CREATE_CHARACTER.java:115) ~[AL-Game.jar:na]
        at com.aionemu.commons.network.packet.BaseClientPacket.read(BaseClientPacket.java:98) ~[al-commons.jar:na]
        at com.aionemu.gameserver.network.aion.AionConnection.processData(AionConnection.java:297) [AL-Game.jar:na]
        at com.aionemu.commons.network.Dispatcher.parse(Dispatcher.java:245) [al-commons.jar:na]
        at com.aionemu.commons.network.Dispatcher.read(Dispatcher.java:206) [al-commons.jar:na]
        at com.aionemu.commons.network.AcceptReadWriteDispatcherImpl.dispatch(AcceptReadWriteDispatcherImpl.java:80) [al-commons.jar:na]
        at com.aionemu.commons.network.Dispatcher.run(Dispatcher.java:107) [al-commons.jar:na]
managet to narrow it down to client issue with 64 bits, with 32 bit i dont get this error of there is no player with class id -xx
 
Upvote 0
Back