Page 2 of 4 FirstFirst 1234 LastLast
Results 16 to 30 of 53

Thread: 4/13/11 patch

  1. #16
    Registered User
    Join Date
    Apr 2011
    Posts
    20

    Re: 4/13/11 patch

    Nice timing. OP_NpcMoveUpdate is definitely 38E0. Packet changed as well, following code fixes it.
    in spawnshell.cpp, function void SpawnShell::npcMoveUpdate(const uint8_t* data, size_t len, uint8_t dir):
    Code:
        // spawnId.
        uint16_t spawnId = stream.readUInt(16);
    
        // 13 Apr 2011 -- 2 bytes of null data added into packet.
        uint16_t unk1 = stream.readUInt(16);
    
        // 6 bit field specifier.
        uint8_t fieldSpecifier = stream.readUInt(6);
    Edit 1: OP_Death is 49B6, OP_DeleteSpawn is 0BD0. Still not sure what packet belongs to 2370, though it can't be many choices since it always seems to be 10 bytes long.
    Last edited by Kalastrom; 04-15-2011 at 03:34 AM.

  2. #17
    Registered User
    Join Date
    Nov 2010
    Posts
    5

    Re: 4/13/11 patch

    OP_RemoveSpawn seems to be 725A

    Edit: and OP_GroupInvited seems to be 03CC

    Edit 2: OP_FormattedMessage seems to segfault showeq when fighting mobs, i comment it out form zoneopcodes.xml and seems to be running stable after that

    Edit 3: OP_InspectAnswer seems to be 3365
    Last edited by Railsmurf; 04-15-2011 at 04:56 PM.

  3. #18
    Did you SEQ today? BlueAdept's Avatar
    Join Date
    Dec 2001
    Posts
    2,008

    Re: 4/13/11 patch

    Thanks for helping and posting these. I will be out of the country starting sunday to sunday so if you can get everything working and send me the changes, I will make up a new tarball for everyone when I get back.
    Filters for ShowEQ can now be found here. filters-5xx-06-20-05.tar.gz

    ShowEQ file section is here. https://sourceforge.net/project/show...roup_id=10131#

    Famous Quotes:

    Ratt: WTF you talkin' about BA? (Ok.. that sounds like a bad combo of Diffrent Strokes and A-Team)

    Razzle: I showeq my wife

  4. #19
    Registered User
    Join Date
    Mar 2011
    Posts
    13

    Re: 4/13/11 patch

    Kala & Rail's fixes above are working so far.

  5. #20
    Registered User
    Join Date
    Oct 2008
    Posts
    24

    Re: 4/13/11 patch

    Hello, I am a long time user (since 2000) - and I have a renewed interested in EQ Progression server. Thank you guys for your work and I hope this will continue for a longer time. I wish I know how to look for the opcode so I could help out.

    The Kala & Rail's fixes are working fine so far.

  6. #21
    Registered User
    Join Date
    Jul 2004
    Posts
    34

    Re: 4/13/11 patch

    I must have screwed something up. Followed the changes posted in this thread.

    Still seeing the following:
    Warning: OP_ZoneEntry (0x2d6) (dataLen: 76) doesn't match: sizeof(ClientZoneEntryStruct):68
    Warning: OP_ClickObject (0x442a) (dataLen: 65) doesn't match: sizeof(remDropStruct):8
    Debug: SpawnShell::fillSpawnStruct - expected length: 371, read: 356 for spawn ' *******' I removed the spawn name.

    Seg fault, shortly after I get Your Player's ID is


    Edit: fixed the ZoneEntry error by adding 8 bytes to the placeholder at the end of the struct.
    Last edited by pita; 04-16-2011 at 03:14 PM.

  7. #22
    Registered User
    Join Date
    Apr 2011
    Posts
    20

    Re: 4/13/11 patch

    Are you sure you're running the latest tarball and made the changes in http://www.showeq.net/forums/showthr...Server-Updates before adding in these changes?

  8. #23
    Registered User
    Join Date
    Jul 2004
    Posts
    34

    Re: 4/13/11 patch

    Ok, it seems I was still using a modified 5.13.10.2 source, and was functional, until this latest patch. I've run through it 3 times now, using the official 5.13.10.3 tarball as a starting point. Not having much luck. Can anyone see what I am missing. I wasn't clear on playerSpawnStruct change, as there doesn't seem to be that struct. I applied it to playerSpawnPosStruct.

    Thanks in advance!

    Here are the diff's of the 3 files, starting from the original.

    everquest.h.diff:
    Code:
    *** showeq-5.13.10.3-orig/src/everquest.h       2011-01-01 17:08:56.000000000 -0
    500
    --- showeq-5.13.10.3/src/everquest.h    2011-04-16 21:57:55.000000000 -0400
    ***************
    *** 563,569 ****
      /*0000*/ uint32_t unknown0000;            // ***Placeholder
      /*0004*/ char     name[32];               // Player firstname
      /*0036*/ uint8_t  unknown0036[28];        // ***Placeholder
    ! /*0064*/ uint32_t unknown0064;            // unknown
      };
      
      
    --- 563,569 ----
      /*0000*/ uint32_t unknown0000;            // ***Placeholder
      /*0004*/ char     name[32];               // Player firstname
      /*0036*/ uint8_t  unknown0036[28];        // ***Placeholder
    ! /*0064*/ uint32_t unknown0064[3];            // unknown
      };
      
      
    ***************
    *** 714,720 ****
      /*07872*/ uint8_t unknown07872[20];
      /*07892*/ spellBuff buffs[MAX_BUFFS];   // Buffs currently on the player
      /*10172*/ uint32_t  disciplines[MAX_DISCIPLINES]; // Known disciplines
    ! /*10572*/ uint8_t unknown10572[560];
      /*11132*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use)
      /*11212*/ uint32_t  endurance;          // Current endurance
      /*11216*/ uint32_t  aa_spent;           // Number of spent AA points (includin
    g glyphs)
    --- 714,720 ----
      /*07872*/ uint8_t unknown07872[20];
      /*07892*/ spellBuff buffs[MAX_BUFFS];   // Buffs currently on the player
      /*10172*/ uint32_t  disciplines[MAX_DISCIPLINES]; // Known disciplines
    ! /*10572*/ uint8_t unknown10572[1280];
      /*11132*/ uint32_t recastTimers[MAX_RECAST_TYPES]; // Timers (GMT of last use)
      /*11212*/ uint32_t  endurance;          // Current endurance
      /*11216*/ uint32_t  aa_spent;           // Number of spent AA points (includin
    g glyphs)
    ***************
    *** 1416,1421 ****
    --- 1416,1422 ----
      struct spawnPositionUpdate 
      {
      /*0000*/ int16_t  spawnId;
    +       uint8_t unk1[2];
      /*0002*/ int64_t  y:19, z:19, x:19, u3:7;
               unsigned heading:12;
               signed unused2:4;
    ***************
    *** 2187,2192 ****
    --- 2188,2194 ----
      struct SpawnUpdateStruct
      {
      /*0000*/ uint16_t spawnId;                // Id of spawn to update
    +       uint8_t unk1[2];
      /*0002*/ uint16_t subcommand;             // some sort of subcommand type
      /*0004*/ int16_t  arg1;                   // first option
      /*0006*/ int16_t  arg2;                   // second option
    ***************
    *** 2284,2289 ****
    --- 2286,2292 ----
      struct playerSpawnPosStruct
      {
      /*0000*/ uint16_t spawnId;
    +       uint8_t  unk[2];
      /*0002*/ signed   padding0000:12; // ***Placeholder
               signed   deltaX:13;      // change in x
               signed   padding0005:7;  // ***Placeholder
    ***************
    *** 2311,2317 ****
      {
      /*0000*/ uint16_t spawnId;        // Player's spawn id
      /*0002*/ uint8_t unknown0002[2];  // ***Placeholder (update time counter?)
    ! /*0004*/ uint8_t unknown0004[4];  // ***Placeholder
      /*0008*/ float x;                 // x coord (2nd loc value)
      /*0012*/ float y;                 // y coord (1st loc value)
      /*0016*/ signed deltaHeading:10;  // change in heading
    --- 2314,2320 ----
      {
      /*0000*/ uint16_t spawnId;        // Player's spawn id
      /*0002*/ uint8_t unknown0002[2];  // ***Placeholder (update time counter?)
    ! /*0004*/ uint8_t unknown0004[6];  // ***Placeholder
      /*0008*/ float x;                 // x coord (2nd loc value)
      /*0012*/ float y;                 // y coord (1st loc value)
     /*0016*/ signed deltaHeading:10;  // change in heading
    zoneopcodes.xml.diff
    Code:
    *** showeq-5.13.10.3-orig/conf/zoneopcodes.xml  2011-01-01 13:30:45.000000000 -0500
    --- showeq-5.13.10.3/conf/zoneopcodes.xml       2011-04-16 21:44:02.000000000 -0400
    ***************
    *** 5,11 ****
          <!--
              Critical opcodes used directly by ShowEQ
          -->
    !     <opcode id="5BAD" name="OP_NpcMoveUpdate" updated="12/08/10">
              <comment>Position updates</comment>
              <payload dir="server" typename="uint8_t" sizechecktype="none"/>
          </opcode>
    --- 5,11 ----
          <!--
              Critical opcodes used directly by ShowEQ
          -->
    !     <opcode id="3278" name="OP_NpcMoveUpdate" updated="12/08/10">
              <comment>Position updates</comment>
              <payload dir="server" typename="uint8_t" sizechecktype="none"/>
          </opcode>
    ***************
    *** 13,32 ****
              <comment></comment>
              <payload dir="client" typename="uint8_t" sizechecktype="none"/>
          </opcode>
    !     <opcode id="220C" name="OP_DeleteSpawn" updated="12/08/10">
              <comment>old DeleteSpawnCode</comment>
              <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
          </opcode>
    !     <opcode id="002B" name="OP_ZoneEntry" updated="10/15/10">
              <comment>old ZoneEntryCode</comment>
              <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
            <payload dir="server" typename="uint8_t" sizechecktype="none"/>
          </opcode>
    !     <opcode id="5F85" name="OP_GuildMOTD" updated="10/15/10">
              <comment>GuildMOTD</comment>
              <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/>
          </opcode>
    !     <opcode id="2370" name="OP_InspectAnswer" updated="10/15/10">
              <comment>old InspectDataCode</comment>
              <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/>
          </opcode>
    --- 13,32 ----
              <comment></comment>
             <payload dir="client" typename="uint8_t" sizechecktype="none"/>
          </opcode>
    !     <opcode id="0BD0" name="OP_DeleteSpawn" updated="12/08/10">
              <comment>old DeleteSpawnCode</comment>
              <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
          </opcode>
    !     <opcode id="02D6" name="OP_ZoneEntry" updated="10/15/10">
              <comment>old ZoneEntryCode</comment>
              <payload dir="client" typename="ClientZoneEntryStruct" sizechecktype="match"/>
            <payload dir="server" typename="uint8_t" sizechecktype="none"/>
          </opcode>
    !     <opcode id="71D1" name="OP_GuildMOTD" updated="10/15/10">
              <comment>GuildMOTD</comment>
              <payload dir="server" typename="guildMOTDStruct" sizechecktype="none"/>
          </opcode>
    !     <opcode id="3365" name="OP_InspectAnswer" updated="10/15/10">
              <comment>old InspectDataCode</comment>
              <payload dir="both" typename="inspectDataStruct" sizechecktype="match"/>
          </opcode>
    ***************
    *** 34,40 ****
              <comment>Coords in a zone that will port you to another zone</comment>
              <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/>
          </opcode>
    !     <opcode id="2257" name="OP_TargetMouse" updated="10/15/10">
              <comment>Targeting a person - old ClientTargetCode</comment>
              <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/>
          </opcode>
    --- 34,40 ----
              <comment>Coords in a zone that will port you to another zone</comment>
              <payload dir="server" typename="zonePointsStruct" sizechecktype="none"/>
          </opcode>
    !     <opcode id="5F5E" name="OP_TargetMouse" updated="10/15/10">
              <comment>Targeting a person - old ClientTargetCode</comment>
              <payload dir="both" typename="clientTargetStruct" sizechecktype="match"/>
          </opcode>
    ***************
    *** 74,84 ****
              <comment></comment>
              <payload dir="server" typename="dzInfo" sizechecktype="match"/>
          </opcode>
    !     <opcode id="3B52" name="OP_FormattedMessage" updated="10/21/09">
              <comment>old FormattedMessageCode</comment>
              <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/>
          </opcode>
    !     <opcode id="6CFE" name="OP_SpawnDoor" updated="12/08/10">
              <comment>old DoorSpawnsCode</comment>
              <payload dir="server" typename="doorStruct" sizechecktype="modulus"/>
          </opcode>
    --- 74,85 ----
              <comment></comment>
              <payload dir="server" typename="dzInfo" sizechecktype="match"/>
          </opcode>
    ! /*    <opcode id="3B52" name="OP_FormattedMessage" updated="10/21/09">
              <comment>old FormattedMessageCode</comment>
              <payload dir="server" typename="formattedMessageStruct" sizechecktype="none"/>
          </opcode>
    ! */  
    !   <opcode id="6CFE" name="OP_SpawnDoor" updated="12/08/10">
              <comment>old DoorSpawnsCode</comment>
              <payload dir="server" typename="doorStruct" sizechecktype="modulus"/>
          </opcode>
    ***************
    *** 102,108 ****
              <payload dir="server" typename="groupInviteStruct" sizechecktype="match"/>
              <comment>You got invited to a group</comment>
          </opcode>-->
    !     <opcode id="5251" name="OP_GroupInvite" updated="10/21/09">
              <payload dir="both" typename="groupInviteStruct" sizechecktype="none"/>
              <comment>You invite or get invited</comment>
          </opcode>
    --- 103,109 ----
              <payload dir="server" typename="groupInviteStruct" sizechecktype="match"/>
              <comment>You got invited to a group</comment>
          </opcode>-->
    !     <opcode id="03CC" name="OP_GroupInvite" updated="10/21/09">
              <payload dir="both" typename="groupInviteStruct" sizechecktype="none"/>
              <comment>You invite or get invited</comment>
          </opcode>
    ***************
    *** 148,154 ****
              <comment>Server updating on hunger/thirst</comment>
              <payload dir="server" typename="staminaStruct" sizechecktype="match"/>
          </opcode>
    !     <opcode id="3E50" name="OP_Consider" updated="10/21/09">
              <comment>old ConsiderCode</comment>
          </opcode>
    ***************
    *** 148,154 ****
              <comment>Server updating on hunger/thirst</comment>
              <payload dir="server" typename="staminaStruct" sizechecktype="match"/>
          </opcode>
    !     <opcode id="3E50" name="OP_Consider" updated="10/21/09">
              <comment>old ConsiderCode</comment>
              <payload dir="both" typename="considerStruct" sizechecktype="match"/>
          </opcode>
    --- 149,155 ----
              <comment>Server updating on hunger/thirst</comment>
              <payload dir="server" typename="staminaStruct" sizechecktype="match"/>
          </opcode>
    !     <opcode id="3C2D" name="OP_Consider" updated="10/21/09">
              <comment>old ConsiderCode</comment>
              <payload dir="both" typename="considerStruct" sizechecktype="match"/>
          </opcode>
    ***************
    *** 186,196 ****
              <comment>old ExpUpdateCode</comment>
              <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
          </opcode>
    !     <opcode id="7434" name="OP_RemoveSpawn" updated="06/12/09">
              <comment>Remove spawn from zone</comment>
            <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
          </opcode>
    !     <opcode id="3237" name="OP_Death" updated="09/07/10">
              <comment>old NewCorpseCode</comment>
              <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
          </opcode>
    --- 187,197 ----
              <comment>old ExpUpdateCode</comment>
              <payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
          </opcode>
    !     <opcode id="725A" name="OP_RemoveSpawn" updated="06/12/09">
              <comment>Remove spawn from zone</comment>
            <payload dir="both" typename="removeSpawnStruct" sizechecktype="none"/>
          </opcode>
    !     <opcode id="49B6" name="OP_Death" updated="09/07/10">
              <comment>old NewCorpseCode</comment>
              <payload dir="server" typename="newCorpseStruct" sizechecktype="match"/>
          </opcode>
    spawnshell.cpp.diff
    Code:
    *** showeq-5.13.10.3-orig/src/spawnshell.cpp    2011-01-01 17:10:22.000000000 -0500
    --- showeq-5.13.10.3/src/spawnshell.cpp 2011-04-16 21:45:13.000000000 -0400
    ***************
    *** 947,952 ****
    --- 947,955 ----
          // spawnId.
          uint16_t spawnId = stream.readUInt(16);
      
    +  // 13 Apr 2011 -- 2 bytes of null data added into packet.
    +     uint16_t unk1 = stream.readUInt(16);
    + 
          // 6 bit field specifier.
          uint8_t fieldSpecifier = stream.readUInt(6);
      
    ***************
    *** 1357,1362 ****
    --- 1360,1369 ----
      
        if(len==sizeof(removeSpawnStruct))
        {
    +       // Hack to fix corpse clean-up change
    +     deleteItem(tSpawn, rmSpawn->spawnId);
    +     // End Hack
    + 
          if(!rmSpawn->removeSpawn)
          {
            // Remove a spawn from outside the update radius

  9. #24
    Registered User
    Join Date
    Nov 2010
    Posts
    5

    Re: 4/13/11 patch

    OP_GroundSpawn is 442A

    EDIT: sorry i was way of here, see kala's post futher down
    Old not relevant text: "OP_ClickObject seems to be 7C87 but the struct do not match so ground spawns never gets removed, and changeing struct is beyond me at the moment."
    Last edited by Railsmurf; 04-18-2011 at 10:37 AM.

  10. #25
    Registered User
    Join Date
    Dec 2008
    Posts
    6

    Re: 4/13/11 patch

    I am in the same boat as pita. Several times starting over from 5.13.10.2 making the above changes and changes from http://www.showeq.net/forums/showthr...Server-Updates and still no success. Everything looks like it is working while my character is still loading, but once the character gets into game, seg fault. It looks like there are just 3 files changing. Everquest.h, spawnshell.cpp, and zoneopcodes.xml. Would it be possible for someone who has this working to paste those three files?

  11. #26
    Registered User
    Join Date
    Jul 2004
    Posts
    34

    Re: 4/13/11 patch

    I got annoyed with builds taking 20 minutes on my old AMD 1400+ linux box, so I threw together a "new" P4 3.0gig box, with 2gig ram, Ubuntu 11.04 beta. (Yeah, I know, living on the wild side.)

    Copied the exact same showeq folder from the old box, recompiled, now I am getting an OP_GroupDisband size mismatch. Sigh!!!

    Can anyone post a working diff against 5.13.10.3 tarball?

    On a completely different note, I really really really don't like the new Unity desktop. I reverted back to Gnome within about 10 minutes.

  12. #27
    Registered User
    Join Date
    Nov 2010
    Posts
    3

    Re: 4/13/11 patch

    Pita I looked at your DIFF and you are missing the change to OP_GroupUpdate in zoneoppcodes.xml. This needs to be commented out.

  13. #28
    Registered User
    Join Date
    Jul 2004
    Posts
    34

    Re: 4/13/11 patch

    ok, commented out OP_GroupUdate, and I can get into game, have a map, and some skittles, but it crashes soon after.

  14. #29
    Registered User
    Join Date
    Apr 2011
    Posts
    20

    Re: 4/13/11 patch

    Another update, sorry for the delay but I was dealing with RL things. OP_GroundSpawn is definitely 0x442A, OP_ClickObject is definitely 0x4194, OP_HPUpdate is definitely 0x2370, and OP_InspectAnswer is definitely 0x3365.

    I did find a packet and opcode (0x0FF4) that ShowEQ doesn't handled. It's a mana related packet structured exactly like the one attached to OP_HPUpdate, but it is NOT OP_ManaChange. It's 10 bytes long, 4 bytes of mana, then 4 bytes of mana, and finishes itself off with 2 bytes of spawnID.

    Edit 1: I ended up commenting out all the group related opcodes as I'm not sure what ShowEQ would process them for, nor am I really sure I care about that data. I know that's probably not the best way to handle it, but whatever for now. lol I'm also not sure what purpose OP_RemoveSpawn has, or how to tell if it really is working, since corpse rotting is handled by DeleteSpawn, and picking up ground spawn items is handled by ClickObject. I've got it in my codes as 725A as per previous post, but other than that I've no idea what to do with it.

    Edit 2: Updated ClientZoneEntryStruct to match client sent 02D6 packet, change
    Code:
    /*0064*/ uint32_t unknown0064;
    to this:
    Code:
    /*0064*/ uint32_t unknown0064[3];
    Edit #3: Found some guild related opcodes 7429 which is 76 bytes long, and 4D4E which is 72 bytes long, doesn't look like anything useful, but I offer the data for those that are curious.

    Edit #4: OP_SimpleMessage is now 3B52 which was the old OP_FormattedMessage opcode. No idea what the new OP_FormattedMessage opcode is as of yet, not sure what a formatted message would look like on my screen anyway. That will at least stop crashes related to this opcode.

    Edit #5: 5D0F is the contents of the veteran reward claim window.
    Last edited by Kalastrom; 04-18-2011 at 06:28 PM.

  15. #30
    Registered User
    Join Date
    Dec 2008
    Posts
    6

    Re: 4/13/11 patch

    Well, that did the trick. Did what Kalastrom did and commented out all group OP codes. I get skittles and movements. Zoned to several instances and no crashes yet.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

You may post new threads
You may post replies
You may post attachments
You may edit your posts
HTML code is Off
vB code is On
Smilies are On
[IMG] code is On