Features
Home
Overview
Forums
Articles
 Mad Scientist Tutorial
 Precaching
 Activities and Sequences
 Entity Variables
 Engine Functions
 Good Half-Life Net Play
Challenges
Questions and Answers

By Adam

Firstly there are the things that affect your net play:

  1. Latency
  2. Graphics speed
  3. Bandwidth

I've heard many people say HL is "laggy" - 'Lag' should refer to latency, nothing else. A game will have the same lag to a given destination - that's a hardware thing, not software. I was playing on a LAN with some LAN-newbies (but old hands at net play) - they were complaining the pit in Crossfire was laggy. Laggy? On a LAN? It turned out that his machine couldn't cope with the 2000 or so decals that were around that pit.

Bandwidth

First, let's sort out Bandwidth:

Bring up the console, type R_NETGRAPH 1

This should bring up a graph... green lines show your ping. They should roll along the bottom quite happily.

Red lines indicate lost packets, or packets that were so late they were outdated by the time they arrived . Increasing your rate will solve this. However, you're bound by how fast your modem runs - when you get to your limit (around 3750 for a 56k, or 8000 on single-channel ISDN) you'll start getting yellow spikes. (see below) But if you've still got red spikes when the yellow ones start to appear, you'll need to alter your FPS_MODEM (and put your rate back a bit - it defaults to 30 (occasionally, I've had HL use the FPS_LAN setting, so if changing FPS_MODEM doesn't do anything, play with FPS_LAN) Drop it to 25 initially, then 22, then 20... 18 is generally as low as you want to go. You'll need to decrease it a bit more as the server fills up.

Yellow lines indicate late packets. This means your Modem couldn't keep up with the data coming from the server... the solution is to decrease your RATE - 3750 is good for a fairly empty (2-6) player game... you'll need to decrease this as people join in. Why? Well, a 55.6k your modem can theoretically deal with a rate of about 4200. 3750 is good for a few spikes of action - but if you've got 6 HWGuys bearing down on you, your modem will start to sob - if you notice yellow spikes (or bars ;) during comat, drop your rate - otherwise a backlog of data starts to build up, waiting for your modem...

Blue Lines. Well. These only appear during real 'net problems. I think. To be honest, I haven't figured these out yet. If you know what these mean, or even have ANY idea, PLEASE let me know! (they might even mean early packets...)

When you've twiddled with both of these values for 2 minutes, you will find your ping will go down (when you've got reserve bandwidth left over and you're not pushing your modem to it's limit, you'll do a lot better)

Push Latency

I've heard many differing opinions on this. Set it to your ping, the negative of your ping, half the negative of your ping, double the negative of your ping...

I quote from one source:

"PUSHLATENCY - This defaults to -50. This command adjusts client side prediction by negating the effects of latency. Use the negative value of your ping to achieve the best results. For example, if your ping is 250, set the pushlatency to -250"

Well that's the one I follow. What I *think* this means is, well, imagine you're a sniper - you charge up a shot and fire. Your ping is 500ms... If you had 0 PUSHLATENCY you'd fire immediately - but the server wouldn't think that you'd fired for another 500ms... with a PUSHLATENCY of -500 YOU wouldn't fire for 500ms - but when you did you, you and the server think you fired at the same time. I hope that makes sense! (for a laugh, play with PUSHLATENCY set TO your ping, ie 500 in this case... very weird)

Ping isn't that important, not as important as utilising your bandwidth correctly. Unless you're a sniper, in that case ping is everything. :) There's bugger all you can do to physically reduce your ping - don't run any other programs that use the net ('cept ICQ ;), make sure you pick a server with good *average* ping, get a digital connection (ISDN gives a ping of around 60-90) But a ping of 10 gets you nowhere if you're not using that bandwith properly!

Other increases

These are all graphics increases - if you're running a PII 450 on a Voodoo3 they WON'T help! With 8-10 players, you can run with all of these on, on a PII233 with Voodoo2 card. More players than that, and you've got to start dropping them...

Turn off shadows r_shadows 0 (can be a big hit with 2 dozen TFC players)
Reduce the decals r_decals 300 (I usually default to 4096, but on a map where you can see the battle scars, esp. HWguys bullet holes, it begins to go really slow)
Turn the ZTrick back on gl_ztrick 1 (I usually turn this off, as that flickering is really annoying, but it is a small speed hit)
Reduce how far you can see gl_zmax reduce this number by a 500 a go until you can't see the far end of the map
Buy a Voodoo card :-)

I don't recommend decreasing the resolution - you really need 640x480 minimum, just to be able to identify players at a distance.

If you've got any more tricks, or you think I've got anything wrong (naaahhh), then mail me!