Announcement

Collapse
No announcement yet.

Put cheatfree on dm.quaketx

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #91
    It really isn't supposed to be an issue,as it was resolved YEARS ago, until recently it wasn't a issue of concern, when the measures put in place to circumvent wallhacking are REMOVED, then it once again became a (real) concern.

    Not mentioning the whole one bad apple stuff...
    Want to get into playing Quake again? Click here for the Multiplayer-Startup kit! laissez bon temps rouler!

    Comment


    • #92
      There aren't exactly a lot of us left. I'm surprised cheating is even an issue with a core of enthusiasts like this one. We're not a random collection of kids.
      True, but to make a wallhack one only needs a single opengl command.

      But also, the sv_cullentites function SAVES bandwidth usage by not sending information to the client about entities that it cannot see. So, the server and clients would run more efficiently.

      Well, the box I'm running is Debian linux, so I'm running the proquake for linux dedicated server 3.90. The source available for download is the same version..
      Ya same function in the linux version. I can recompile it if you cannot..
      Last edited by R00k; 08-08-2011, 06:54 PM.
      www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

      Comment


      • #93
        I'd like to try to compile it myself..I just don't know what libraries are needed. Are we talking standard ./configure, make, make install?

        Comment


        • #94
          Originally posted by omicron View Post
          That's the third game where he won 6-3, the second game I won 12-2. Are you here to lie and deceive people? Why don't you practice, since you're god awful at the game.
          i dont even play quake anymore and i can tell you straight up your absolute garbage, you've always sucked, you can have 30 ping get your ass kicked and still talk shit, just admit you fucking suck.

          Comment


          • #95
            "Particle", you do realize that some of the same people you play with right now in TDM were known cheaters back in the day?

            It's kind of like this..

            A band of thieves steal some gold.. they do it over and over and over again at several locations until they're caught red handed.. the town police gates up the city and puts security up front..

            then a few years later.. a new town is built and this town has no security but plenty of gold remains.. some of the thieves have changed their ways.. but others are contemplating about looting the easy gold..

            do you get what I'm getting at?

            Don't put it past anybody to cheat.. some of the people I played with for years were cheating in the same clans as me without me knowing.. they were caught in some of the practices with random admin auto screenshots..

            just because there only remain a small few.. doesn't mean some of the more dedicated ones wouldn't want to gain an advantage.. especially if there is no repercussion and no one will find out.. why is it such a problem to just put anti-hacks up? people are opposed to it because they want to see some glow around quads and pents? Sound is your friend.. I never saw any glow in the TDM matches but I knew perfectly well where they were because of sound.. are you kidding me? and r00k basically just debunked that entire argument..

            Comment


            • #96
              Len for the record, omicorn doesn't suck, he's decent but he's insecure about it and wants people to think he's the best Quaker around.. I think sometimes you just have to count your marbles and realize some people just have more than you do.. there is no shame in that.. no one is going to be the best at everything.. I think it's good to be humble and accept that you can get better. You should never think you're the shit and try to convince everyone of it through words.. you make a lot of enemies this way

              in reality, he is a pretty skilled player far better than the 'average' Quaker.. but he is certainly a bit outside the top tiers

              Comment


              • #97
                Originally posted by Rampage View Post
                Len for the record, omicorn doesn't suck, he's decent but he's insecure about it and wants people to think he's the best Quaker around.. I think sometimes you just have to count your marbles and realize some people just have more than you do.. there is no shame in that.. no one is going to be the best at everything.. I think it's good to be humble and accept that you can get better. You should never think you're the shit and try to convince everyone of it through words.. you make a lot of enemies this way

                in reality, he is a pretty skilled player far better than the 'average' Quaker.. but he is certainly a bit outside the top tiers
                for as much shit as he talks, he sucks.

                Comment


                • #98
                  GG earlier ,Ramp.
                  Want to get into playing Quake again? Click here for the Multiplayer-Startup kit! laissez bon temps rouler!

                  Comment


                  • #99
                    ramp, the sound only really tells you so much, as i mentioned in my post, if you were at mound looking up, sound wouldn't tell you where the guy with quad was going to (YA, pent window, RA), likewise, if you're waiting at the top of RA, sound won't tell you when the quad guy is about to enter thru the Rotunda, or when you are inside the YA box, sound won't tell you that the quad guy is coming from upper bridge so you can leave before he fires a rocket inside, etc.

                    a lot of people cheated back then (me included), but a lot of us were also like 11-13 years old playing this game. i think everyone in this community is pretty much an adult now. i stopped cheating when the qsecurity.dll came out and never looked back and honestly have never been suspicious of any other players since because i know that there's no way any active player can get away with it, just the random player who usually get caught anyways eventually

                    can you honestly point out a single dm'er now who you think cheats (excluding kimp i guess since people have their mixed opinions)?


                    likewise, none of this explains why you'll have the same players leading at a cheatfree server then one without it, i.e lenny, TV, etc, and i guess some others, but the point is that players don't all of a start sucking when we change servers, and dmtx has only been up for a few months
                    if somebody honestly wanted to cheat i'm 100% positive they could do it wether the server is "cheat-free" or not

                    but with that said, can tremor/someone look into that line that rook posted?
                    that would be awesome if this could be fixed with something so simple

                    i'm guessing that code would allow the player with the powerup to glow while disabling all the other data sent?
                    would be nice to get this thing over with and see if supposedly some of these players who arn't playing dm because of this server will start playing
                    Last edited by rcade; 08-09-2011, 10:11 AM.

                    Comment


                    • retro, while I don't want to come off as sounding like sound is the solution to everything because it's not.. but I don't think wanting glow around quad/pent in order to even out gameplay isn't enough of a valid/legitimate reason to have a server without hack protection..

                      Comment


                      • Rook has the answer
                        Sound can be misleading if used to your advantage it is a potent weapon.
                        Never trust your ears.
                        WARNING
                        May be too intense for some viewers.
                        Stress Relief Device
                        ....BANG HEAD HERE....
                        ---------------------------
                        .
                        .
                        .
                        .
                        .--------------------------

                        Comment


                        • Mmkay,

                          I downloaded the proquake linux source, modified sv_main.c with r00k's code but am now getting this on compile:

                          sv_main.c: In function ‘SV_InvisibleToClient’:
                          sv_main.c:703: error: invalid operands to binary & (have ‘float’ and ‘int’)
                          sv_main.c:703: error: invalid operands to binary & (have ‘float’ and ‘int’)
                          sv_main.c: In function ‘SV_InvisibleToClient2’:
                          sv_main.c:749: error: invalid operands to binary & (have ‘float’ and ‘int’)
                          sv_main.c:749: error: invalid operands to binary & (have ‘float’ and ‘int’)
                          make: *** [unixded-sv_main.o] Error 1

                          I put r00k's code in both SV_InvisibleToClient and SV_InvisibleToClient2.
                          ./configure
                          make unixded

                          Comment


                          • cc:

                            Okay fixed it, and checked it locally and it works perfectly!

                            Here's my entire SV_InvisibleToClient function
                            Code:
                            qboolean SV_InvisibleToClient(edict_t *viewer, edict_t *seen)
                            {
                            	int i;
                            	trace_t	tr;
                                vec3_t	start;
                                vec3_t	end;
                            	extern trace_t SV_ClipMoveToEntity (edict_t *ent, vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end);
                            	extern qboolean CL_Clip_Test(vec3_t org);
                            	int it;
                            
                            	if (seen->tracetimer > sv.time)
                            		return false;
                            
                            	it = (int)(seen->v.items);
                            
                            	//R00k: DM players want to see the Quad/Pent glow. Dont cull them at the moment...(fixme)
                               	if ((strcmp(pr_strings + seen->v.classname, "player") == 0) && ((it & IT_QUAD) || (it & IT_INVULNERABILITY)))
                            	{
                            		return false;
                            	}	
                            
                            	if (sv_cullentities.value == 1)    //1 only check player models, 2 = check all ents
                            	{
                            		if (strcmp(pr_strings + seen->v.classname, "player"))
                            			return false;
                            	}
                            /*
                            	if (seen->v.movetype == MOVETYPE_PUSH )
                                {
                            		if (sv_cullentities.value == 3)    
                            		{
                            	 		if (CL_Clip_Test(seen->v.origin)== false)
                            				return false;
                            		}
                            		else
                            			return false;
                                }
                            */
                                memset (&tr, 0, sizeof(tr));     
                                tr.fraction = 1;
                            
                                start[0] = viewer->v.origin[0];
                                start[1] = viewer->v.origin[1];
                                start[2] = viewer->v.origin[2] + viewer->v.view_ofs[2];
                            
                                //aim straight at the center of "seen" from our eyes
                                end[0] = 0.5 * (seen->v.mins[0] + seen->v.maxs[0]);
                                end[1] = 0.5 * (seen->v.mins[1] + seen->v.maxs[1]);
                                end[2] = 0.5 * (seen->v.mins[2] + seen->v.maxs[2]);            
                            
                                tr = SV_ClipMoveToEntity (sv.edicts, start, vec3_origin, vec3_origin, end);
                            
                            	if (tr.fraction == 1)// line hit the ent
                            	{	
                            		seen->tracetimer = sv.time + 1;
                                    return false;
                            	}
                            
                                memset (&tr, 0, sizeof(tr));                
                                tr.fraction = 1;
                            
                            	//last attempt to eliminate any flaws...
                                if ((!strcmp(pr_strings + seen->v.classname, "player")) || (sv_cullentities.value > 1))
                                {
                                    for (i = 0; i < 64; i++)
                                    {
                                        end[0] = seen->v.origin[0] + offsetrandom(seen->v.mins[0], seen->v.maxs[0]);
                                        end[1] = seen->v.origin[1] + offsetrandom(seen->v.mins[1], seen->v.maxs[1]);
                                        end[2] = seen->v.origin[2] + offsetrandom(seen->v.mins[2], seen->v.maxs[2]);
                            
                                        tr = SV_ClipMoveToEntity (sv.edicts, start, vec3_origin, vec3_origin, end);
                                        if (tr.fraction == 1)// line hit the ent
                            			{
                            			    Con_DPrintf (va("found ent in %i hits\n", i));
                            				seen->tracetimer = sv.time + 1;
                            				return false;
                            			}
                                    }
                                }
                                return true;
                            }
                            You can use that instead of Baker's version or just change that line you had an error with, one difference though, is "seen->tracetimer"
                            in progs.h add the tracetimer variable in the ediect_s structure like this:
                            Code:
                            	double			tracetimer;	// for sv_cullentities traces	
                            // other fields from progs come immediately after
                            } edict_t;
                            This way the trace for culling entities is called once per second not once per frame, saving cpu usage on the server.
                            www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                            Comment


                            • Cool, R00k. Thanks.

                              When you say, use this instead of Baker's version, you mean the invisibletoclient2 right? I guess my confusion is that when you say use this version or the other...

                              Do you mean delete the invisibletoclient2 version, as it is *not* commented out.

                              Comment


                              • Well, no the SV_InvisibleToCLient is a modified method from FTE, its kinda tangled around dependent code from that engine though it works fine.
                                The above code i provided can replace both functions in that pq source.
                                within SV_WriteEntitiesToClient, in sv_main.c, find both calls to SV_InvisibleToClient, remove them,
                                find this line
                                Code:
                                		// ignore ents without visible models
                                			if (!ent->v.modelindex || !pr_strings[ent->v.model])
                                				continue;
                                then directly after that add..
                                Code:
                                		if (sv_cullentities.value)
                                			{
                                				if (SV_InvisibleToClient(clent, ent))
                                					continue;				
                                			}
                                This will handle both instances of sv_cullentities at value 1 (players only) or 2 (all entities).
                                Now if it was my server, I'd use sv_cullentities 2 as this would save the most bandwidth, and one could not sit at red armor and wallhack to see when quad spawns, or rl or pent or mega or anything for that matter.


                                Bottom line, this isnt a perfect fix, but it's a step forward. anyone using a wallhack can still see a quad-player running around the map..
                                Last edited by R00k; 08-09-2011, 04:28 PM.
                                www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                                Comment

                                Working...
                                X