Suggestion about an idea for a reasonable way to catch cheaters [technical rant]
Dead by Daylight servers, as far as I know, work like dumb network switches, sending the player actions to everyone, and all the game-logic is always processed only on the client machines.
This is intended, because DbD not being a subscription service game, they have to minimize server costs, and this is the cheapest you can design the software for minimum server hardware and hosting costs.
Cheating would be almost impossible if the servers would check the game logic for each player while running a game, but that would make server costs unreasonably high, so that's not a solution.
There may be people that think that player validation of the other players on the match should be done on the client, so any player on the match can identify a cheater; but that could be exploited by cheating software to falsely accuse another player of having done an illegal action, so it's not a solution.
So what's my idea for a solution? arbitrage paid by tokens:
- Add the ability to the server software to temporarily store the network packets for all 5 players of a match. This data will be discarded if a post-match lobby is closed and nobody asks for arbitration.
- On the implementation day of this feature, all players will be given 3 arbitration tokens. Nobody can have more than 3. Each token gives you the right to ask for arbitration of a single game. If you are under the maximum number of tokens, you will be awarded a single token every 25 matches. If you are out of tokens, you may use 5000 iridescent shards instead.
- If a player is playing a game and suspects someone's cheating, they can ask for arbitration using a token in any moment during the game, and until the post-match lobby closes. No other players are notified of someone asking for arbitration, and the match will progress as normal.
- If someone in a match asks for arbitration, the server will not discard the network data for the players, and it will put all this data on the "arbitration queue", where it will wait there until there's enough free servers (for example on low player count hours), where a server will replay the game with virtual game clients to check if there was someone that was doing something strange that cannot be attributed to normal network issues (lag or microcuts). All this will be done automatically, as it should be trivial to detect cheating this way.
The token system, and the small amount of tokens available makes people use the arbitration system only when they're really sure there's a cheater in their game, and prevents cheaters from abusing it to make it less effective, keeping the server cost of this system reasonable.