Why do we still complain about wallhackers in multiplayer first-person shooters?

Isn't it possible to perform occlusion culling for all players server-side? For example, send player xyz information to client only when the player is visible in client's frustum and not occluded by any object ? Even if the collision-geometry is very, very simplified, most of the time cheater won't receive tactical information.

Why not do this?


Think you're lagging now? Just wait 'till you have to get real-time occlusion information from the server. Now you can walk around from behind a wall and bad guys will suddenly pop into view as the server catches up and sends you the updated occlusion data.

So my snarky comment tells it all. Likely the primary reason not to do this is lag and server load. If you want the server to know when another player is visible to you, that means the server has to know exactly what geometry each player is looking at and calculate that occlusion.

I agree that exploits like wall hacking can make the game not fun. And I see that developers would worry about this because they want to make the game as fun as possible. However, when developers get to the point where their anit-cheat/hack counter-measures diminish game play and/or customer satisfaction, they'll lose far more customers than if they had just left it alone. See DRM.

  • 3
    \$\begingroup\$ +1 for urging that anti-cheat/hack countermeasures should never diminish the experience of an innocent customer. \$\endgroup\$ – doppelgreener Apr 18 '12 at 2:31

It's doable, and has been tried in research before; for a comparison of interest management schemes, see http://dl.acm.org/citation.cfm?id=1230069

As Byte56 said, it may require more CPU, but it may reduce your bandwidth, and reduce the likelihood of wall-hacks.

And as Byte56 said, an interest area strictly limited to the player's occlusion-area may reduce responsiveness on the client-side: ambushes will take at least half a round-trip to be displayed. However, you could make the player's interest area slightly larger than the occlusion area, so that the client receives the opponent's ambush a few seconds before it happens. That way, wall-hacks are still possible, but only at the very last moment.

  • \$\begingroup\$ Nice, thanks for bringing some actual research to the answers. Welcome to GDSE. \$\endgroup\$ – MichaelHouse Apr 18 '12 at 15:48

The short answer is that yes, server side occlusion culling is possible, but it's often not done due to complexity and limited benefit.

Keep in mind that for a large portion of modern FPS games, complete occlusion is rare. Characters these days use cover or hide in grass, and the actual uniforms and camouflage actually has an impact on visibility. Walls and corridors still play a large part of online battle, but not as much as in years past.

Games with lots of tight corridors and opaque surfaces can (an sometimes have) used occlusion culling on the server for event filtering. This just doesn't work so well for large open environments and realistic cover/camo games.

Wall hacking is also only one small part of cheating in online games, and fixing each individual hack has not worked well so far. The best approaches have simply been high quality match making and player rating systems that filter out the cheaters and decrease the likelihood getting put into a frustrating match.


Cant game devs just write a side program that basically takes full control of the pc and doesn't allow any 3rd party software to load while the game is running? Don't they have to load the injectors after the game is started and mapped to memory? So just black list everything non os related from running. They have to make a type of UAC to stop services from loading after the game is loaded..

My other idea to completely prevent hacking is a bit more complex and involves running games like a linux live drive os.. Basically the game wouldn't use windows at all but use its own stripped down os which is designed to only have games load. So gamers might wanna stream or play music while gaming but this new way of running a game won't allow it.. Big deal, the devs could whitelist programs and stuff but I wouldn't bother.. you're trying to play a game, if you wanna multi task have a laptop near by etc.. Essentially you wanna run the game in sandboxie mode with encryption.. I think that is what its called.. Its like running a a game in a virtual temp os environment which is 100% controlled by the game maker.

And this sandboxie mode would be very similar to how console os and games function.. We don't see many hacks on console.. Wonder why? Because they can't load them onto the console and if they could the consoles os wouldn't be able to even read it recognize it.

  • 1
    \$\begingroup\$ No, a game dev can't write a side program that takes full control of the PC. That's what an operating system is. An operating system has to register with the kernel when the computer starts up to get its privileges, and re-invoking them otherwise is costly. Additionally, we call side programs taking full control of a PC "unsafe" and "viruses," because they are. The program having full control also means that security in-game is even more important, since any hack that can cause communication between client programs can literally steal any and all data off of all client devices. That's bad. \$\endgroup\$ – Delioth Jun 20 '17 at 21:37
  • 1
    \$\begingroup\$ As another point, you're telling me I'd have to restart my PC in this barebones OS just to play your game? I'm calling for a refund since there shouldn't be a 5-10 minute startup and shutdown time for your game, wherein I can't do anything with my two screens because the computer is turned off. And not everyone can afford to buy an extra laptop just to multitask while they play one specific game (It better be a damn good game if it takes 20 minutes just starting and stopping and forces me to spend $400 to have music/reddit in the background). \$\endgroup\$ – Delioth Jun 20 '17 at 21:40
  • \$\begingroup\$ Well then deal with people ruining games on pc.. Shooters are complete write offs these days because they are riddled with esp etc. Bf1 on pc is a good example.. I don't even know why they bother releasing them on pc anymore, it was hacked before it even came out. \$\endgroup\$ – TJ L Jun 20 '17 at 21:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.