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.
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.
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.
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 :/
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.
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.
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.