Netcode commands are always a topic where there are a lot of opinions and confusion.

My hope here is to answer some of that confusion or add to it, you decide.

Index

 Netcode settings
 Some guides - people who have tested this in depth.
 Files to edit
 FPS (Frames Per Seconds) - why am I limited to 60 FPS?
The "best config" issue. (OMG... especially CS guys)
Some settings can help and make you ...sick
Some graphical commands, light, textures, and so on.
A custom crosshair - a script - where do I put them ?

Netcode settings

These commands for Netcode and others really need a bit of guidance on where to place them (userconfig.cfg file see below) and what value is "best".

Thats sometimes controversial.

I would say it's because this game is old, has gone through so many changes (SteamPipe update) and the fact that local PC's. local and WAN networks have changed since the year 2000.

Ultimately, it will be what suits you after testing and reading some guides.

Some guides - people who have tested this in depth.

I settled on this 2023 steam guide Netcode Rates Guide (2023) By TURKISH LIRA or EPIC GAMES  and found the advice seemed to make common sense after I tested them.

 

So, maybe start there and do what he says in the TL;DR section...

Client - Add these commands to dod\userconfig.cfg
rate "20000"
cl_cmdrate "105"
cl_dlmax "1024"
cl_updaterate "100"
cl_cmdbackup "2"
fps_max "99.5"
fps_override "1"
gl_vsync "0"

Servers - Add these commands to dod\server.cfg and dod\listenserver.cfg:
sv_minrate 0
sv_maxrate 20000
sv_lan_rate 20000
sv_minupdaterate 30
sv_maxupdaterate 60

A listenserver.cfg is for playing a local game with Sturmbot so you should do that one too.

 

Quickslivers guide for dod is good too. Read that here.

It's a very simple guide outlining the basic stuff. Easy to read.

The Files to edit.

Those files are .cfg types and this link explains what they do, it's for Source engines but basically the same.

 

Now before we start you should also know about the folders the files can can go in.

You have a choice, the folder "dod" or a folder in the "Half-Life" folder that you can make, called "dod_addon" and it will act like a "dod" folder with the advantage of not being in the dod folder and not subject to being overwritten in an update.

Read this article first on how that works.

Basically, they are all the same as a config.cfg in the dod folder, the engine reads them on game start and applies the new values, the default settings are now ignored and replaced with your preference.

These are just text files of a certain type. If you are missing one of them like "userconfig.cfg"

  1. Just make a new text document,
  2. Insert the lines he has in the TL;DR section for that file.
  3. Select "Save As:"  In "file name: name it "userconfig.cfg"
  4. Drop down the "Save as type:" and select "all files"
  5. Press save
  6. Install it in Your drive details:\steamapps\common\Half-Life\dod

 

You can read his guide and see why he made those choices, then you can experiment and see how they suit you.

Note in his guide he talks of the Netgraph.

That's important so you can see results, go to this page and read up on that tool.

 

FPS (Frames Per Seconds) - why am I limited to 60 FPS?

We all know the more you have the better the game runs. In the commands above for dod make sure you use all three not just the "fps_max" command.

If you find your FPS limited to 59-60 FPS you need the other two...

