Packets: Reading and Understanding

EQ2Emulator Development forum.

Moderator: Team Members

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Packets: Reading and Understanding

Post by John Adams » Fri Jan 30, 2009 2:53 am

Sorry, forgot to mention that this is an Item. I believe the specific data element I am trying to locate is in "Substruct_BaseItemDescription", called skill_req1 and skill_req2. The latest version for this is 860, so I am assuming this means nothing has changed in this base item description structure since data version 860.

Also, after discussing this at length with Bion in PMs, I am almost to the conclusion that FF FF FF FF is what SOE is sending, and it simply means "All/All", similar to what "0" would have been. Maybe they got a new developer on Items and he likes to do things his way (you know how those developers are...) but I'd still like 100% confirmation of this before assuming this values purpose. The server needs to know how to handle a skill ID that does not exist (yet), regardless.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Packets: Reading and Understanding

Post by John Adams » Fri Jan 30, 2009 10:55 am

Here is an example of what I was talking about with "chest/legs" data coming in as FF FF, instead of whatever it should be (making me think the structs are off). I have a few logs for Timorous Deep. Apparently, some of the mobs were collected before FF FF started becoming a standard Chest/Legs type ID... so you can see a comparison.

Exampe 1
Emulator:
EQ2_000006.jpg
Live:
EQ2_000007.jpg
Emulator:
EQ2_000009.jpg
Live:
EQ2_000008.jpg
Emulator:
EQ2_000007.jpg
Live:
EQ2_000009.jpg
Note the two distinctly different appearances, and more importantly, some of our models are not dressed the same as live (different clothing or skin patterns). I think this goes beyond colors, though getting the color right would likely mask any other inconsistencies.

Because of this, we have to log into Live and visit every duplicated NPC to find the one that matches Live the closest - huge time sink. And right now, that is none of these... so unless we find something wrong with the structures or determine that IS how SOE is sending us the data (then we're just screwed, and done with it), we're living with inaccurate models.
You do not have the required permissions to view the files attached to this post.

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: Packets: Reading and Understanding

Post by Scatman » Fri Jan 30, 2009 11:48 am

The last two images look the same to me :) Is this a green and blue mixed up type thing again you think?

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Packets: Reading and Understanding

Post by John Adams » Fri Jan 30, 2009 11:54 am

Sorry, that last pic was showing that the highlighted sarnak has a full scale thing going on his body - which is not the spawn that is in that location by that name on Live. I am assuming these guys don't change their appearances (placeholders)... though it could be cool to see a guy show up for work wearing a different outfit day to day ;)

Taking a nap. my insomnia is finally getting the best of me. 27 hours awake. Think I'm gonna die.

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: Packets: Reading and Understanding

Post by Zcoretri » Fri Jan 30, 2009 5:11 pm

For some reason, though I'm probably wrong, this packet just doesn't map out to a base item description packet.

I'm looking through the op codes in the DB for 551 (0x27, 0x02) and I don't see any that really relate to items (except maybe the OP_EqUpdatePlayerTradeCmd)

LethalEncounter
Team: Zombie
Posts: 2717
Joined: Wed Jul 25, 2007 10:10 pm

Re: Packets: Reading and Understanding

Post by LethalEncounter » Sat Jan 31, 2009 9:46 am

John Adams wrote:Ok, I have given this my best shot, and I'm still not seeing it... sorry, but I need some help.

Certain items are being set with a skill_id_req/req2 = 4294967295 (FF FF FF FF). I tried over and over to get the packet unpacked so I can see what those values really are (if the max int32 is incorrect), but I keep coming up with crap.

Here is the raw packet for one of the items.

Code: Select all

-- OP_ClientCmdMsg::OP_EqInstructionWindowCmd --
12/7/2008 22:17:35
199.108.11.41 -> 192.168.0.3
0000:	01 37 E5 00 00 00 FF 27 02 00 00 00 00 FE 24 00 .7.....'......$.
0010:	00 00 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 ................
0020:	00 00 8D CB 00 00 6B 6C 70 15 95 E8 4A 36 74 9B ......klp...J6t.
0030:	DD 1E 92 01 02 68 00 00 00 00 00 00 00 00 00 00 .....h..........
0040:	00 00 00 00 00 00 00 00 00 00 00 00 64 14 00 00 ............d...
0050:	00 FF FF FF FF FF FF FF FF 00 00 00 03 00 00 00 ................
0060:	05 0C 0A 00 00 02 12 42 69 6C 65 20 45 6E 74 77 .......Bile Entw
0070:	69 6E 65 64 20 54 6F 6D 65 18 54 69 6E 6B 65 72 ined Tome.Tinker
0080:	65 64 20 4E 65 63 6B 20 48 65 61 74 65 72 61 74 ed Neck Heaterat
0090:	6F 72 00 00 D8 66 9B 6D B6 FB 7F 00 14 00 01 00 or...f.m........
00A0:	00 00 00 00 00 00 00 00 00 00 0F 53 74 75 72 64 ...........Sturd
00B0:	79 20 42 61 63 6B 70 61 63 6B 2F 00 41 20 62 61 y Backpack/.A ba
00C0:	63 6B 70 61 63 6B 20 70 72 6F 76 69 64 65 64 20 ckpack provided 
00D0:	74 6F 20 6D 65 20 74 6F 20 62 65 67 69 6E 20 6D to me to begin m
00E0	79 20 74 72 61 69 6E 69 6E 67 2E                y training.
I turned it into the uchar blah[] as instructed:

