View previous topic :: View next topic |
Author |
Message |
Spike
Joined: 05 Nov 2004 Posts: 944 Location: UK
|
Posted: Fri Jul 30, 2010 7:09 pm Post subject: |
|
|
just mod the client to return 'brown' for every single pixel. its close enough that the server can't risk false positives.
would work on 98% of quake's maps, assuming you choose the right shade of brown. you can just hard code it as a palette index. _________________ What's a signature? |
|
Back to top |
|
 |
Baker

Joined: 14 Mar 2006 Posts: 1538
|
Posted: Fri Jul 30, 2010 7:18 pm Post subject: |
|
|
Spike wrote: | just mod the client to return 'brown' for every single pixel. its close enough that the server can't risk false positives.
would work on 98% of quake's maps, assuming you choose the right shade of brown. you can just hard code it as a palette index. |
Yeah, but let's say it is 2 pixels requested.
The server knows pixel #2 is relatively a different shade of brown. The cheater client might know pixel #2 is darker or lighter than pixel #1 just off the lightmap data, but without the texture being rendered wouldn't know what kind of hue difference pixel#2 had in relationship to pixel #1.
Maybe pixel #2 has a greater RGB blue component. Or use HSL comparisons with a statistical margin of error. _________________ Tomorrow Never Dies. I feel this Tomorrow knocking on the door ... |
|
Back to top |
|
 |
Spike
Joined: 05 Nov 2004 Posts: 944 Location: UK
|
Posted: Fri Jul 30, 2010 7:33 pm Post subject: |
|
|
what about software rendering? where the entire screen is a single pixel anyway...
personally I'd just redraw the screen with the proper settings before taking the sample and reporting to the server.
reminds me of the time I made a wallhack for ezquake. that was fun. did it without modifying the exe, bypassing the half-arsed security module. Also made one for software. Now _that_ was fun... No exe modifications! Added new console commands and prints too. And an aimbot. Was fun. I'd dig it up, but I'm too lazy.
msvc2005 has some awkward optimisations by the way.
you can stuffcmd cvar changes to the client, and I can just hex edit the engine, change the cvar name, and laugh as your attempts never find any cvars. _________________ What's a signature? |
|
Back to top |
|
 |
leileilol

Joined: 15 Oct 2004 Posts: 1321
|
Posted: Fri Jul 30, 2010 7:41 pm Post subject: |
|
|
"Winners" whine a lot. Ignore all whine. I learned so, from other games that died due to answering that whine. That other example is Quake4. QUAKE 4. QUAKE 4. Wasteland of elitists.
OpenArena got a lot of flak for protecting against 'vertexlight'. That's not exactly what it says on the tin, but it wasn't abused for performance - just only killing map lighting for player spotting ease. In 2010, vertexlight makes no sense. id Tech 3 games made after Q3 dropped the vertexlight option completely for a reason.
As for the brown detection, couldn't that be circumvented by bringing down the viewsize?! _________________

Last edited by leileilol on Fri Jul 30, 2010 7:46 pm; edited 1 time in total |
|
Back to top |
|
 |
Baker

Joined: 14 Mar 2006 Posts: 1538
|
Posted: Fri Jul 30, 2010 7:46 pm Post subject: |
|
|
Spike wrote: | what about software rendering? where the entire screen is a single pixel anyway...
personally I'd just redraw the screen with the proper settings before taking the sample and reporting to the server. |
The server wouldn't ask for this from the client.
It would be expected to constantly be sent from the client just like the light level in Quake 2.
The server obviously wouldn't compare notes on each pass, but maybe once every few seconds. The client wouldn't have the slightest clue as to when to fake the data, it would need to fake the data every single frame. _________________ Tomorrow Never Dies. I feel this Tomorrow knocking on the door ... |
|
Back to top |
|
 |
Spike
Joined: 05 Nov 2004 Posts: 944 Location: UK
|
Posted: Fri Jul 30, 2010 8:40 pm Post subject: |
|
|
so just a traceline that samples texture and lightmap? okay! Still, the accurate ones are the ones that you'd kick. _________________ What's a signature? |
|
Back to top |
|
 |
mh