fps_max - (dod default is 72) note locked at 60 FPS if you have gl_vsync set to "1"
fps_override - (dod default is 0Set to "1" to gain FPS above 100.
gl_vsync(dod default is 1) Used to gain more than the locked 60 FPS. When set to "0" it allows more FPS

 

The setting for FPS has a few twists. Frames per second is related to Hz (Hertz) a measurement of how many images a Monitor can do.

So your hardware has limits, your Video card and monitor. That basic measurement is 30Hz for very old monitors, 60Hz for games like dod back in the day.

For this decade, we have 100Hz, 120Hz, 144Hz, 160Hz... 240hz and so on.

Setting your FPS to 400 or "0" (unlimited) if your monitor has a limit of 60Hz... sure you may see 300 FPS in some areas of a map or a server but watch it drop in a firefight where a lot of things are changing on the screen.

"Clamping" your FPS is a matter of looking at your hardware and deciding to keep on or just under that Hz measurement.

It is supposed to keep your image quality stable. Some players who have a good card and a 100Hz monitor set the FPS limit at "99.5" and claim a better, visually accurate experience, less tearing, and visual defects.

This is up to you, know your hardware limits and do some testing for yourself.

Most (good) options you read will tell you that setting FPS 120 on a PC that has a hardware limit of 60Hz is kind of pointless, sure you are seeing the 120 FPS measurement in the netgraph but the hardware is the final factor in the end and your testing... the actual quality of the images is how you should test.

 

I think this (first) post on Quora explains it clearly.

Now let’s say the CPU and GPU are able to give a solid 100 FPS. If your monitor is only 60hz then you’re only able to see 60 Frames of the 100 Frames the GPU is rendering. It will throw away 40 frames per second because it can’t fit them.

However there is still a benefit to running a frame rate higher than the refresh rate. Even though you can’t see any more FPS over 60 due to the 60hz monitor.

But those 60 frames you do see will have less frame time, which means what you see in those frames are more accurate.

Running an FPS value higher than the monitors refresh rate also comes with a negative. You won’t be able to use GSync, Free Sync, or VSync. GSync(Nvidia) and FreeSync(AMD) in my opinion is very important to smooth gameplay with no stutters or screen tearing.

 

So if you think setting gl_vsync to "0" to gain 300 FPS has improved your game, you may have just made it worse...visually.

Sure your "measurement" on the netgraph has changed but what does the game really look like?

Now you may understand why some players who have a 144 Hz monitor lock down the FPS to "134.5", it's for quality, to ensure they have a smooth experience.

 

Test FPS settings with that in mind. 

Maybe watch this too...

 
 Is Your Monitor FAST Enough? - Refresh Rates

The other commands are explained in his guide and also in my CVAR (commands) list for HL1 and dod.

You will note the differences in most of those commands in HL1 settings, dod and that guide above.

I think it's clear to say that the default settings after you test them, are too old for 2023 hardware and fast connections.

 

The "best config" issue. (OMG... especially CS guys)

Just remember there are a whole lot of opinions out there and persons claiming all sorts of value settings that theirs are "the best".

BULLSHIT !!!

The best settings are what works for YOU. What YOUR PC is, YOUR network connection and the servers YOU connect to.

It's what YOU test and find what works for...YOU.

I find people who write this and that, then get into fights about this...are trying to say everyone's equipment and connections are the same.

Clearly, they cannot be correct.

Make up your own damn mind.

Read - Try - Test - Decide!

Some settings can help and make you ...sick

Consider other items, some defaults are really annoying.

sv_rollangle "1"

it's an annoying tilt as you strafe left and right.

That has a default of "1" and is annoying. It came in the HL1 update and here is what that annoyance is.

Set to "0" to stop that tilting...

 
 sv_rollangle behaviour. Set to "0" in your config files.

hud_fastswitch "0"

Setting to "1" toggles quick weapon switching. If enabled, the weapon switches immediately when a number key is pressed (should be bound to slotX commands). This has no effect when you scroll through your weapon (using invprev and invnext).

Setting that to "1" is preferred by many as the default. Try both "0" and "1" and decide.

Some server admins also get into the topic of pistol rolling and say it's an exploit... OMG.

Read this steam dod forum thread, on the whole topic of swapping weapons quickly.

Some graphical commands, light, textures, and so on.

These are important ones to consider.

sv_allow_shaders "1"
gl_use_shaders "1"

These are new in HL1 Nov 2023.

Steam user Crafty explains in this post, sv_allow_shaders has a default of "0" and should be changed to "1".

gl_use_shaders is "1" and that should be kept at the default "1".

Later he posted two images. I have placed that in one image.

Click on it, note the left image is the default "0" and look at the difference when changed to "1".... perfect!

 sv allow shaders command
 sv_allow_shaders changed to "1" on the right - Default "0" to the left

Here is another to consider whether to change or not.

r_detailtextures

The default is "0" and the images will look blurry. That's also good for FPS.

However, if you have all the FPS you like and want a good-looking game... then change to "1".

You should also make sure r_detailtexturessupported "1" is kept on "1" for that

 
 DoD 1.3 FAQ No. 7 - High Textures & Low Textures - r_detailtextures 1 - less FPS (Ingame)

Another new one you may hear about...

r_shadows "0" 

Some are recommending using it on "1", don't do that it looks dumb in dod. 

Look at this screenshot. It's adding shadows to models on the map, in the image below the flag, the player gets a shadow, the lamp (a model) and building (a map brush) shadows don't mix well

Leave that OFF "0"

Another one like the above...

 gl_max_size  it has a default of "256"

Sets the maximum texture resolution

Then why would you half that? FPS?

Most of the sprites and images used are a max of 128 or 256 so... someone saying using 512... what is the point for dod?

It may work in HL1 or CS 1.6, but for dod, leave it alone.

A custom crosshair - a script - where do I put them ?

Here is another item you can place in a userconfig.cfg file.

Scripts.

Some are good and some are bad, if you paste this into your file (and have a custom file for crosshairs in this download)...

 

//INsanes Crosshair and Sturmbot binds

//crosshair
alias customdot "style0"
alias style0 "cl_xhair_style 0; alias customdot style1"
alias style1 "cl_xhair_style 1; alias customdot style2"
alias style2 "cl_xhair_style 2; alias customdot style3"
alias style3 "cl_xhair_style 3; alias customdot style4"
alias style4 "cl_xhair_style 4; alias customdot style5"
alias style5 "cl_xhair_style 5; alias customdot style6"
alias style6 "cl_xhair_style 6; alias customdot style7"
alias style7 "cl_xhair_style 7; alias customdot style8"
alias style8 "cl_xhair_style 8; alias customdot style9"
alias style9 "cl_xhair_style 9; alias customdot style10"
alias style10 "cl_xhair_style 10; alias customdot style11"
alias style11 "cl_xhair_style 11; alias customdot style12"
alias style12 "cl_xhair_style 12; alias customdot style13"
alias style13 "cl_xhair_style 13; alias customdot style14"
alias style14 "cl_xhair_style 14; alias customdot style15"
alias style15 "cl_xhair_style 15; alias customdot style16"
alias style16 "cl_xhair_style 16; alias customdot style0"

bind "p" "customdot"

//Favorite xhair, change the number to YOUR Favorite one
cl_xhair_style 2

The command cl_xhair_style "2" is the favorite type and every map the engine will see that and start with that.

Press "P" and you can cycle through 16 different types (like those in the image below).

The script needs a custom image called "customxhair.spr" and you place that in dod\sprites folder.

 insanes x hairs
 The "customxhair.spr" file in the download folder "INsanes custom crosshairs" installs to dod\sprites folder

 

There are many things you can do with this file, very handy to know what the config files do...it's not just for netcode settings.

As far as scripting goes that's a whole topic in itself. But for items like Netcode and a few others, that file can make a big difference to your game!