Page 1 of 1

Haudrauf's column

Posted: Tue Sep 07, 2004 8:19 am
by n99
http://www.aq2world.com/?p=features&id=25&page=1

This column is already 'old' but I had not read it before. That's why I am saying something about it here, rather than in the comments that will no longer be read by anymore.

I found it a really nice thing to read about, but developing a universal client should work a little bit differently. Instead of running it as a primary, why not make it into some sort of universal add-on (with all the features mentioned) for all other clients that choose to support it. That way, the whole anti-cheat client becomes a separate issue. I do not know if this would be possible, or that it would lead to the 'add-on' (for lack of a better term) would be hacked as an entrypoint into the anti-cheat client itself. Alas, I am a noob.

I want say one more thing to Moose, which is quite an important reason I've recently come back from my preference for NoCheat (I'm still using it though, too lazy to swap). Let me quote your comment, Moose:
In the end NC makes cheating a bit more harder but in my eyes the use of NC does not prove anyones innocense.
Only that's the whole point, nobody has to prove his innocence, it's the task of the prosecuting party (in this case the collective of admins) to prove someone is guilty.

That is actually why I will stop using NoCheat; the problem is being tackled the wrong way - Instead of developing clients that may or may not prevent the user from cheating, things should be made that enables the admin's to monitor and detect more easily. I think I will stop using NC this weekend, and switch to a client that offers me features instead. There has a long thread on that subject already, but if anyone wanna help me pick a good one and tweak it , I would be gratefull.

Posted: Tue Sep 07, 2004 9:55 am
by Haudrauf
Features often get invented particular for one client at first. But the GPL ensures that these features are open sourced.

So, basically, every nice feature you ever saw can be built into another client "easily" if you know how to code C. Additional features that differ from the original q2-client should always be possible to be turned off so it makes sure, people won't be forced to use them (like eye-candy).


Your aspect of having a module-system, in which you could put different modules (features) as an add-on to a quake2-client isn't that new either.
Coders would have to define an interface (API) first. A client with an API could provide you with the clients-data.
But imagine the mis-use of such an API resulting in possible cheats like aiming, autoshoot, other information about the on-going game (the aq2-case: how many are opponents are left? Is the one I hear a friend?) and so on.

Having some thoughts about it...
either you could have a check to see which modules (and display what they do) are loaded or you go the simple way: Just already insert the nice legal features into the client and let it be part of the anti-cheating (checksums) check.

In general: Like with many other programs there are many possibilities to hook your own code before or after someone elses code. But externally hooking something right into the source is not that easy without breaking something else (checksum).


In fact, I like this idea.. :) But this is mainly because I like advanced technology stuff. It's just again the problem: Who will give it a try to code it? And, whoever goes for it, he would be about to rewrite big parts of the current Quake2 source. (Uff)

Edit: Fuhquake has two parts. The security-module and the whole client. All features go into the client. The security-module for it is additional. :) There, you just put the .dll (or on linux the .so) file into the fuhquake directory and your client will authenticate.
You see: the main priority on Fuhquake was features and a second priority was the security.

Posted: Tue Sep 07, 2004 9:59 am
by n99
So basically, for it to be deemed safe, modules inserted into an anti-cheat client would have to be done by the person (or plural.) who wrote the client himself, even if the modules are not. Therefor, NoCheat is not an option for use in conjunction with this (fictional) project, since Bryce has made it clear he is unwilling to add anything other than more cheat protection from now on.

Anyway, as you said, you seem to like 'advanced technological stuff'; which means I may or may not have grasped everything - I will have to reread it when my mind is more at ease. Right now, I'm very much on edge.

Posted: Tue Sep 07, 2004 10:03 am
by Haudrauf
The modules have to be at least "accepted" by the security-maker (speak: the one that has the main-control over the client-sourcecode).

So he could say: "Yes, this module is a nice and official well-known module - so my security system authenticates it as 100% allowed."

btw: I agree to your comment about Mooses comment. Everyone is innocent until his guilt has been proved.

The NoCheat was, at first, a utility for admins to make their life finding cheaters (possible proxies) easier... But right after hacks appeared, it's quite the opposite. :) Now everyone is possibly guilty when using NoCheat.
If I wanted to cheat, I would, of course, use a client, that authenticates as a NoCheat client. => Dilemma.
If you have no trust => Live with paranoia and think: Everybody cheats.

What a crap life would it be.