Obfuscate or hide server and client state updates

I don't write this software at all, but it occurred to me that I have no idea how to solve the problem. As the best way to explain the problem, I'll describe a specific scenario from a hypothetical multiplayer first-person shooter ...

  • Player A is hiding in some of the bushes facing west.
  • Player B sneaks up on Player A from the east or sneaks up on Player A

A popular "hack" written for this game would be for player A to have the radar show him the location of player B, although he cannot see player B on his screen and the game does not support radar. This hack is possible because the server is sending information to the client player A to all players within a certain range (possibly in the clipping plane of player A). This would be unrealistic (as far as I know) as the server only tries to send information to the player. Client for players in the player view frame. Since the server has to send information about all neighboring players to player A's client, player A can write a hack that puts a radar on his screen, which fills up by looking at the data sent to the client and pulling the enemy player's state updates. I think they are usually called "radar" or "walls. "

Is there a way to obfuscate or hide the update state of enemy players in the information sent to the client? As I understand it, encryption won't be viable for real-time solutions? Even if the server was only able to send status updates to players in the player's view frame, it would still allow the player to hack players hiding behind camouflages or skins (which were supposedly transparent in a minor order).

The only thing I could think of is to implement some sort of "punkbuster" solution. That is, the client-client regularly reviews illegal processes. The idea was that any popular hacks would be tracked. Unpopular hacks will affect a small enough player base that they are too small to go any further.

0


a source to share


3 answers


This is the only way. In addition to punkbuster, you should do some research on Warden (there is a lot outside of wikipedia that I won't link here). This is a very interesting battle taking into account the laws of online design in the world ...

The client is in the hands of the enemy.



Another element is that people will replace their video drivers with trendy drivers that give them advantages (things are opaque or highlighted, players cannot be blinded, etc.). I'm not sure if any games are being checked for modified drivers or not.

+2


a source


Simple encryption may be viable in real time with today's hardware, but the problem is that in order for a client to access encrypted data, it must have a key. If the client has the key, it may not be too difficult for the cheater's program to find and obtain it. The best way for the server is to only send position B to A if it is possible to see B at all. It can still be fooled, but to a somewhat lesser extent.



A possible solution for cases where B is hiding but a small part may be visible is the server to just say that there is something in position B. It could be a rock or whatnot. The problem is that in order for the client to do something, the server has to provide a fairly accurate description. Given that today's multiplayer games are fake with low latency, mimicking what the server does, this is most likely not possible until we have low latency networks.

+2


a source


There was a program called "eqmon" that did something similar for the Everquest game. At first, the game packs were completely unencrypted and contained all characters (both PC and NPC) for the entire level. Eventually they ended up using encryption to make it harder to snoop packets, but eqmon got around this by rudely forcing the encryption key (a new key was generated by the server every time you entered a level, so it sometimes took a few minutes to decrypt the key). They then changed it so that your client only gets updates for PCs or NPCs in a specific range of your location. This made ekmin less useful for camping and monitoring "rare spawns" far at the same level.

+1


a source







All Articles