Need help or wanna reach out? Do so on the Discord! https://discord.gg/jBGMZqndT3 This mod does have a soft dependency on ModList.
Some time ago (around March 2024) after an update to the way Steam handles Peer2Peer connections (SteamP2P), Crab Game lobbies with around 12 players or more started seeing players just floating in place for the entirety of games, never moving or rotating, only punching and using items. The reason for this is whatever that Steam P2P update did made it more difficult to establish P2P connections with players, especially with those located further away or when the lobby has larger player counts. Personally, I suspect that Steam implemented some form of rate limit on how many connections can be established within a period of time, which would explain why a ton of players joining at once, and larger lobbies in general, have these issues.
Most games will make clients send position and rotation data to the host for the host to verify, and then the host will either forward that information to all clients or block it if the data seems illegitimate or cheated, which is why server side anti cheats work. The problem with Crab Game is that this position and rotation isn't sent to the host and then to all players, rather it is sent directly from client to client with no host to verify it as the middle man. This technically means cheaters can lie to the host about their position to seem legit, and then use movement cheats and fling other players out the map without the host knowing who is doing it and I hate it, but that's getting off topic lol.
Because of this method of sharing player position and rotation data, and with players not being able to establish connections with each other due to the Steam P2P update, player position and rotation packets never reach each other, thus resulting in players floating indefinitely until a connection is randomly established. Some may ask the question: "Why does the server host never see any floating players?" and that's because a connection had to be established for the client to join the lobby in the first place. Until that connection is established, you will sit on the joining server screen. Another question that could be asked is: "Why can I see floating players punching, holding items, attacking with said items, and firing guns?" which is because that information isn't sent client to client. The client swinging sends the packet to the host, and then the host sends a packet to the rest of the clients to handle.
Though this method Dani used isn't exactly safe against cheaters who abuse it or good for the Steam P2P connection issues, it was good at updating player positions and rotations faster (as it'd take less time for packets to reach each other if there's no middle man) and also helped somewhat with internet bandwith usage. You can see it when looking at players far away on maps like Sussy Slope (the ice Race map with the large slide), the game sends less postion and rotation packets the further you are from somebody, resulting in them looking like they're telporting a couple units at a time.
Essentially all the mod does is take the positions and rotations the clients send to you as the host, and then send those positions and rotations back out to all clients. Though this seems like a foolproof method of fixing the floating player issue, there are some caveats:
I do hope this mod can bring back some life to Crab Game, I find it very fun to play, and it's even better when played with a lobby of 30+ randoms lol.
TLDR:
Happy hosting! :D