Announcement

Collapse
No announcement yet.

Discussion: Improving ProQuake Server

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

  • Discussion: Improving ProQuake Server

    Right now, there are effectively 4 modified ProQuake servers running here and there. Maybe even 5. Each of them have different enhancements, often unique ones.

    It would be nice to have a standard engine that does most or all of these things or have each of them, but add easy and common-sense features to all of them for some standardization.

    Rook's ProQuake server

    Has ...

    1) sv_defaultmap: prevents server from crashing if rcon'd to a map that doesn't exist.

    For example, if you typo the name of the level when changing a map or the progs.dat has it wrong. Boy does this suck if you don't have hefty access rights to the server. It sucks even if you do because you will need to log-in and reboot the server, unless you have a nice script running. Even then it's annoying.
    2) grenade bounce fix: grenades bounce up slopes instead of getting stuck and making a really annoying repetition of the sound.

    It's very nice. And surprisingly, a whole ton of code to implement. Might be exceedingly difficult to make it into an option controlled by a cvar.

    So, why is this important? Well, if you are truly uber-conservative about Quake, it would be important to have this as an option that can be turned off because this is a change in the behavior/physics.
    3) admin-mute capability in mods (like CAx)

    Very handy. I don't understand how it works, because I'm not into QuakeC much at all. But we sure need this.
    I think that's it.

    RocketGuy's ProQuake server

    1. Engine-side IP masking.

    No more qccx stuff mixed with QuakeC in mods to do this. This also affects server queries that shows players, with something like Qview you can actually see a player's full-ip address if the server allows.
    2. FrikFile support

    RocketGuy has written the latest version of RQuake properly to use EBFS. Unfortunately, putting EBFS in an engine breaks qccx'd stuff, which is about every mod run on a server currently.

    FrikFile support can be added without EBFS, but supposedly it isn't proper to just assume FrikFile is available.

    Hmmm
    3. A special cvar that enables single player entities to show in deathmatch mode. It is poorly named, in my opinion, as sv_dmflag. It really needs another name. But what it does is exceptionally useful. The RQuake mod depends on this for it's existence.

    4. Color 14/15 support. Not hard to do.

    Other ProQuake/Quake servers

    1. Slot Zero's mod-side anti-lag capability.

    A special anti-lag feature that is mod controlled, that helps dialup users (not many, granted) in that they can type "lag" in the console when connected to a server running a supported mod and they don't receive gibs and so forth. Entities must be marked in the mod QuakeC code.
    2. ProQuake 3.91 and higher sv_cullplayers_trace 1

    Also known as the anti-wallhack code.
    3. Rook's anti-wallhack code that is in development that screens everything, not just players.

    4. Yugo2Heck added some extra stuff to his server that limits color changing, name changing and something else. I believe it also has randomized custom greetings when someone connects to the server.

    Beyond That

    Other ideas:

    1. I find it really annoying that sys_ticrate doesn't show when doing test2 on a server (like typing test2 rage.quakeone.com in the console). I'd like that to show. Plus any other important server settings.

    2. Adding the status of the anti-wallhack capability to what prints when someone types STATUS in the console. I've done this in recent versions and Rook has added this.

    3. There is an exploit where someone can annoyingly speak for the first second or 2 when connected to a server and by reconnecting continuously, spam before a ban file kicks in.

    4. "Profanity filter" to prevent certain stuff from being said or maybe kicking the offending player off the server. Yeah, this is rarely needed.

    5. Rook said something about how he uses qccx'd code to interact with the ban file. Since I'm not much into QuakeC, I have no idea what this is exactly.

    6. Maybe being able to specify a map rotation from a text file.

    This thread isn't necessarily to consolidate everything into a single engine. But at least gets ideas for improvement and/or at least get the most important and/or easiest to make improvements in the other engines to have some level of standardization.
    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 ...

  • #2
    I like the ideas in this thread but wouldn't fixes like "grenade bounce" be more of a quakec fix than the actual engine fix? Am I wrong? Does rook's custom proquake engine modification actually fix the grenade bounce?

    Comment


    • #3
      Originally posted by Canadian*Sniper View Post
      I like the ideas in this thread but wouldn't fixes like "grenade bounce" be more of a quakec fix than the actual engine fix? Am I wrong? Does rook's custom proquake engine modification actually fix the grenade bounce?
      No, it's an engine fix.

      DarkPlaces has it. I think it is a sv_gameplay_fix in DarkPlaces.
      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
        Cool!

        My ideas for optional cvars:
        • Respawning explosive boxes
        • Noexit 3 and 4 (http://www.inside3d.com/qip/q1/qcenhanc.htm#noexit34)
        • deathmatch 3
        • rook's splash damage fix
        • lightning discharge removal
        • noselfdamage fix (one that doesn't harm your armour)
        • gibable fallen zombies
        • ability to hurt chthon and shubby with weapons
        • MOTD
        • chat spam filter (can't send more than 3 messages in 1 second)
        • disable KILL


        A must for the proquake engine in case this isn't implemented already:

        ok I'm done with edits.
        Last edited by Canadian*Sniper; 01-21-2008, 02:05 AM.

        Comment


        • #5
          Most of those are QuakeC things (progs.dat), although really that could use a thread as well. A much more efficient and flexible progs.dat would be nice, there are several attempts floating around there but most are just debug attempts.

          Originally posted by Canadian*Sniper View Post
          [*]disable players from using name ""
          Very true.
          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


          • #6
            Originally posted by Baker View Post
            3. A special cvar that enables single player entities to show in deathmatch mode. It is poorly named, in my opinion, as sv_dmflag. It really needs another name. But what it does is exceptionally useful. The RQuake mod depends on this for it's existence.
            I discussed this with LordHavoc once. There's enough of an idea there to turn it into an extension which the QuakeC can test for in the usual way...
            16:03:04 <gb> when I put in a sng, I think I might need nails
            16:03:30 <gb> the fact that only playtesting tells me that probably means that my mind is a sieve

            Comment


            • #7
              Quake is split into 2 parts already, why not split it a 3rd time?

              QuakeEngine, QuakeGUE and QuakeC.

              QuakeEngine: This is where most of the changes Baker wants standardized would go.

              QuakeGUE: Or, Quake Graphical User Environment. This is where you mod the way the Quake looks. Adding new rendering tech, all the bells and whistles.

              QuakeC: Where you make mods that work with all of the above.
              "It may disturb you. It scares the willies out of me. " -Slartibartfast

              Comment


              • #8
                3. There is an exploit where someone can annoyingly speak for the first second or 2 when connected to a server and by reconnecting continuously, spam before a ban file kicks in.
                I know i fixed this somewhere, but forgot now where i put it...

                Engine-side banning must be added to this list of wants in my book.

                It would have a faster ban response and thus the above point 3 would be close to obsolete.
                www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                Comment


                • #9
                  Originally posted by Lardarse View Post
                  I discussed this with LordHavoc once. There's enough of an idea there to turn it into an extension which the QuakeC can test for in the usual way...
                  Really, it should be an extension.

                  Originally posted by R00k View Post
                  I know i fixed this somewhere, but forgot now where i put it...

                  Engine-side banning must be added to this list of wants in my book.

                  It would have a faster ban response and thus the above point 3 would be close to obsolete.
                  Fixed somewhere = in the pqcaxserver source?
                  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


                  • #10
                    Ya, i was basically comparing the time that the client had been connected to the server, and if it was less than 5 seconds for instance (seemed long enough to compare ip address to banlist array in quakeC), then the say command would be ignored. It should be in host_say but its not! Hmm....

                    like this...
                    Code:
                    	if (!fromServer)
                    	{
                    		// R00k - dont allow new connecting players to spam obscenities...
                    		if (host_client->netconnection->connecttime < 10)
                    			return;
                    Last edited by R00k; 01-21-2008, 03:05 PM.
                    www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                    Comment


                    • #11
                      gibable fallen zombies
                      I wondered why Zombies on the start map werent gib-able, then i found that their bounding box is pushed back into the wall so they are flush to it
                      www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                      Comment


                      • #12
                        fix the lightning gun bug.

                        Comment


                        • #13
                          Originally posted by PapaSmurf View Post
                          fix the lightning gun bug.
                          [I think] I was told this was a QuakeC bug by [I'm thinking] Lardarse, not an engine bug. But good to have in a list of stuff anyway.

                          I assume you mean the shaft someone on DM6 by shooting at the corner near the red armor bug. Or is this an additional lightning gun bug that isn't this?
                          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 Baker View Post
                            [I think] I was told this was a QuakeC bug by [I'm thinking] Lardarse, not an engine bug. But good to have in a list of stuff anyway.

                            I assume you mean the shaft someone on DM6 by shooting at the corner near the red armor bug. Or is this an additional lightning gun bug that isn't this?

                            Yah, that's what I meant. There was an in depth analysis done over at the speeddemosarchive.org.

                            http://speeddemosarchive.com/quake/misc/lbug/
                            Last edited by PapaSmurf; 01-22-2008, 08:04 PM.

                            Comment


                            • #15
                              I just use the plain and simple; hit the goat infront of you.. sorry (QUAdRaptor no pun intended)...

                              Code:
                              void(vector p1, vector p2, entity from, float damage) LightningDamage =
                              {
                              	traceline (p1, p2, FALSE, self);
                              	if (trace_ent.takedamage)
                              	{
                              		particle (trace_endpos, '0 0 100', 225, damage*4);
                              		T_Damage (trace_ent, from, from, damage);
                              	}
                              };
                              www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                              Comment

                              Working...
                              X