jasonrohrer / OneLife

a multiplayer survival game of parenting and civilization building
http://onehouronelife.com
Other
1.01k stars 281 forks source link

Objects with move transitions when held by client causes server to spam and disconnect all surrounding clients #1124

Open connorhsm opened 2 months ago

connorhsm commented 2 months ago

@jasonrohrer there have been multiple cases where objects cause all players in an area to disconnect.

This is happening where an animal has multiple objects, a ground and a held version. The ground version has a move transition and also transitions into the held version when picked up or picked out of a container.

Because the ground version has a move transition, it cannot be held by the player. If it is, the player cannot put it down and the server aggressively spams all surrounding clients with the update, with no end until the player starves.

There are many ways you could accidentally achieve this with the editor, but in this case you're able to put the ground version in a clothing slot when the clothing is on the ground, if you then put the clothing on yourself and take the ground version out of the slot, it does not transition into the held version.

This is rather easy to happen in an environment like AHAP where these concepts are easily forgotten.

https://github.com/user-attachments/assets/cd98bfa5-bd5e-40b8-92b0-b11d55e7d5a3

connorhsm commented 2 months ago

Disconnect is apparent on the live server, but not locally as shown in the video.

connorhsm commented 2 months ago

Currently effects