PLZ Retest and Re-Report Server ship location sporadically desynced from client after changing playfields

Discussion in 'Archive (Read Only)' started by RedScourge, Feb 6, 2021.

  1. RedScourge

    RedScourge Commander

    Joined:
    Feb 12, 2016
    Messages:
    130
    Likes Received:
    88
    Build: v1.4 3259 (this issue is new in v1.4)
    Mode: Survival
    Mode: Dedicated Server

    SERVER NAME: Eleon Studios - Official US Server
    SEED-ID: N/A

    If applicable:
    MODIFIED PLAYFIELDS: DontKnow

    Reproducibility: Sometimes
    Severity: Major

    Type: Flight

    Summary: Server ship location sporadically desynced from client after warp

    Description: Sometimes when warping or even just flying in/out of a planet's playfield, it appears in the game client as though you are still flying, but in reality your ship is staying at the boundary of the playfield while your character itself is actually flying off. Can verify this by having it occur while flying into a planet from space by watching the temperature not change even as you shed altitude where it should be warmer. If you log out and back in, you have left your ship, and if you try to get back in (assuming you can get back to it), the seat says "currently occupied". It seems that some combination of getting in and out of a passenger seat, using the cb:getshiphere:id command, and relogging sometimes resolves the "currently occupied" state and allows you to get back in and fly again. This has only started since v1.4 and I have had it occur twice, once within 1 hour of the v1.4 update, and once just now, so about 5-10% of the times I have warped. I suspect it may have to do with certain playfields, or it may have something to do with servers that started before the v1.4 update, but cannot prove that either way. I was ferrying new players to the Polaris trading station and made the mistake of taking a shortcut flying over the north pole with a brief detour through space, and they all froze to death after i re-entered the atmosphere because it kept saying -46c even though to me it looked like I had flown all the way down to the ground already.

    Steps to Reproduce:

    Just change playfields a few times while on the Official US Server using any ship, and every now and then you will notice that when you fly around, POIs are not appearing where their map markers say they should be. When this happens, log in and out again and you will see that you are no longer in your ship. Try it in different playfields and eventually it will happen.
     

    Attached Files:

    #1
    Last edited: Feb 7, 2021
    Kassonnade likes this.
  2. RedScourge

    RedScourge Commander

    Joined:
    Feb 12, 2016
    Messages:
    130
    Likes Received:
    88
    Additionally, since I re-entered the playfield at the north pole, for some reason it kept pulling me back to the north pole every time I ran south to get out of the pole, back to where my temporarily unusable craft had crash landed into the ground. I think this may be related to a problem with traversing the pole where your craft briefly flips the other way while it's turning the world around under you, however I was not traversing it, I entered on one side of it and was moving south away from it. I was eventually able to get out with a combination of running a bit south, using the cb:getshiphere:id command to get my ship a bit south, and quickly logging out before the server snapped me and my ship back to the previous position.
     
    #2
    Last edited: Feb 6, 2021
  3. RedScourge

    RedScourge Commander

    Joined:
    Feb 12, 2016
    Messages:
    130
    Likes Received:
    88
    Here's the log file from after I logged out and back in, but note that only the part before 12:50am is relevant.
     

    Attached Files:

    #3
  4. RedScourge

    RedScourge Commander

    Joined:
    Feb 12, 2016
    Messages:
    130
    Likes Received:
    88
    I had this happen to me twice on the same day as the v1.4 update, and many other players are reporting it however they seem to experience it differently, where they get out of their seat and then their ship appears to have jumped away from them.

    I've just today had a related possible same issue happen twice in two days where players who are in the passenger seats of my ship visibly disappear from their seats and disappear out of the passenger count indicator in the bottom right of the screen shortly after a warp. It seems they have to log out and in a few times, and sometimes end up having to point at their seat and enter "detach" from the dev console to be able to sit again. I witnessed that when this was happening to one player, they kept appearing below and outside my CV, and if I flew down, they started to move back to below my CV. I think that to them, they were seeing themselves as in the cockpit still even as I could see them below the ship. I got them to quickly fly back, do the "detach" dev console command trick, log out, and I think that fixed it. This was similar to my fix for the situation I had with the SV near the pole where I kept snapping back to beside the SV several times after I had run away from it.

    Thus the same root issue may be connect to this bug report as well: https://empyriononline.com/threads/occupied-please-find-another-seat.97070/
     
    #4
  5. Hawkie

    Hawkie Commander

    Joined:
    Dec 7, 2018
    Messages:
    150
    Likes Received:
    80
    We experience the same on my servers, and from what we can see this is a dual issue.
    1. Pole warp rescue
    2. Delayed DB sync, so when it does pole warp sync, it takes time before DB is updated, so it initiates this again.

    Have seen DB delayed up to 12 minutes, despite plenty of resources on server side, as well as plenty of disk IOPS available.
    SQLLite is really not up to the task when you get a bit players going with items and stuff needing updates.
     
    #5
    RedScourge and Kassonnade like this.
  6. Hawkie

    Hawkie Commander

    Joined:
    Dec 7, 2018
    Messages:
    150
    Likes Received:
    80
    I should add that using SQLLite tools i can see that at some occasions there is 2 open pipes to the SQLLite DB, and if db write is delayed this would mean the second pipe is working on wrong data. When using in memory delays like you are in the game, it is very important that you do NOT open a secondary pipe, as the file DB is not up to date at all times.
     
    #6
  7. RedScourge

    RedScourge Commander

    Joined:
    Feb 12, 2016
    Messages:
    130
    Likes Received:
    88
    Would not be surprised if 90% of the MP bugs have to do with SQLite. In my experience, most programmers are bad at anything involving SQL and try to code around it; and that even if they're good at writing queries, they're still usually bad at understanding how their queries and transactions can combine in a real time system to cause big concurrency issues. Database stuff is just hard, as it is inherently multithreaded.
     
    #7

Share This Page