Announcement

Collapse
No announcement yet.

RAGE updated with entity occlusion

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

  • RAGE updated with entity occlusion

    I've minimized the antiwall hack to 1 function that can be plugged into any quake client
    Code:
    qboolean SV_InvisibleToClient(edict_t *viewer, edict_t *seen)
    {
        int i;
        trace_t tr;
        vec3_t start;
        vec3_t end;
    
        memset (&tr, 0, sizeof(tr));           
    
        VectorAdd(viewer->v.origin, viewer->v.view_ofs, start);
        tr.fraction = 1;
    
        for (i = 0; i < 8; i++)
        {
            end[0] = seen->v.origin[0] + ((i&1)?seen->v.mins[0]:seen->v.maxs[0]);
            end[1] = seen->v.origin[1] + ((i&2)?seen->v.mins[1]:seen->v.maxs[1]);
            end[2] = seen->v.origin[2] + ((i&4)?seen->v.mins[2]+0.1:seen->v.maxs[2]);
    
            tr.fraction = 1;
            if ((SV_RecursiveHullCheck (sv.worldmodel->hulls, 0, 0, 1, start, end, &tr)))
                return false;
        }
    
        return true;
    }
    and called in SV_WriteEntitiesToClient like normal...

    Code:
                if (SV_InvisibleToClient(clent,ent))
                    continue;
    I've updated RAGE.quakeone.com with this and it works perfectly!
    www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

  • #2
    so it modifies each players quake client to be anti-wallhacking when they connect,instead of server side,or what?
    Want to get into playing Quake again? Click here for the Multiplayer-Startup kit! laissez bon temps rouler!

    Comment


    • #3
      Originally posted by Mindf!3ldzX View Post
      so it modifies each players quake client to be anti-wallhacking when they connect,instead of server side,or what?
      Mindzy, the clients aren't anti-wallhack, it's the server itself. You can still load up a wallhack cheat or using one of those pak2 stick models on a client, but you get no benefit from doing so. If you see can't a player, the server doesn't send you the info and you simply can't see the player. You can boot up 15 cheats and you still won't see a player you aren't supposed to be able to see. It's great and it's unstoppable, and has really restored credibility.

      Rook condensed the anti-wallhack code down further. It was bigger.

      Rook, I think you should have a way for players to know the server is anti-wallhack. I think typing status in the console should have (anti-wallhack on) after the hostname. At least that's what I'm doing unless someone has a better method.

      Rook: critical question ... is this on dm.clanhdz.com?????? Is it automatically on Dredd as a result of it being on Rage? I'm not familiar with HDZ's setup.

      I have added Rage to the anti-wallhack list.
      Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

      So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

      Comment


      • #4
        Originally posted by R00k View Post
        I've minimized the antiwall hack to 1 function that can be plugged into any quake client
        Rook, just for clarification, this doesn't require changes to any other file (like for the hull stuff?) than sv_main.c?

        Or is this condensing the 3 functions down to a single function (but still requires the other small adjustments in a couple of other files)?
        Last edited by Baker; 01-18-2008, 09:42 AM. Reason: oops typo
        Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

        So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

        Comment


        • #5
          Originally posted by Baker View Post
          Rook, I think you should have a way for players to know the server is anti-wallhack.
          Ah yes this would be nice.

          Originally posted by Baker View Post
          Rook: critical question ... is this on dm.clanhdz.com?????? Is it automatically on Dredd as a result of it being on Rage? I'm not familiar with HDZ's setup.
          Hmm i wasnt aware that Dredd was running off the HDZ box The way that Ava had it setup, Rage was using my slightly modified pq3.5 wqpro with mute feature, no crash if map isnt found, grenade bounce on slopes, etc..
          While the ctf servers were using vanilla wqpro. Which I have updated as well.

          Originally posted by Baker View Post
          Rook, just for clarification, this doesn't require changes to any other file (like for the hull stuff?) than sv_main.c?

          Or is this condensing the 3 functions down to a single function (but still requires the other small adjustments in a couple of other files)?
          No, it works down to that single function. Though one modification I had to make, which wasnt present on dm3 testing. Models with a MOVETYPE_PUSH have origins at '0 0 0' (?), so at times platforms, bridges, secret doors etc would dissapear. For this I have added a one-liner so that these models are never culled, as its really Player / Item models that we are interesting in occluding anyways.
          Code:
          qboolean SV_InvisibleToClient(edict_t *viewer, edict_t *seen)
          {
          	int i;
          	trace_t tr;
          	vec3_t start;
          	vec3_t end;
          
          	memset (&tr, 0, sizeof(tr));			
          
          	VectorAdd(viewer->v.origin, viewer->v.view_ofs, start);
          	tr.fraction = 1;
          
          	[COLOR="Yellow"]if (seen->v.movetype == MOVETYPE_PUSH )//dont cull doors and plats :(
          	{
          		return false;
          	}
          [/COLOR]
          	for (i = 0; i < 8; i++)
          	{
          		end[0] = seen->v.origin[0] + ((i&1)?seen->v.mins[0]:seen->v.maxs[0]);
          		end[1] = seen->v.origin[1] + ((i&2)?seen->v.mins[1]:seen->v.maxs[1]);
          		end[2] = seen->v.origin[2] + ((i&4)?seen->v.mins[2]+0.1:seen->v.maxs[2]);
          
          		tr.fraction = 1;
          
          
          		if ((SV_RecursiveHullCheck (sv.worldmodel->hulls, 0, 0, 1, start, end, &tr)))
          			return false;
          	}
          
          	return true;
          }
          Edit: I should also mention that this will deter the "CHASE_ACTIVE" exploit aswell!
          Last edited by R00k; 01-18-2008, 11:22 AM.
          www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

          Comment


          • #6
            Originally posted by R00k View Post
            Hmm i wasnt aware that Dredd was running off the HDZ box The way that Ava had it setup, Rage was using my slightly modified pq3.5 wqpro with mute feature, no crash if map isnt found, grenade bounce on slopes, etc..
            While the ctf servers were using vanilla wqpro. Which I have updated as well.
            Well, if this means all the HDZ servers are now running anti-wallhack, that's a great thing. Yeah, Dredd was moved to an HDZ box around November.

            In particular, dm.clanhdz.com would be the first dedicated DM server to be running anti-wallhack.

            One weird thought in my head, ca.clanhdz.com (the old CA+ mod) server is configured for cheat-free mode, but cheat-free doesn't work with a compiled .exe so I doubt that is running in cheat-free mode any more [even though it is supposed to be, at least it was configged that way, heh]

            Originally posted by Rook
            Originally posted by Baker View Post
            Rook, I think you should have a way for players to know the server is anti-wallhack.
            Ah yes this would be nice.
            Yeah, this is important. It works so well that there isn't any way to tell it's on.
            Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

            So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

            Comment


            • #7
              Well, actually the server will keep the exe in memory until it's "quit". So that ca+ cf server should still be in CF mode. I couldnt find a .bat file for dm.clanhdz.com, but it would require an RCON "quit" to reload the exe.

              I've updated the exe just now to show "anti-wallhack" in the status command. Another sure fire way to tell is type chase_active 1 and face a wall and angle your view around a corner. Anything that your original player model cant see will dissapear!

              Oh, also ctf.quakeone.com and crctf.clanhdz.com are using the anti-wallhack code also.
              Last edited by R00k; 01-18-2008, 01:01 PM.
              www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

              Comment


              • #8
                Originally posted by R00k View Post
                file for dm.clanhdz.com, but it would require an RCON "quit" to reload the exe.
                I wonder who has rcon for that server
                Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

                So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

                Comment


                • #9
                  The cheatfree servers on hdz run off a totally different directory on the box that I believe only vis and ava have access too.
                  uakene.com

                  Comment


                  • #10
                    Phew, atleast i didnt fuck that up! wow its 2am??!
                    www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                    Comment


                    • #11
                      Originally posted by Yellow No. 5 View Post
                      The cheatfree servers on hdz run off a totally different directory on the box that I believe only vis and ava have access too.
                      Using Qview, it looks like both CTF and dm.clanhdz.com are in the c:\other\servers\Quake directory.

                      dm.clanhdz.com isn't a cheat-free server anymore, so I don't know if that's why both are in there.

                      Is it possible for either you or Rook to look into the config file and get the rcon password to restart that server?

                      Just asking because Qview shows that server uses proqrack, so all that needs to be done is to restart the server and then it will use anti-wallhack.
                      Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

                      So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

                      Comment


                      • #12
                        Done. dm.clanhdz.com is now running with entity occlusion.
                        www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                        Comment


                        • #13
                          Cool
                          Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

                          So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

                          Comment


                          • #14
                            Originally posted by R00k View Post
                            Done. dm.clanhdz.com is now running with entity occlusion.
                            uhh...is the quad/pent glow issue fixed yet?

                            Comment


                            • #15
                              I assume you mean for players with Quad/Pent and it doesn't glow thru wall, right?

                              It's not possible to fix in a truly Quake compatible way. But ...

                              Hey Rook, what if a player entity that has Quad/Pent and cannot be seen is sent anyway as a nail.mdl

                              This would allow the effect to be transmitted/rendered even for a player that can't be seen.

                              /This is the only truly compatible workaround I can think of. The standard Quake engine will not render an effect without a model carrying the effect.
                              Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

                              So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

                              Comment

                              Working...
                              X