Code: Select all

uchar blah[] = {0x01,0x37,0xE5,0x00,0x00,0x00,0xFF,0x27,0x02,0x00,0x00,0x00,0x00,0xFE,0x24,0x00
,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00
,0x00,0x00,0x8D,0xCB,0x00,0x00,0x6B,0x6C,0x70,0x15,0x95,0xE8,0x4A,0x36,0x74,0x9B
,0xDD,0x1E,0x92,0x01,0x02,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x14,0x00,0x00
,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x03,0x00,0x00,0x00
,0x05,0x0C,0x0A,0x00,0x00,0x02,0x12,0x42,0x69,0x6C,0x65,0x20,0x45,0x6E,0x74,0x77
,0x69,0x6E,0x65,0x64,0x20,0x54,0x6F,0x6D,0x65,0x18,0x54,0x69,0x6E,0x6B,0x65,0x72
,0x65,0x64,0x20,0x4E,0x65,0x63,0x6B,0x20,0x48,0x65,0x61,0x74,0x65,0x72,0x61,0x74
,0x6F,0x72,0x00,0x00,0xD8,0x66,0x9B,0x6D,0xB6,0xFB,0x7F,0x00,0x14,0x00,0x01,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x53,0x74,0x75,0x72,0x64
,0x79,0x20,0x42,0x61,0x63,0x6B,0x70,0x61,0x63,0x6B,0x2F,0x00,0x41,0x20,0x62,0x61
,0x63,0x6B,0x70,0x61,0x63,0x6B,0x20,0x70,0x72,0x6F,0x76,0x69,0x64,0x65,0x64,0x20
,0x74,0x6F,0x20,0x6D,0x65,0x20,0x74,0x6F,0x20,0x62,0x65,0x67,0x69,0x6E,0x20,0x6D
,0x79,0x20,0x74,0x72,0x61,0x69,0x6E,0x69,0x6E,0x67,0x2E};
And then ran it through the unpacker:

Code: Select all

uchar* blah2 = new uchar[1000];
Unpack(blah, blah2, 1000, 939);
DumpPacket(blah2, 1000);
and what I got was this:

Code: Select all

   0: 27 02 00 00 00 00 FE 00 - 00 00 00 00 00 00 00 00  | '...............
  16: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
  32: 00 00 00 00 00 00 00 00 - 00 00 00 FF FF FF FF FF  | ................
  48: FF FF CB 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
  64: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
  80: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
  96: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 112: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 128: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 144: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 160: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 176: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 192: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 208: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 224: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 240: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 256: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 272: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 288: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 304: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 320: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 336: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 352: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 368: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 384: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 400: 00 00 00 00 00 E8 00 4A - 00 36 00 00 00 00 00 00  | .......J.6......
 416: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 432: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 448: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 464: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 480: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 496: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 512: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 528: DD 1E 00 92 01 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 544: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 560: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 576: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 592: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 608: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 624: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 640: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 656: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 672: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 688: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 704: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 720: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 736: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 752: 00 00 00 00 00 00 00 00 - 00 FF FF FF FF FF FF FF  | ................
 768: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 784: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 800: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 816: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 832: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 848: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 864: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 880: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 896: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 912: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 928: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 944: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 960: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  | ................
 976: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 CD CD CD  | ................
 992: CD CD CD CD CD CD CD CD                            | ........
Somehow, that doesn't jive.

What am I doing wrong?
Sorry it took so long to get back to you, but Item Description packets are not packed. You start after the opcode and put it directly into the struct. How can you tell if a packet is packed or not? Sometimes it isn't easy, but the ones with text in them are a dead giveaway. If the text is not readable for more than 7 characters, it is packed. If you look at the first charactersheet packet sent in your log near the end you can see the bind zone name and house zone name. Those are packed and the letters appear out of order in the packed packet.

LethalEncounter
Team: Zombie
Posts: 2717
Joined: Wed Jul 25, 2007 10:10 pm