Joined: 12 Jan 2008 Posts: 909
|
Posted: Fri Jul 30, 2010 8:46 pm Post subject: |
|
|
And if your palette goes apeshit and sends you on the worlds greatest LSD trip, like it occasionally does in WinQuake (oh the joys of SciTech MGL!), and if that happens at just the wrong time, now you have two reasons to be pissed off.
Nah, any kind of client-side cheat protection is bogus really. You expend a lot of time and effort until somebody finds a way through. It need not be a specific cheater, it could be anyone, even someone like Spike doing it for the intellectual exercise or because it seemed like an interesting challenge or a piece of fun. Totally for innocent reasons, but the important thing is that they get through and that knowledge of the way through gets out, and then the cycle begins again.
I applaud the concept of trying to find a viable fix, but on balance strengthening the server is a better investment of time and effort. Stuff like anti-wallhack, for example. But a client is a piece of executing code that you literally do not have direct control over, so until the day comes when bandwidth and latency are improved to the extent that you can move huge chunks of client code to the server, you need to start with acceptance of the fact that your essentially helpless with regard to what it does, and work from there. _________________ DirectQ Engine - New release 1.8.666a, 9th August 2010
MHQuake Blog (General)
Direct3D 8 Quake Engines |
|
Back to top |
|
 |
mh

Joined: 12 Jan 2008 Posts: 909
|
Posted: Fri Jul 30, 2010 8:48 pm Post subject: |
|
|
Spike wrote: | so just a traceline that samples texture and lightmap? okay! Still, the accurate ones are the ones that you'd kick. |
Store the texture and lightmap data in main memory inna WinQuake stylee, and just send that. Couple of array lookups, some trivial calculations, and the protection is circumvented. _________________ DirectQ Engine - New release 1.8.666a, 9th August 2010
MHQuake Blog (General)
Direct3D 8 Quake Engines |
|
Back to top |
|
 |
Spike
Joined: 05 Nov 2004 Posts: 944 Location: UK
|
Posted: Fri Jul 30, 2010 8:50 pm Post subject: |
|
|
also, what happens if a particle or player or explosion sprite or something gets in the way? _________________ What's a signature? |
|
Back to top |
|
 |
mh

Joined: 12 Jan 2008 Posts: 909
|
Posted: Fri Jul 30, 2010 9:11 pm Post subject: |
|
|
Reminds me of a Voodoo Banshee I had years ago where the mipmapping would occasionally go berserk, turning all miplevels after the 2nd or 3rd pure white. _________________ DirectQ Engine - New release 1.8.666a, 9th August 2010
MHQuake Blog (General)
Direct3D 8 Quake Engines |
|
Back to top |
|
 |
Spike
Joined: 05 Nov 2004 Posts: 944 Location: UK
|
Posted: Fri Jul 30, 2010 9:50 pm Post subject: |
|
|
gl_maxsize 24 rocks. :) _________________ What's a signature? |
|
Back to top |
|
 |
leileilol

Joined: 15 Oct 2004 Posts: 1321
|
Posted: Fri Jul 30, 2010 10:21 pm Post subject: |
|
|
mh wrote: | Reminds me of a Voodoo Banshee I had years ago where the mipmapping would occasionally go berserk, turning all miplevels after the 2nd or 3rd pure white. |
Trilinear sucks on that card. _________________
 |
|
Back to top |
|
 |
mh

Joined: 12 Jan 2008 Posts: 909
|
Posted: Fri Jul 30, 2010 10:52 pm Post subject: |
|
|
leileilol wrote: | mh wrote: | Reminds me of a Voodoo Banshee I had years ago where the mipmapping would occasionally go berserk, turning all miplevels after the 2nd or 3rd pure white. |
Trilinear sucks on that card. |
Everything sucks on that card, my friend.  _________________ DirectQ Engine - New release 1.8.666a, 9th August 2010
MHQuake Blog (General)
Direct3D 8 Quake Engines |
|
Back to top |
|
 |
mk

Joined: 04 Jul 2008 Posts: 94
|
Posted: Fri Jul 30, 2010 10:56 pm Post subject: |
|
|
Limiting the speed at which the view angles changes (let's say, setting it to a maximum of # degrees per frame) is something that could be done on the server, and would turn aimbots ineffective when the targets are too far away from the center of the view to be targeted in a single frame. _________________ Makaqu engine blog / website.
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn. |
|
Back to top |
|
 |
Baker

Joined: 14 Mar 2006 Posts: 1538
|
Posted: Fri Jul 30, 2010 11:20 pm Post subject: |
|
|
mh wrote: | And if your palette goes apeshit and sends you on the worlds greatest LSD trip, like it occasionally does in WinQuake (oh the joys of SciTech MGL!), and if that happens at just the wrong time, now you have two reasons to be pissed off. |
8 bit WinQuake shouldn't have the problem. You don't need to read from the dib, you read from the buffer which has a value from 0-255. Whether or not the palette goes apeshit doesn't change the fact the pixel in the buffer is correct.
Spike wrote: | also, what happens if a particle or player or explosion sprite or something gets in the way? |
The demon is in the details. What if the console is down?
Still, I think this idea is certainly on the right track. _________________ Tomorrow Never Dies. I feel this Tomorrow knocking on the door ... |
|
Back to top |
|
 |
|