Send player to a different plot on crash #40
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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!().