The behavior I went with here was to send them to 0,0 always (since
that's likely to be spawn) unless it was 0,0 itself that crashed, in
which case they go to 1,0.
This uses the same mechanism as a normal teleport - set the player's
location and send PlayerLeavePlot to the server process.
I do still save the player's data in Plot::drop as it was before, for
the case where something goes wrong with the transfer and they loose
connection anyway.
It seems to work quite consistently in my testing, both unintentional
crashes, and I was testing by adding a "/crash" command that just calls
panic!().
Don't kick them! :D
The behavior I went with here was to send them to 0,0 always (since that's likely to be spawn) unless it was 0,0 itself that crashed, in which case they go to 1,0.
This uses the same mechanism as a normal teleport - set the player's location and send PlayerLeavePlot to the server process.
I do still save the player's data in Plot::drop as it was before, for the case where something goes wrong with the transfer and they loose connection anyway.
It seems to work quite consistently in my testing, both unintentional crashes, and I was testing by adding a "/crash" command that just calls panic!().