Re: Packets: Reading and Understanding

Post by LethalEncounter » Sat Jan 31, 2009 9:56 am

John Adams wrote:Sorry, forgot to mention that this is an Item. I believe the specific data element I am trying to locate is in "Substruct_BaseItemDescription", called skill_req1 and skill_req2. The latest version for this is 860, so I am assuming this means nothing has changed in this base item description structure since data version 860.

Also, after discussing this at length with Bion in PMs, I am almost to the conclusion that FF FF FF FF is what SOE is sending, and it simply means "All/All", similar to what "0" would have been. Maybe they got a new developer on Items and he likes to do things his way (you know how those developers are...) but I'd still like 100% confirmation of this before assuming this values purpose. The server needs to know how to handle a skill ID that does not exist (yet), regardless.
Yup that is correct, 0xFFFFFFFF is what is sent in those fields. It means that there is not a skill that is required to use the item.

LethalEncounter
Team: Zombie
Posts: 2717
Joined: Wed Jul 25, 2007 10:10 pm

Re: Packets: Reading and Understanding

Post by LethalEncounter » Sat Jan 31, 2009 9:57 am

John Adams wrote:Here is an example of what I was talking about with "chest/legs" data coming in as FF FF, instead of whatever it should be (making me think the structs are off). I have a few logs for Timorous Deep. Apparently, some of the mobs were collected before FF FF started becoming a standard Chest/Legs type ID... so you can see a comparison.

Exampe 1
Emulator:
EQ2_000006.jpg
Live:
EQ2_000007.jpg
Emulator:
EQ2_000009.jpg
Live:
EQ2_000008.jpg
Emulator:
EQ2_000007.jpg
Live:
EQ2_000009.jpg
Note the two distinctly different appearances, and more importantly, some of our models are not dressed the same as live (different clothing or skin patterns). I think this goes beyond colors, though getting the color right would likely mask any other inconsistencies.

Because of this, we have to log into Live and visit every duplicated NPC to find the one that matches Live the closest - huge time sink. And right now, that is none of these... so unless we find something wrong with the structures or determine that IS how SOE is sending us the data (then we're just screwed, and done with it), we're living with inaccurate models.
It might just be me, but the equipment looks exactly the same, the colors just look off. I'm almost positive the issue is just the blue and green were swapped. If you swap them in the DB for those spawns they will probably appear correctly. If that isn't the case let me know. :) The parser should automatically parse the correct colors now, and the older parsed data in your database might be able to be fixed with some sql queries so that you don't need to redo the logs because of this issue.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Packets: Reading and Understanding

Post by John Adams » Sat Jan 31, 2009 10:45 am

LethalEncounter wrote:It might just be me, but the equipment looks exactly the same, the colors just look off. I'm almost positive the issue is just the blue and green were swapped. If you swap them in the DB for those spawns they will probably appear correctly. If that isn't the case let me know. :) The parser should automatically parse the correct colors now, and the older parsed data in your database might be able to be fixed with some sql queries so that you don't need to redo the logs because of this issue.
I think in most of the cases, you are correct. The clothing "style" is the same, just the color may seem off. But note the model of the NPC itself. One model looks redish, the other greenish, which do not match the live NPC model itself. These are the ones I am chosing to delete as "bad data" since they are dupes anyway.

Furthermore, these Timorous Deep log logs have all been parsed using a parser since the color-swap was fixed, or so I imagine. Remember, I reparse everything often just for this reason. But I think the short solution to this is to delete the incorrect model types, and try manually fiddling with the colors to see what we come up with.

Thanks for the packet infos, and the verification of 0xFFFFFFFF. As long as World understands that 0 -or- 4294967295 = no skill required, then we're ok. Unless you think storing the 0 somehow takes less room in the DB than the 4294967295 hehe.

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: Packets: Reading and Understanding

Post by Zcoretri » Sat Jan 31, 2009 10:56 am

John Adams wrote:
Thanks for the packet infos, and the verification of 0xFFFFFFFF. As long as World understands that 0 -or- 4294967295 = no skill required, then we're ok. Unless you think storing the 0 somehow takes less room in the DB than the 4294967295 hehe.
a 32bit signed long of 0xFFFFFFFF = -1
gotta love Hex Workshop :D I bought me a copy in Dec of '07, so not eligible for the version 6 free upgrade :x

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Packets: Reading and Understanding

Post by John Adams » Thu Mar 12, 2009 7:00 pm

By LE's request, we have moved this conversation to the public forum because it is LOADED with information about packets and structs which may be useful to some. Gave it a 90-day sticky. If you feel it needs to be stuck longer, change it.

User avatar
Xanibunib
Retired
Posts: 121
Joined: Thu Mar 06, 2008 11:01 pm
EQ2Emu Server: RENS
Location: Colorado

