Inside3D!
     

Stopping Picmip 45234 graphics destruction?
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic    Inside3d Forums Forum Index -> Engine Programming
View previous topic :: View next topic  
Author Message
Spike



Joined: 05 Nov 2004
Posts: 944
Location: UK

PostPosted: Fri Jul 30, 2010 7:09 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Baker



Joined: 14 Mar 2006
Posts: 1538

PostPosted: Fri Jul 30, 2010 7:18 pm    Post subject: Reply with quote

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. Twisted Evil

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
View user's profile Send private message
Spike



Joined: 05 Nov 2004
Posts: 944
Location: UK

PostPosted: Fri Jul 30, 2010 7:33 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
leileilol



Joined: 15 Oct 2004
Posts: 1321

PostPosted: Fri Jul 30, 2010 7:41 pm    Post subject: Reply with quote

"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
View user's profile Send private message
Baker



Joined: 14 Mar 2006
Posts: 1538

PostPosted: Fri Jul 30, 2010 7:46 pm    Post subject: Reply with quote

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
View user's profile Send private message
Spike



Joined: 05 Nov 2004
Posts: 944
Location: UK

PostPosted: Fri Jul 30, 2010 8:40 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
mh



Joined: 12 Jan 2008
Posts: 909

PostPosted: Fri Jul 30, 2010 8:46 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
mh



Joined: 12 Jan 2008
Posts: 909

PostPosted: Fri Jul 30, 2010 8:48 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Spike



Joined: 05 Nov 2004
Posts: 944
Location: UK

PostPosted: Fri Jul 30, 2010 8:50 pm    Post subject: Reply with quote

also, what happens if a particle or player or explosion sprite or something gets in the way?
_________________
What's a signature?
Back to top
View user's profile Send private message Visit poster's website
mh



Joined: 12 Jan 2008
Posts: 909

PostPosted: Fri Jul 30, 2010 9:11 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Spike



Joined: 05 Nov 2004
Posts: 944
Location: UK

PostPosted: Fri Jul 30, 2010 9:50 pm    Post subject: Reply with quote

gl_maxsize 24 rocks. :)
_________________
What's a signature?
Back to top
View user's profile Send private message Visit poster's website
leileilol



Joined: 15 Oct 2004
Posts: 1321

PostPosted: Fri Jul 30, 2010 10:21 pm    Post subject: Reply with quote

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
View user's profile Send private message
mh



Joined: 12 Jan 2008
Posts: 909

PostPosted: Fri Jul 30, 2010 10:52 pm    Post subject: Reply with quote

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. Laughing
_________________
DirectQ Engine - New release 1.8.666a, 9th August 2010
MHQuake Blog (General)
Direct3D 8 Quake Engines
Back to top
View user's profile Send private message Visit poster's website
mk



Joined: 04 Jul 2008
Posts: 94

PostPosted: Fri Jul 30, 2010 10:56 pm    Post subject: Reply with quote

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
View user's profile Send private message
Baker



Joined: 14 Mar 2006
Posts: 1538

PostPosted: Fri Jul 30, 2010 11:20 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Inside3d Forums Forum Index -> Engine Programming All times are GMT
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2004 phpBB Group