Results 1 to 15 of 16

Thread: Test Server Updates

Hybrid View

  1. #1
    Registered User
    Join Date
    Jul 2004
    Posts
    34

    Re: Test Server Updates

    deleted because I'm a tard. Need to patch the same directory, that I am compiling.
    Last edited by pita; 10-21-2010 at 05:30 PM.

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

    Re: Test Server Updates

    LOL...happens to everyone eventually
    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

  3. #3
    Registered User
    Join Date
    May 2009
    Posts
    45

    Re: Test Server Updates

    Test Server Patch on 10/25 introduced a problem with debug messages filling the terminal similar to "SpawnShell::fillSpawnStruct - expected length: 123, read: 124 for spawn 'soandso'"

    Make the following change and recompile to fix the message:

    src/spawnshell.cpp
    Code:
       // unknowns
       netStream.skipBytes(8);
    
       spawn->isMercenary = netStream.readUInt8();
    
       // unknowns -- changed from 28 to 54 for HoT Patch 10/25
       netStream.skipBytes(54);
    
       // now we're at the end

  4. #4
    Registered User
    Join Date
    May 2009
    Posts
    45

    Re: Test Server Updates

    The Jan. 26 2011 patch on Test server seems to have introduced a change to how corpse clean-up is handled. No longer is OP_DeleteSpawn sent after a player-related corpse disappears. This includes player corpses, familiars, pets, and swarm pets. As a result SEQ doesn't remove the corpse from the spawn list or the map.

    NPC corpses are still handled the old way. The packet order is generally OP_Death, Op_RemoveSpawn, OP_DeleteSpawn. Now on PC related corpses it is just OP_Death, OP_RemoveSpawn.

    Spending any length of time in a zone rapidly builds up tons of mobs and eventually SEQ becomes unstable.

    It might help to capture plenty of logs this weekend from live servers, just in case. I'm going to keep working on it to see if I can figure out exactly what was changed, this is just a heads up since I'm not sure when this might (if ever) go live.

  5. #5
    Developer
    Join Date
    Nov 2007
    Posts
    539

    Re: Test Server Updates

    Thanks for the heads up sammie. I was looking at those opcodes earlier this week. Will have to tie removing Player corpses to OP_RemoveSpawn if this goes live probably.

    Razzle

  6. #6
    Registered User
    Join Date
    May 2009
    Posts
    45

    Re: Test Server Updates

    I'm testing a fix tonight that is working so far. I'm sure it's not the proper way to go but it is keeping the spawnlist and map clean.

    src/spawnshell.cpp:
    Code:
    void SpawnShell::removeSpawn(const uint8_t* data, size_t len, uint8_t dir)
    {
      if(dir==DIR_Client)
        return;
      const removeSpawnStruct* rmSpawn = (const removeSpawnStruct*)data;
    #ifdef SPAWNSHELL_DIAG
      seqDebug("SpawnShell::removeSpawn(id=%d)", rmSpawn->spawnId);
    #endif
    
      Item *item;
    
      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
          if(showeq_params->useUpdateRadius)
          {
            // Remove it
            deleteItem(tSpawn, rmSpawn->spawnId);
          }
          else
          {
            // Set flag to change its icon
            if((item=m_spawns.find(rmSpawn->spawnId)))
            {
              Spawn *s=(Spawn*)item;
              s->setNotUpdated(true);
            }
          }
        }
      }
      else if((len+1)!=sizeof(removeSpawnStruct))
      {
        seqWarn("OP_RemoveSpawn (dataLen: %d) doesn't match: sizeof(removeSpawnStruct): %d",
                len,sizeof(removeSpawnStruct));
      }
    }
    Also, some zone opcode changes if anyone wants to try out the changes on Test. I'm sure there's some others but they are minor ones.

    zoneopcodes.xml:
    Code:
        <opcode id="5D24" name="OP_NpcMoveUpdate" updated="01/26/11">
            <comment>Position updates</comment>
            <payload dir="server" typename="uint8_t" sizechecktype="none"/>
        </opcode>
    
        <opcode id="1D85" name="OP_DeleteSpawn" updated="01/26/11">
            <comment>old DeleteSpawnCode</comment>
            <payload dir="both" typename="deleteSpawnStruct" sizechecktype="match"/>
        </opcode>

  7. #7
    Registered User
    Join Date
    May 2009
    Posts
    45

    Re: Test Server Updates

    Test server patch for 2-2-2011 causes segfault on OP_PlayerProfile. Adding 360 to the structure fixes the segfault, currently testing the following change to everquest.h that seems to fix the problem:

    /*10572*/ uint8_t unknown10572[920]; // Test Patch add 360 (was 560) 2-2-2011

Thread Information

Users Browsing this Thread

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

Tags for this Thread

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