MCHPR / MCHPRS

A multithreaded Minecraft server built for redstone.
MIT License
1.59k stars 69 forks source link

Send player to a different plot on crash #40

Closed tyler569 closed 3 years ago

tyler569 commented 3 years ago

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!().