Re: Packets: Reading and Understanding

Post by Xanibunib » Thu Apr 02, 2009 3:02 pm

So I collected some info on a zone the other day and decided to look in my .log and see what was there... I found some crazy stuff like this...

Code: Select all



-- OP_Unknown --
4/2/2009 15:08:44
199.108.202.33 -> 192.168.0.100
0000:	01 FF EB 01 FF 06 10 06 00 31 30 5F 73 61 79 06 .........10_say.
0010:	00 31 30 30 62 6F 67 05 00 31 30 62 6F 67 05 00 .100bog..10bog..
0020:	31 30 73 61 65 05 00 31 30 73 61 79 06 00 31 30 10sae..10say..10
0030:	2D 73 61 79 05 00 31 38 6E 6F 6D 05 00 31 38 6E -say..18nom..18n
0040:	75 6D 03 00 32 63 38 05 00 36 39 6E 36 39 06 00 um..2c8..69n69..
0050:	36 39 54 69 6D 65 0D 00 36 39 74 69 6D 65 70 6F 69Time..69timepo
0060:	72 6E 73 65 78 04 00 36 39 78 79 0B 00 61 61 64 rnsex..69xy..aad
0070:	75 6C 74 73 6F 6E 6C 79 0F 00 61 61 6D 62 65 69 ultsonly..aambei
0080:	65 6E 70 6C 75 6B 6B 65 72 0E 00 61 61 6D 62 65 enplukker..aambe
0090:	69 65 6E 73 63 68 61 61 70 0D 00 61 61 72 73 68 ienschaap..aarsh
00A0:	61 61 72 6B 6E 61 62 62 08 00 61 61 72 73 6D 61 aarknabb..aarsma
00B0:	64 65 0E 00 61 61 72 73 6F 6E 74 73 74 6F 70 70 de..aarsontstopp
00C0:	65 72 0A 00 61 61 72 73 72 69 64 64 65 72 06 00 er..aarsridder..
00D0:	61 62 65 6B 61 74 06 00 61 62 70 65 65 74 06 00 abekat..abpeet..
00E0:	61 62 72 75 74 6C 08 00 61 62 73 63 68 61 75 6D abrutl..abschaum
00F0:	0A 00 61 62 73 70 72 69 74 7A 65 6E 06 00 61 63 ..abspritzen..ac
0100:	61 63 69 6F 0F 00 61 63 63 6F 6D 70 61 67 6E 61 acio..accompagna
0110:	74 72 69 63 69 07 00 61 63 65 66 72 65 65 0B 00 trici..acefree..
0120:	61 63 68 74 65 72 6C 69 6A 6B 65 09 00 61 63 6F achterlijke..aco
0130:	6A 6F 6E 61 64 61 09 00 61 63 6F 6A 6F 6E 61 64 jonada..acojonad
0140:	6F 0A 00 61 63 6F 6A 6F 6E 61 6E 74 65 0C 00 61 o..acojonante..a
0150:	64 64 65 72 67 65 62 72 6F 65 64 05 00 61 64 6D ddergebroed..adm
0160:	69 6E 0E 00 61 64 6D 69 6E 69 73 74 72 61 74 69 in..administrati
0170:	6F 6E 0E 00 61 64 6D 69 6E 69 73 74 72 61 74 69 on..administrati
0180:	75 65 0D 00 61 64 6D 69 6E 69 73 74 72 61 74 6F ue..administrato
0190:	72 0B 00 61 64 75 6C 74 62 75 66 66 65 74 09 00 r..adultbuffet..
01A0:	61 64 75 6C 74 63 68 61 74 0A 00 61 64 75 6C 74 adultchat..adult
01B0:	63 68 65 63 6B 0E 00 61 64 75 6C 74 63 68 65 63 check..adultchec
01C0:	6B 67 6F 6C 64 11 00 61 64 75 6C 74 66 72 69 65 kgold..adultfrie
01D0:	6E 64 66 69 6E 64 65 72 0B 00 61 64 75 6C 74 6F ndfinder..adulto
01E0:	72 69 67 69 6E 09 00 61 64 75 6C 74 70 69 63 73 rigin..adultpics
01F0:	09 00 61 64 75 6C 74 70 6F 72 6E 0A 00 61 64 75 ..adultporn..adu
0200:	6C 74 70 6F 72 6E 6F 08 00 61 64 75 6C 74 73 65 ltporno..adultse
0210:	78 08 00 61 65 64 66 69 73 73 65 07 00 61 65 64 x..aedfisse..aed
0220:	6C 6F 72 74 0B 00 61 65 64 6C 6F 72 74 6F 67 64 lort..aedlortogd
0230:	6F 0C 00 61 66 66 65 6E 73 63 68 77 61 6E 7A 0E o..affenschwanz.
0240:	00 61 66 67 65 64 61 6E 6B 74 65 68 6F 65 72 0D .afgedanktehoer.
0250:	00 61 66 68 61 61 6C 63 68 69 6E 65 65 73 0A 00 .afhaalchinees..
0260:	61 66 68 61 61 6C 68 6F 65 72 0D 00 61 66 72 65 afhaalhoer..afre
0270:	61 67 65 65 72 62 61 62 79 0C 00 61 67 69 6C 69 ageerbaby..agili
0280:	70 6F 6C 6C 61 64 61 0C 00 61 67 69 6C 69 70 6F pollada..agilipo
0290:	6C 6C 61 64 6F 0B 00 61 67 69 6C 69 70 6F 6C 6C llado..agilipoll
02A0:	61 6F 0B 00 61 67 69 6C 69 70 6F 6C 6C 61 72 06 ao..agilipollar.
02B0:	00 61 69 6E 6F 6B 6F 07 00 61 69 6E 75 6A 69 6E .ainoko..ainujin
02C0:	06 00 61 6B 6B 61 73 69 07 00 61 6C 61 67 61 72 ..akkasi..alagar
02D0:	65 06 00 61 6C 66 6F 6E 73 05 00 61 6C 6B 69 73 e..alfons..alkis
02E0:	08 00 61 6C 6C 75 70 61 74 61 08 00 61 6C 6C 75 ..allupata..allu
02F0:	70 61 74 6F 08 00 61 6C 75 65 70 69 6B 6B 09 00 pato..aluepikk..
0300:	61 6D 61 6E 64 61 63 61 6D 0E 00 61 6D 61 74 65 amandacam..amate
0310:	75 72 63 6F 75 70 6C 65 73 0C 00 61 6D 61 74 65 urcouples..amate
0320:	75 72 69 6E 64 65 78 0C 00 61 6D 61 74 65 75 72 urindex..amateur
0330:	70 61 67 65 73 0A 00 61 6D 61 74 65 75 72 73 65 pages..amateurse
0340:	78 08 00 61 6D 65 63 75 6C 6F 73 09 00 61 6D 65 x..ameculos..ame
0350:	72 6C 6F 71 75 65 09 00 61 6D 66 65 74 61 6D 69 rloque..amfetami
0360:	6E 0B 00 61 6D 6D 75 63 63 68 69 61 74 61 0B 00 n..ammucchiata..
0370:	61 6D 70 68 65 74 61 6D 69 6E 65 07 00 61 6D 70 amphetamine..amp
0380:	68 65 74 65 05 00 61 6E 61 61 6C 0C 00 61 6E 61 hete..anaal..ana
0390:	61 6C 67 61 72 6E 61 61 6C 04 00 61 6E 61 6C 0D algarnaal..anal.
03A0:	00 61 6E 61 6C 61 64 64 69 63 74 69 6F 6E 0A 00 .analaddiction..
03B0:	61 6E 61 6C 61 6E 64 73 65 78 09 00 61 6E 61 6C analandsex..anal
03C0:	62 6C 61 73 74 0C 00 61 6E 61 6C 63 75 6D 73 68 blast..analcumsh
03D0:	6F 74 73 09 00 61 6E 61 6C 64 69 6C 64 6F 05 00 ots..analdildo..
03E0:	61 6E 61 6C 65 0B 00 61 6E 61 6C 66 69 73 74 69 anale..analfisti
03F0:	6E 67 0B 00 61 6E 61 6C 66 69 73 74 75 6C 61 09 ng..analfistula.
0400:	00 61 6E 61 6C 66 69 74 74 65 0B 00 61 6E 61 6C .analfitte..anal
0410:	66 69 78 69 65 72 74 08 00 61 6E 61 6C 66 75 63 fixiert..analfuc
0420:	6B 0B 00 61 6E 61 6C 66 75 63 6B 69 6E 67 0C 00 k..analfucking..
0430:	61 6E 61 6C 69 6E 74 72 75 64 65 72 0B 00 61 6E analintruder..an
0440:	61 6C 69 6E 75 61 64 65 72 0B 00 61 6E 61 6C 6C alinuader..anall
0450:	65 73 62 69 61 6E 10 00 61 6E 61 6C 6D 61 73 74 esbian..analmast
0460:	75 72 62 61 74 69 6F 6E 0F 00 61 6E 61 6C 70 65 urbation..analpe
0470:	6E 65 74 72 61 74 69 6F 6E 08 00 61 6E 61 6C 70 netration..analp
0480:	69 63 73 0C 00 61 6E 61 6C 70 69 63 74 75 72 65 ics..analpicture
0490:	73 07 00 61 6E 61 6C 73 65 78 08 00 61 6E 61 6C s..analsex..anal
04A0:	74 6F 79 73 05 00 61 6E 61 72 75 0B 00 61 6E 64 toys..anaru..and
04B0:	65 6B 6E 65 70 70 65 72 0B 00 61 6E 66 65 69 74 eknepper..anfeit
04C0:	61 6D 69 6E 67 06 00 61 6E 66 65 74 61 0A 00 61 aming..anfeta..a
04D0:	6E 66 65 74 61 6D 69 6E 61 0A 00 61 6E 66 65 74 nfetamina..anfet
04E0:	61 6D 69 6E 65 07 00 61 6E 66 65 74 61 73 08 00 amine..anfetas..
04F0:	61 6E 67 69 65 63 61 6D 0B 00 61 6E 69 6A 73 75 angiecam..anijsu
0500:	72 65 74 65 72 09 00 61 6E 69 6C 69 6E 67 75 73 reter..anilingus
0510:	0A 00 61 6E 69 6D 61 6C 66 75 63 6B 0D 00 61 6E ..animalfuck..an
0520:	69 6D 61 6C 66 75 63 6B 65 72 73 0D 00 61 6E 69 imalfuckers..ani
0530:	6D 61 6C 66 75 63 6B 69 6E 67 10 00 61 6E 69 6D malfucking..anim
0540:	61 6C 70 65 72 75 65 72 73 69 6F 6E 0A 00 61 6E alperuersion..an
0550:	69 6D 61 6C 70 6F 72 6E 0B 00 61 6E 69 6D 61 6C imalporn..animal
0560:	70 6F 72 6E 6F 09 00 61 6E 69 6D 61 6C 73 65 78 porno..animalsex
0570:	09 00 61 6E 69 6D 61 6C 78 78 78 06 00 61 6E 6C ..animalxxx..anl
0580:	66 75 6B 0F 00 61 6E 6E 61 6E 69 63 6F 6C 65 73 fuk..annanicoles
0590:	6D 69 74 68 07 00 61 6E 6F 72 6D 61 6C 04 00 61 mith..anormal..a
05A0:	6E 75 73 07 00 61 6E 75 73 65 78 79 0B 00 61 6E nus..anusexy..an
05B0:	75 73 6B 72 61 62 62 65 72 0C 00 61 6E 75 73 6B uskrabber..anusk
05C0:	72 75 69 70 65 72 74 0C 00 61 6E 75 73 70 61 70 ruipert..anuspap
05D0:	65 67 61 61 69 0A 00 61 6E 75 73 72 69 64 64 65 egaai..anusridde
05E0:	72 09 00 61 6E 77 69 63 68 73 65 6E 05 00 61 6F r..anwichsen..ao
05F0:	6B 61 6E 05 00 61 70 61 72 61 06 00 61 70 65 6B kan..apara..apek
0600:	6F 70 08 00 61 70 65 6E 6B 69 6E 64 0C 00 61 70 op..apenkind..ap
0610:	69 65 63 65 6F 66 73 68 69 74 07 00 61 72 61 62 ieceofshit..arab
0620:	73 65 78 07 00 61 72 69 6F 75 6C 65 08 00 61 72 sex..arioule..ar
0630:	72 61 70 61 74 61 08 00 61 72 72 61 70 61 74 6F rapata..arrapato
0640:	06 00 61 72 72 75 73 61 06 00 61 72 72 75 73 6F ..arrusa..arruso
0650:	05 00 61 72 73 63 68 09 00 61 72 73 63 68 66 69 ..arsch..arschfi
0660:	63 6B 0B 00 61 72 73 63 68 66 69 63 6B 65 6E 0B ck..arschficken.
0670:	00 61 72 73 63 68 66 69 63 6B 65 72 0A 00 61 72 .arschficker..ar
0680:	73 63 68 67 65 69 67 65 0B 00 61 72 73 63 68 67 schgeige..arschg
0690:	65 69 67 65 72 0C 00 61 72 73 63 68 67 65 73 69 eiger..arschgesi
06A0:	63 68 74 0D 00 61 72 73 63 68 6B 72 69 65 63 68 cht..arschkriech
06B0:	65 72 0B 00 61 72 73 63 68 6C 65 63 6B 65 72 09 er..arschlecker.
06C0:	00 61 72 73 63 68 6C 6F 63 68 0C 00 61 72 73 63 .arschloch..arsc
06D0:	68 77 69 63 68 73 65 72 08 00 61 72 73 65 68 6F hwichser..arseho
06E0:	6C 65 08 00 61 72 73 65 6C 68 61 6C 05 00 61 72 le..arselhal..ar
06F0:	73 6C 65 08 00 61 73 68 69 6B 69 72 69 0A 00 61 sle..ashikiri..a
0700:	73 69 61 6E 67 69 72 6C 73 0A 00 61 73 69 61 6E siangirls..asian
0710:	6E 75 64 65 73 0E 00 61 73 69 61 6E 70 6C 65 61 nudes..asianplea
0720:	73 75 72 65 73 09 00 61 73 69 61 6E 70 6F 72 6E sures..asianporn
0730:	0A 00 61 73 69 61 6E 70 75 73 73 79 08 00 61 73 ..asianpussy..as
0740:	69 61 6E 73 65 78 0B 00 61 73 69 61 6E 74 68 75 iansex..asianthu
0750:	6D 62 73 07 00 61 73 69 61 73 65 78 07 00 61 73 mbs..asiasex..as
0760:	69 6B 69 72 69 09 00 61 73 71 75 65 72 6F 73 61 ikiri..asquerosa
0770:	09 00 61 73 71 75 65 72 6F 73 6F 0A 00 61 73 73 ..asqueroso..ass
0780:	61 74 61 6E 61 74 6F 09 00 61 73 73 62 61 6E 64 atanato..assband
0790:	69 74 08 00 61 73 73 63 6C 6F 77 6E 05 00 61 73 it..assclown..as
07A0:	73 65 73 07 00 61 73 73 66 61 63 65 07 00 61 73 ses..assface..as
07B0:	73 66 75 63 6B 09 00 61 73 73 66 75 63 6B 65 72 sfuck..assfucker
07C0:	0A 00 61 73 73 66 75 63 6B 69 6E 67 08 00 61 73 ..assfucking..as
07D0:	73 66 75 63 6B 73 05 00 61 73 73 68 6F 07 00 61 sfucks..assho..a
07E0:	73 73 68 6F 6C 65 08 00 61 73 73 68 6F 6C 65 73 sshole..assholes
07F0:	09 00 61 73 73 6C 61 70 70 65 72 0A 00 61 73 73 ..asslapper..ass
0800:	6C 69 63 6B 69 6E 67 07 00 61 73 73 6C 6F 61 64 licking..assload
0810:	07 00 61 73 73 6D 75 63 68 08 00 61 73 73 6D 75 ..assmuch..assmu
0820:	6E 63 68 06 00 61 73 73 6F 75 74 09 00 61 73 73 nch..assout..ass
0830:	70 61 63 6B 65 72 0B 00 61 73 73 70 69 63 74 75 packer..asspictu
0840:	72 65 73 08 00 61 73 73 70 6F 6C 69 6F 08 00 61 res..asspolio..a
0850:	73 73 72 61 70 65 72 09 00 61 73 73 72 65 61 6D ssraper..assream
0860:	65 72 06 00 61 73 73 73 65 78 05 00 61 73 73 74 er..asssex..asst
0870:	72 0A 00 61 73 73 77 68 61 63 6B 65 72 07 00 61 r..asswhacker..a
0880:	73 73 77 69 70 65 08 00 61 73 74 69 71 75 65 72 sswipe..astiquer
0890:	08 00 61 73 74 6C 71 75 65 72 0A 00 61 73 74 72 ..astlquer..astr
08A0:	6F 67 6C 69 64 65 06 00 61 75 61 6C 65 72 07 00 oglide..aualer..
08B0:	61 75 6F 72 74 6F 6E 0A 00 61 75 74 6F 63 6F 63 auorton..autococ
08C0:	6B 65 72 0C 00 61 75 74 6F 66 65 6C 6C 61 74 69 ker..autofellati
08D0:	6F 07 00 61 77 61 68 69 6D 65 06 00 61 77 61 6A o..awahime..awaj
08E0:	6F 75 09 00 61 77 61 6D 75 73 75 6D 65 08 00 62 ou..awamusume..b
08F0:	61 61 72 64 61 61 70 0E 00 62 61 61 72 6D 6F 65 aardaap..baarmoe
0900:	64 65 72 6C 75 69 73 05 00 62 61 62 65 73 0A 00 derluis..babes..
0910:	62 61 62 65 73 61 66 72 65 65 06 00 62 61 62 65 babesafree..babe
0920:	74 75 07 00 62 61 62 6F 75 69 6E 07 00 62 61 62 tu..babouin..bab
0930:	6F 75 6C 6E 0A 00 62 61 62 79 62 61 74 74 65 72 ouln..babybatter
0940:	07 00 62 61 62 79 73 65 78 07 00 62 61 63 68 69 ..babysex..bachi
0950:	79 61 0C 00 62 61 63 6B 6F 72 69 66 66 69 63 65 ya..backoriffice
0960:	0B 00 62 61 63 6B 6F 72 69 66 69 63 65 07 00 62 ..backorifice..b
0970:	61 64 65 65 6E 64 0D 00 62 61 64 6D 6F 74 68 61 adeend..badmotha
0980:	66 75 63 6B 61 0A 00 62 61 65 73 6B 75 62 62 65 fucka..baeskubbe
0990:	72 08 00 62 61 67 61 73 63 69 61 10 00 62 61 67 r..bagascia..bag
09A0:	62 6F 72 64 73 69 6E 64 69 61 6E 65 72 06 00 62 bordsindianer..b
09B0:	61 67 75 72 69 06 00 62 61 67 75 72 79 08 00 62 aguri..bagury..b
09C0:	61 69 61 67 75 72 61 06 00 62 61 69 63 68 69 08 aiagura..baichi.
09D0:	00 62 61 69 73 61 62 6C 65 05 00 62 61 69 73 65 .baisable..baise
09E0:	06 00 62 61 69 73 65 72 07 00 62 61 69 73 65 75 ..baiser..baiseu
09F0:	72 08 00 62 61 69 73 65 75 73 65 09 00 62 61 69 r..baiseuse..bai
0A00:	73 65 78 75 61 6C 07 00 62 61 69 74 6F 6C 61 07 sexual..baitola.
0A10:	00 62 61 6A 73 73 65 78 08 00 62 61 6B 61 63 68 .bajssex..bakach
0A20:	6F 6E 08 00 62 61 6B 61 74 79 6F 6E 07 00 62 61 on..bakatyon..ba
0A30:	6B 75 6E 79 75 08 00 62 61 6B 75 6E 79 75 75 09 kunyu..bakunyuu.
0A40:	00 62 61 6C 64 70 75 73 73 79 09 00 62 61 6C 64 .baldpussy..bald
0A50:	72 61 63 63 61 07 00 62 61 6C 68 61 61 72 07 00 racca..balhaar..
0A60:	62 61 6C 6C 62 61 67 0B 00 62 61 6C 6C 62 72 65 ballbag..ballbre
0A70:	61 6B 65 72 0A 00 62 61 6C 6C 62 75 73 74 65 72 aker..ballbuster
0A80:	05 00 62 61 6C 6C 65 0D 00 62 61 6C 6C 65 6E 70 ..balle..ballenp
0A90:	72 61 6B 6B 65 72 06 00 62 61 6C 6C 65 72 07 00 rakker..baller..
0AA0:	62 61 6C 6C 67 61 67 07 00 62 61 6C 6C 69 6E 67 ballgag..balling
0AB0:	08 00 62 61 6C 6C 73 61 63 6B 0B 00 62 61 6C 6C ..ballsack..ball
0AC0:	74 6F 72 74 75 72 65 08 00 62 61 6C 73 61 62 6C torture..balsabl
0AD0:	65 05 00 62 61 6C 73 65 06 00 62 61 6C 73 65 72 e..balse..balser
0AE0:	07 00 62 61 6C 73 65 75 72 09 00 62 61 6D 62 69 ..balseur..bambi
Ha i couldnt help but laugh at some of these, names? Im guessing this is the part where the name filter hits?
Village idiot...

