Submerged icon indicating copy to clipboard operation
Submerged copied to clipboard

O2 deaths kick players for cheating

Open Alexejhero opened this issue 10 months ago • 11 comments

Reported on Discord:

If someone doesn't get a mask, that person will be automatically kicked out and banned from the lobby.

Investigation needed

Alexejhero avatar Mar 03 '25 00:03 Alexejhero

Since PlayersWithMasks gets networked could we not let everyone run the local PlayerControl.MurderPlayer and ExitVent at kill check instead, Essentially not dealing with rpc stuff?

whichtwix avatar Mar 12 '25 21:03 whichtwix

I would want that to be host authoritative.

I don't understand how this causes issues - I don't use the MurderPlayer Rpc directly and I already setup a custom Rpc for it.

Alexejhero avatar Mar 14 '25 05:03 Alexejhero

Does this only happen on vanilla servers? I believe its because of the innersloth gamedata call rate-limit

Pietrodjaowjao avatar Mar 29 '25 19:03 Pietrodjaowjao

this happens on meu too, mna im not sure since it has relaxed anticheat so it might not happen but maybe it does

whichtwix avatar Mar 29 '25 19:03 whichtwix

im pretty sure the kick is caused by "non-host tried to serialize GameData"

Pietrodjaowjao avatar Mar 29 '25 19:03 Pietrodjaowjao

no its because only host is allowed to send rpcmurder now

whichtwix avatar Mar 29 '25 19:03 whichtwix

yeah, submerged is using StartRPC instead of reactor rpcs, please use reactor methodrpcs instead, some servers might kick you for unknown rpcs while not being host or sending to a target that you dont own, reactor methodrpcs bypass that since its a new gamedata call

Pietrodjaowjao avatar Mar 29 '25 20:03 Pietrodjaowjao

We don't call RpcMurderPlayer

Alexejhero avatar Mar 30 '25 07:03 Alexejhero

but then what is this? https://github.com/SubmergedAmongUs/Submerged/blob/bc586174a66a96fcf8043badcb14ed3eee38acb5/Submerged/Systems/Oxygen/SubmarineOxygenSystem.cs#L64

i see here https://github.com/SubmergedAmongUs/Submerged/blob/bc586174a66a96fcf8043badcb14ed3eee38acb5/Submerged/KillAnimation/Patches/OxygenDeathRpcPatches.cs#L15 the rpc call gets changed to oxygen but it gets converted from oxygen to rpccalls.murderplayer at reciever end so it is prob treated as murder

whichtwix avatar Mar 30 '25 19:03 whichtwix

Yeah that should prevent the innersloth anticheat from detecting it

If there's anticheat on the host as well then I guess yeah that would be a problem

Alexejhero avatar Mar 30 '25 19:03 Alexejhero

the problem is that innersloth anticheat adds ownership checks even to rpcs that dont exist in vanilla while Impostor server will ban because of unregistered call

Image

thats why its better to use reactor methodrpcs, most modded servers already have the Reactor plugin in it

Pietrodjaowjao avatar Mar 30 '25 21:03 Pietrodjaowjao

Will be fixed in the next version

Alexejhero avatar Oct 19 '25 23:10 Alexejhero