Vessels shifting in orbit when Current Subspace Error reaches -5000ms and is reset to 0
JohannesMP opened this issue ยท 11 comments
To illustrate the problem I'm sharing an example of what happened during a testing session yesterday:
I wanted to attempt building a station in orbit around minmus, in collaboration with a friend. The basic station design uses an 'H' shape, with two columns connected by a standard width spacer, with each column terminating in a senior docking port. All future components would attach using two docking ports, to allow for perfect alignment.
I've set up a private DMP Server on a VPS in the US. My ping (from Finland) is about 200ms, while my friend in Alaska gets a ping of about 80ms.
My friend launched the station core (named 'Vasnaxos'), and I wanted to bring on our first module; A small adapter that extends docking ports far from the station to allow for large ships:
It should be noted that at this point my friend was in the editor, so all observed latency was as a result of my own latency.
I had to go very slow since I had to attach it at the middle of this long piece. Here I am almost docked:
However about every 45 seconds the station would jump by about a meter or so in its orbit. When I was just about to dock the two senior docking ports, the next jump resulted in the vessel intersecting the station:
At this point I was locked in place, and could not do anything except wait for the next jump, which promptly shifted the station even more, and resulted in the intersecting parts breaking apart:
Suffice it to say after spending a few hours already working on the modules this was pretty disheartening:
So basically, this shouldn't happen ever. We only just started on the station, but this could obviously have happened on station we'd spent days building. I think when within 2.5km and other vessels, maintaining relative positions correctly should be the absolute top priority, over any sort of orbit accuracy.
The only way I think it could have shifted is if it was getting updates - This is possible if there was a player flying the vessel at your planetarium time (but isn't there any more), and you were slightly in the past.
If that's not the case, it could be timeSyncer causing this, but that puts everything on rails and only warps 5 seconds (You can check this with Debug -> Show NTP Statistics).
We gave it another shot; My friend launched another station and I launched another component to dock with it. It took about 15 minutes, for the entire duration of which my friend was in the VAB, and so I was the only player anywhere near the station I was trying to dock with. The debug window was open for the entire duration of the flight: https://www.youtube.com/watch?v=qkUof-cETbY (may still be processing 720p)
You can see at two points I had a very close call where the station did shift inside of my vessel, and I was able to save it by time warping which let me phase out of the station again (I should have remembered that during my first attempt).
As you can clearly see from the video, if the station wasn't constantly moving around I would probably not have taken 15 minutes to dock. There also seems to be a very clear correlation between the Current Error, which tends to go up to about -4500 ms and when it resets back to around -40 ms, that's when the shift occurs. Some sort of offset is not being accounted for when the time error is corrected.
It should also be noted that my fps doesn't seem to be affecting how my error keeps going up to -5000 ms. For example, here is me in an empty VAB: https://www.youtube.com/watch?v=zgfx6qA92Xc - notice the consistent 60fps (top right) and the Current Error which is cycling up to -5000 ms and reseting to 0 ms every few seconds.
I just tried to recreate your scenario (1 player in orbit doing rendezvous with no one else nearby) with a simple ship (Long Probe from http://imgur.com/a/f8W9z 24 parts in flight), but did not see any jumping at all. I stared at it for over 2 minutes.
My subspace time current error stayed within +-10ms and the warp rate held roughly at 1x. @JohannesMP mentioned his warp rate was 1.5x except during the error resets.
Launching a single massive ship I had the same thing, error climbing to -5000ms and correcting making the ship jump slightly.
Starts around 70Km.
http://youtu.be/z3CU0H2Z0Mk
Build is fee69c4
Also in your described example you were trying to dock with a player, while In my case the other player was in a vessel a few hours in the future, and on his timeframe was about 10km away.
I also recall similar issues in an orbit on Kerbin, where the shifting was much more pronounced, so it definitely seems to be related to the orbit and probably the speed both vessels are moving at.
Commit 5afa29d should help fix this issue. will test and close if that seems to be the case