Bion
Retired
Posts: 241
Joined: Sun Sep 16, 2007 1:47 pm

Re: Packets: Reading and Understanding

Post by Bion » Thu Apr 02, 2009 3:07 pm

idk Xan but i thought the same thing maybe a name filter for either char creation or chat rooms

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Packets: Reading and Understanding

Post by John Adams » Fri Apr 03, 2009 6:54 am

Yes, that is the name filter packet(s). I attempted once to parse those out making structs, got bored of failure, and quit.

But yet, that's exactly what those are. ;)

paulgh
Retired
Posts: 51
Joined: Sun Jul 27, 2008 8:48 pm

Re: Packets: Reading and Understanding

Post by paulgh » Fri Apr 03, 2009 10:06 am

If anyone is interested, the structure looks to be fairly simple:

<Struct Name="??_????????" ClientVersion="1" OpcodeName="??_????????" >
<Data ElementName="name_count" Type="int16" Size="1" OversizedValue="127" OversizedByte="255" />
<Data ElementName="name_array" Type="Array" ArraySizeVariable="name_count">
<Data ElementName="names" Type="EQ2String" Size="1" />
</Data>
<Data ElementName="additional_name_count" Type="int16" Size="1" OversizedValue="127" OversizedByte="255" />
<Data ElementName="additional_name_array" Type="Array" ArraySizeVariable="additional_name_count">
<Data ElementName="additional_names" Type="EQ2String" Size="1" />
</Struct>

The additional_* section has possibilities for per server (for people running more than one world) or even per account, name banning.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest