6-7-2023

Discussion in 'Changelog' started by robregen, Jun 7, 2023.

  1. robregen

    robregen Administrator Staff Member

    Messages:
    8,386
    Code:
    Torven

    * Fixed NPCs not facing the correct directions in certain circumstances.
    Solar
    * fix a possible tradeskill combine desync
    * made it so bind wound can heal a bit past 50% instead of capping to exactly 50%
    * fixed suspended pet name formatting to not lose underscores in the pet's name
    * fix harm touch and lay hands buttons to stay pressed down after being used

    Script:
    Elroz

    * Fixed faction requirement for Circlet of the Falinkan, can do whole quest at kindly now.
    * Fixed/added a couple dialogues to Lord Yelinak and Ralgyn if your faction isn't high enough for their quests.
    Robregen
    * Fixed timer that would reset Ring 10 if all npc were killed off and no trade ins.
     
    Mechaike, showstring, Frosst and 2 others like this.
  2. Mokli

    Mokli I Feel Loved

    Messages:
    2,461
    Just had this happen to me. It seems there is nothing you can do but kill the client and reload.

    duplication steps: I handed in the 500pp to Bor Wharhammer, got the container and swapped the container with something in the general inventory slot already, 2 stacked ethereal swatches, I put that into the container, the coin appeared on my cursor and then the desync happened.
     
  3. solar

    solar Administrator Staff Member

    Messages:
    1,197
    That's an issue with the cursor queue. Basically the server is summoning items onto the cursor and you can pick up an item before it appears, desyncing it. You will end up with one extra item on the cursor queue on the client side versus the server side, and when trying to inventory that last item, the error gets detected and triggers the disconnect. The tradeskill thing was a little different but related. When combining, the UI should be locked until the combine is finished and the results appear on the cursor queue. I changed that one small part to keep it locked during the combine so that items can't be picked up during it, but the cursor queue issue is still present after the combine is finished, or whenever adding items to it. It can be somewhat mitigated by going slowly, but someone could get you with MGB bread and screw you up too.

    As far as the desync disconnect, the UI stays locked if it happens during the item swap like you're describing. It will close eventually, once the LD timer expires, but the lag meter doesn't show a disconnect and you can't use the UI.. sorry that's just what happens when it disconnects mid item swap. I added the disconnect to prevent additional item loss that could happen by continuing to move desynced inventory items. Hopefully you didn't lose your cursor queued stuff.
     
  4. showstring

    showstring I Feel Loved

    Messages:
    3,339
    hmmmmmm this could be something to keep an eye on, people turn in a lot of ornate armor.

    if these desyncs happen as easily as that, someone could lose their ornate / elemental molds potentially :/
     
  5. Mokli

    Mokli I Feel Loved

    Messages:
    2,461
    Thanks for the explanation. I didn't lose my items, everything was there when I logged back in. However, this was very odd to me, I don't recall ever getting a container desync in the past. I have gotten merchant desyncs, but even those are super rare, like every 6 months or so. So maybe just something to keep on the radar.
     
  6. Mokli

    Mokli I Feel Loved

    Messages:
    2,461
    The specific messages:
    [Wed Jun 21 22:40:01 2023] Inventory Desynchronization detected: Resending slot data...
    [Wed Jun 21 22:40:01 2023] Source slot 320 resynchronized.
    [Wed Jun 21 22:40:01 2023] Destination slot 0 resynchronized.
    [Wed Jun 21 22:40:01 2023] Disconnecting to avoid item loss, please relog.
     
  7. solar

    solar Administrator Staff Member

    Messages:
    1,197
    I think this can possibly be made better by adjusting the item swapping logic but the issue is that the client is able to pick up items 'out of turn' because of how the cursor queue works. Rimidal actually helped me test a few variations on this a while back. For things like the ornate quest, a workaround would be to have the quest auto inventory the items instead of putting them on the player's cursor queue, but it would be nice if the cursor queue was more reliable instead. Going slowly avoids the desyncs but this can happen any time you have items on the cursor queue and isn't specific to that quest. I just didn't want to mess with that at the same time as the tradeskill combine change, so that I could make sure that was solid first.
     
    Mokli likes this.
  8. showstring

    showstring I Feel Loved

    Messages:
    3,339
    just repoting desyncs are a lot better than they were in the past, thank you for the fixes
     
    solar likes this.