Recent Topics

Ads

Packet Parsing & Handling

Talk about the development of the emulator and related services.
Check out new and upcoming features to be implemented onto the server.
Forum rules
Before posting on this forum, be sure to read the Terms of Use
User avatar
akanieski
Posts: 12

Packet Parsing & Handling

Post#1 » Wed Jan 21, 2015 11:17 pm

Ello!

Max had noted that the party leader flag is not being sent to the client. I assume this is why the leader of a party cannot click the "Make Leader" button.

I think either the F_CHARACTER_INFO or the F_GROUP_STATUS packets update this flag.. I tried tweaking the F_CHARACTER_INFO packet in any unknown byte spots. But couldn't find anything that seemed to mark the party leader.

I think that this flag is being sent over in the F_GROUP_STATUS packet. I also see WarEmu has nothing to handle/send this packet to the client..

Does anyone have any info about F_GROUP_STATUS?
--
Andrew K | Software Developer & WAR Fan

Ads
User avatar
akanieski
Posts: 12

Re: Packet Parsing & Handling

Post#2 » Thu Jan 22, 2015 3:17 am

Does this mean anything to anyone who understands the packet structures? I'm looking for more info on F_GROUP_STATUS :|

Code: Select all

public List<Player> Members = new List<Player>();
 
        public void Update()
        {
            Log.Debug("Group", "Updating Group");
 
            if(Leader == null)
                SetLeader(Members.First());
 
            PacketOut Out = new PacketOut((byte)Opcodes.F_CHARACTER_INFO); // 03 68 BE
            Out.WritePacketString(@"|06 02 87 22 04 9C E4 6C 0F 19 0F 28 00 |.........l...(.|
|0E 02 00 00 01 07 00 00 00 44 61 73 63 6F 75 62 |.........Dascoub|
|08 00 00 00 56 6F 78 20 49 72 61 65 B0 60 B5 81 |....Vox Irae.`..|
|01 DC 57 88 55 13 40 01 02 D8 01 03 64 64 0F CC |[email protected]..|
|CF 82 01 0F 1B 0F 28 00 0F 02 01 00 01 06 00 00 |......(.........|
|00 48 61 73 61 72 64 08 00 00 00 56 6F 78 20 49 |.Hasard....Vox I|
|72 61 65 B9 5F DE 81 01 DC 57 9B A9 00 00 01 02 |rae._....W...?..|
|D8 01 03 64 56 06 C6 A1 96 01 0F 18 06 13 00 0D |...dV...........|
|02 00 00 01 06 00 00 00 48 75 7A 61 72 72 00 00 |........Huzarr..|
|00 00 CD DF 02 E5 F5 01 E7 87 01 0E A5 65 40 01 |.............e@.|
|02 C2 02 03 64 64 00 B7 D6 5A 0F 18 04 28 00 0D |....dd...Z...(..|
|02 00 00 01 07 00 00 00 52 68 65 6E 64 61 72 08 |........Rhendar.|
|00 00 00 56 6F 78 20 49 72 61 65 D2 7C EA 82 01 |...Vox Irae.[...|
|DC 57 38 0D B9 3F 01 02 D8 01 03 64 54 00       |..............  |");
 
 
            SendToGroup(Out);
 
            Out = new PacketOut((byte)Opcodes.F_CHARACTER_INFO);
            Out.WritePacketString(@"|06 04 87 22 9C E4 6C CA 5A 00 CC CF 82 |........l.Z....|
|01 E0 21 00 00 B7 D6 5A 82 18 00 00 00          |.............   |");
 
            SendToGroup(Out);
           
            /*     Loot Rules */
            Out = new PacketOut((byte)Opcodes.F_GROUP_STATUS);
            Out.WritePacketString(@"|11 07 01 FF 00 02 00 00 00 00 01 01 00 |................|
|1B 32 1C 00 1B 32 00                            |.......         |");
 
            SendToGroup(Out);
           
               
             Out = new PacketOut((byte)Opcodes.F_GROUP_STATUS);
            Out.WritePacketString(@"|11 07 02 FF 00 00 00 00                |...........     |");
 
            SendToGroup(Out);
 
             Out = new PacketOut(0x33);
            Out.WritePacketString(@"|07 C6 90 25 92 A6 1D 96 F3 10 F4 09 01 |..3...%.........|
|00 00 00 01 00 00 00 65 00 00 00 01 59 64 00 00 |.......e....Yd..|   ");
 
            SendToGroup(Out);
 
 
             Out = new PacketOut(0x33);
            Out.WritePacketString(@"|01 01 00 00 00 04 02 00 00 02 00 03 00 |.)t.............|
|00 00 00 00 00 00 01 00 01 00 00 01 F4 00 00 00 |................|
|19 02 00 01 00 00 01 F4 00 00 00 00             |............    |");
 
            SendToGroup(Out);
 
}
--
Andrew K | Software Developer & WAR Fan

User avatar
chaoscode
Posts: 202

Re: Packet Parsing & Handling

Post#3 » Sun Jan 25, 2015 3:07 am

Look at the function called SendWhosLeader. It most likely is missing some kind of opcode that is sent to the client to set the group leader visually.

User avatar
MazeR1337
Posts: 170
Contact:

Re: Packet Parsing & Handling

Post#4 » Sun Jan 25, 2015 4:03 am

Ooo
"Chaos is a ladder. Many who try to climb it fail and never get to try again. The fall breaks them. And some are given a chance to climb, they cling to the real or the gods or love."

~~ GoT ~~

Londo
Posts: 217

Re: Packet Parsing & Handling

Post#5 » Sun Jan 25, 2015 7:30 am

You can also try working from client side. Group UI code is in interface\ea_groupwindow\source\groupwindow.lua. Group leader is set by calling BroadcastEvent( SystemData.Events.GROUP_SET_LEADER ). I would simply try calling that manually with custom addon and see what packet is sent to the server. Then search all the packet logs for similar packet.

User avatar
akanieski
Posts: 12

Re: Packet Parsing & Handling

Post#6 » Sun Jan 25, 2015 1:50 pm

Londo wrote:You can also try working from client side. Group UI code is in interface\ea_groupwindow\source\groupwindow.lua. Group leader is set by calling BroadcastEvent( SystemData.Events.GROUP_SET_LEADER ). I would simply try calling that manually with custom addon and see what packet is sent to the server. Then search all the packet logs for similar packet.
My /Interface/ folder only has /AddOns/ in it?
--
Andrew K | Software Developer & WAR Fan

User avatar
akanieski
Posts: 12

Re: Packet Parsing & Handling

Post#7 » Sun Jan 25, 2015 1:53 pm

--
Andrew K | Software Developer & WAR Fan

Luth
Posts: 2840

Re: Packet Parsing & Handling

Post#8 » Sun Jan 25, 2015 3:13 pm

You need to unpack the interface.myp in the WAR folder.

Ads

Who is online

Users browsing this forum: No registered users and 17 guests