Rune Central
http://forums.runequake.com/

Lag Command?
http://forums.runequake.com/viewtopic.php?f=2&t=1399
Page 1 of 1

Author:  Baker [ Sun Jan 13, 2008 8:14 pm ]
Post subject:  Lag Command?

Slot,

Bam has become a big fan of the lag command engine modification you made. Bam lags in CAx when someone gets gibbed and nail guns also lag him as well.

If you are interested, I'd really like to add this modification to the new ProQuake I've been working on. I have a pretty good idea on how it works, but I don't want to reinvent wheel and have to go through all the testing/debugging necessary.

If interested, you wouldn't need to explain it to me, I'd just need the handful of changed source files and could extrapolate it from that.

/Hehe, I wish Bam could get true broadband and then this would solve itself :D :D He DOES have satellite broadband, but although satellite internet has fast downloads, the ping times are horrendous. I've tried satellite firsthand and the ping is literally 1200, so Bam still must use dialup for Quake.

Author:  Slot Zero [ Sun Jan 13, 2008 11:14 pm ]
Post subject:  Re: Lag Command?

In SV_WriteEntitiesToClient() of sv_main.c
Code:
         // JPG 3.30 - don't send updates if the client doesn't have the map
         if (nomap)
            continue;

         // Find code above and then add this (2 lines)
         if ((int)clent->v.flags & FL_LOW_BANDWIDTH_CLIENT && (int)ent->v.effects & EF_MAYBE_DRAW)
            continue;


In server.h add
Code:
// You might want to change these to values that don't conflict with other popular engines (QSG).
#define   FL_LOW_BANDWIDTH_CLIENT         8192
#define   EF_MAYBE_DRAW         32768


For those items you want to filter out in the QC code, add the EF_MAYBE_DRAW (.effects) flag to the entity. Then use the FL_LOW_BANDWIDTH_CLIENT (.flags) flag as a toggle for the client.

Author:  Baker [ Mon Jan 14, 2008 2:33 am ]
Post subject:  Re: Lag Command?

Thanks.

/Bam will have to get busy on the QuakeC aspect of this modification. :D :D :D

Author:  Bam [ Mon Jan 14, 2008 4:52 pm ]
Post subject:  Re: Lag Command?

Does it have to be done this way (using it with a mod)?

It'd be nice if the command could be a completely client side feature that can be used on any server without quakec modification. Can it be done this way?

Author:  Slot Zero [ Tue Jan 15, 2008 1:18 am ]
Post subject:  Re: Lag Command?

You could prevent drawing gibs from the client, but the server would still send updates every tick. As for the other entities, the client wouldn't know what entities should be displayed and what shouldn't (for example, hook links).

Author:  Bam [ Tue Jan 15, 2008 7:06 pm ]
Post subject:  Re: Lag Command?

Ok, so there's no way to block out the incoming updates for the selected entities? That needs to be done serverside?

How about this: The server client recognizes <edict 3> has the lag cvar enabled, and, according to a predetermined list of entities to ignore, it should know which entities not to update for <edict 3>, right?

This of course would require the same client on both sides, or at the very least on the player's side his client would need a lag cvar.

Author:  Baker [ Sat Jan 19, 2008 12:28 pm ]
Post subject:  Re: Lag Command?

Bam wrote:
Ok, so there's no way to block out the incoming updates for the selected entities? That needs to be done serverside?


Isn't what causes the lag for dialup when the SNG is used a whole bunch of extra nails being sent to the client? Nothing the client does by itself could prevent that, if true.

Bam, I've added this to 3.99b and there aren't very many mods that are very relevant (RuneQuake, CAx, CRMOD, CTF).

This is already in RQ. If you add this or work with Rook to get it added into CAx, then 2/3 of your problems are solved, leaving only CRMOD and CTF. But I've never seen you play CTF and 26002 is about the equivalent of CRMOD anyway.

Add: Bam, Rook's modified anti-wallhack code may make a MAJOR difference for low bandwidth connections. It checks every single entity (except doors/lifts) for whether or not it is visible and if not, doesn't send it. Maybe this could help you as well. Like player-only anti-wallhack, this is all server side. This is running at Rage/Dredd and the HDZ CTF servers right now.

Author:  Bam [ Sun Jan 20, 2008 5:48 pm ]
Post subject:  Re: Lag Command?

Baker wrote:
Isn't what causes the lag for dialup when the SNG is used a whole bunch of extra nails being sent to the client? Nothing the client does by itself could prevent that, if true.


If the server knew the client has the lag command enabled, (and this is the part I was inquiring about:) can the server use a predefined list of entities to ignore, say, all spike models, all gibs, or all bubbles. I know that doing it this way would leave no exceptions for a specific model to show up.

Baker wrote:
Add: Bam, Rook's modified anti-wallhack code may make a MAJOR difference for low bandwidth connections. It checks every single entity (except doors/lifts) for whether or not it is visible and if not, doesn't send it. Maybe this could help you as well. Like player-only anti-wallhack, this is all server side. This is running at Rage/Dredd and the HDZ CTF servers right now.


The reason I never play CTF is party because I ping 300 on the server but mainly because once the player is in view, I lag terribly. This has always been the case, I can play fine until a fight erupts in my line of sight.


Slot, can you shed some light on this?
Thanks, Bam

Author:  Baker [ Sun Jan 20, 2008 6:33 pm ]
Post subject:  Re: Lag Command?

Bam wrote:
If the server knew the client has the lag command enabled, (and this is the part I was inquiring about:) can the server use a predefined list of entities to ignore, say, all spike models, all gibs, or all bubbles. I know that doing it this way would leave no exceptions for a specific model to show up.


I don't see why not. In fact, until Slot revealed his method, I thought this was what he was doing.

But Slot's way is better and appropriate and isn't a "hack".

But Bam, this leads to a new problem if your idea is done. The client would have to be modified to send the command to the server. Slot's way is ALL server-side and doesn't require modified clients.

Author:  Bam [ Mon Jan 21, 2008 8:34 pm ]
Post subject:  Re: Lag Command?

Isn't a client-side modification required to use your new proquake features? The client used for the lag command server-side would be the same as client-side.

I'm thinking I'll get visual basic working to make this lag command.

Author:  Baker [ Mon Jan 21, 2008 9:57 pm ]
Post subject:  Re: Lag Command?

Bam, Bomber is running ProQuake 3.99c with Slot's anti-lag modification.

All you would need to do, as far as I know [since I'm not Mr. QuakeC], is mark the gibs and nails the way Slot does in RuneQuake and add the lag command functionality, [i.e. send the alias and if used, flag the player as low bandwidth] and recompile CAx and reboot Bomber.

If it is stable and works well, we ask Dreadful to update Speaknow with your new CAx and get Rook to add Slot Zero's anti-lag modification into his pqcaxsvr and update Rage.

/This shouldn't be done in a non-standard way if it can be avoided. People would have to update clients, Slot's method is mature and tested, doing a whole ton of work for a non-standard way for the very limited number of dialup users left. Remember, it takes a request to FatPipes [1 or 2 day turnaround sometimes] to even update an .exe with Bomber (for example), but updating the progs.dat can be done superfast.

Page 1 of 1 All times are UTC - 5 hours [ DST ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/