Upvote Upvoted 29 Downvote Downvoted
New Better Server Configs
posted in Projects
1
#1
Spaceship Servers
0 Frags +

Hey yall,

I've managed many tf2 servers over the years, and there's something that really bugs me-

The UGC Configs.

And every config based on them.

They suck. They haven't been updated in years, they have weird broken STV settings if you properly unexec, the networking in them is outdated and awful, the naming scheme is kinda weird, etc.

So, I decided to make new ones.

Introducing-

The NEW TFCL Configs

These are brand new, from scratch, modern configs. They were originally designed for the relaunch of TFCL, and I've decided to publicly announce their existence because I'm very tired of dealing with the crusty old UGC/RGL configs. Almost every line is commented with an explanation of what it does. There are NO unused commands (except for tftrue lines if you don't have it installed), and the network settings are tuned to be as competitive as possible without preventing lower internet spec'd players from playing.

Furthermore, there are separate configs for scrims and matches for 5cp, as a large portion of people change winlimit to 5 in their configs already anyway.

I have done a lot of personal testing with these configs, in my own highlander/6s scrims. Please give them a try and let me know if there's anything that should be changed.

Download is here:

https://i.imgur.com/owIUtoo.png

Please read the README first, it goes over some important things.

I'll try to get these on serveme asap. They are already live on cpu.tf servers, and you're welcome to put them on your own servers.

I'm also considering forking Miggy's old plugin (RIP) to try to force consistency on every sever but I'm not sure if there's any interest. Again, let me know.

thanks to:

arie for answering a couple of my questions
mastercomms for helping me out a bit with networking settings

https://github.com/TheSqrtMinus1/better-tf2-server-configs <-- new link, old ones are all broke

Hey yall,

I've managed many tf2 servers over the years, and there's something that really bugs me-

[b]The UGC Configs.[/b]

And every config based on them.

They suck. They haven't been updated in years, they have [url=https://github.com/ValveSoftware/Source-1-Games/issues/2778]weird broken STV settings[/url] if you properly unexec, the networking in them is outdated and awful, the naming scheme is kinda weird, etc.

So, I decided to make new ones.

Introducing-

[b]The NEW TFCL Configs[/b]

These are brand new, from scratch, modern configs. They were originally designed for the relaunch of TFCL, and I've decided to publicly announce their existence because I'm very tired of dealing with the crusty old UGC/RGL configs. Almost every line is commented with an explanation of what it does. There are NO unused commands (except for tftrue lines if you don't have it installed), and the network settings are tuned to be as competitive as possible without preventing lower internet spec'd players from playing.

Furthermore, there are separate configs for scrims and matches for 5cp, as a large portion of people change winlimit to 5 in their configs already anyway.

I have done a lot of personal testing with these configs, in my own highlander/6s scrims. Please give them a try and let me know if there's anything that should be changed.

Download is [url=https://github.com/TheSqrtMinus1/NEW-tfcl-configs]here[/url]:
[img]https://i.imgur.com/owIUtoo.png[/img]
Please read the README first, it goes over some important things.

I'll try to get these on serveme asap. They are already live on cpu.tf servers, and you're welcome to put them on your own servers.

I'm also considering forking [url=https://github.com/Miggthulu/UGCUpdate]Miggy's old plugin[/url] (RIP) to try to force consistency on every sever but I'm not sure if there's any interest. Again, let me know.


thanks to:

arie for answering a couple of my questions
mastercomms for helping me out a bit with networking settings


https://github.com/TheSqrtMinus1/better-tf2-server-configs <-- new link, old ones are all broke
2
#2
5 Frags +

I will give context that she has been educating herself on commands and working on these for A LONG TIME, from what I've seen. Highly recommend folks try them out.

Thanks for making these!

I will give context that she has been educating herself on commands and working on these for A LONG TIME, from what I've seen. Highly recommend folks try them out.

Thanks for making these!
3
#3
-1 Frags +

super clean and having a scrim config vs a match config is a cool touch

super clean and having a scrim config vs a match config is a cool touch
4
#4
Spaceship Servers
3 Frags +

added a few new commands to try to help with optimization and better hitreg, shoutouts (again) to mastercomms

https://github.com/TheSqrtMinus1/NEW-tfcl-configs/commit/a8c7a5f42faca49363a122d2cb832ca6d2b509b7

let me know if theres any issues or if you notice hitreg being better or worse

added a few new commands to try to help with optimization and better hitreg, shoutouts (again) to mastercomms

https://github.com/TheSqrtMinus1/NEW-tfcl-configs/commit/a8c7a5f42faca49363a122d2cb832ca6d2b509b7

let me know if theres any issues or if you notice hitreg being better or worse
5
#5
serveme.tf
15 Frags +

Stuff that shouldn't be in any league config ever, because:

  • It gets people into trouble with their gameserver provider
  • Or it's none of the league's business
tv_port "27020" // STV port
tv_enable "1" // enables Source TV
host_framerate "0" // unlocks server framerate, essentially
tv_password "tfclSTV" // STV password. ***REQUIRED FOR MATCHES, DO NOT CHANGE***
tv_name "TFCL SourceTV Bot" // STV name in scoreboard. change this if you want
hostname "TCFL 6s Match" // server name in server browser. change this if you want

Stuff that probably doesn't work considering the state of the source server engine:

sv_clockcorrection_msecs "30"
host_thread_mode "1" // turns on multithreading if the server supports it
lzma_persistent_buffer "1" // keeps a persistent buffer for LZMA decompression to prevent memory from being allocated and unallocated repeatedly
sv_parallel_sendsnapshot "1" // sends packets in parallel
Stuff that shouldn't be in any league config ever, because:
[list]
[*]It gets people into trouble with their gameserver provider
[*]Or it's none of the league's business
[/list]
[code]
tv_port "27020" // STV port
tv_enable "1" // enables Source TV
host_framerate "0" // unlocks server framerate, essentially
tv_password "tfclSTV" // STV password. ***REQUIRED FOR MATCHES, DO NOT CHANGE***
tv_name "TFCL SourceTV Bot" // STV name in scoreboard. change this if you want
hostname "TCFL 6s Match" // server name in server browser. change this if you want
[/code]




Stuff that probably doesn't work considering the state of the source server engine:
[code]
sv_clockcorrection_msecs "30"
host_thread_mode "1" // turns on multithreading if the server supports it
lzma_persistent_buffer "1" // keeps a persistent buffer for LZMA decompression to prevent memory from being allocated and unallocated repeatedly
sv_parallel_sendsnapshot "1" // sends packets in parallel
[/code]
6
#6
2 Frags +
ArieStuff that shouldn't be in any league config ever, because:
  • It gets people into trouble with their gameserver provider
  • Or it's none of the league's business
tv_port "27020" // STV port
tv_enable "1" // enables Source TV
host_framerate "0" // unlocks server framerate, essentially
tv_password "tfclSTV" // STV password. ***REQUIRED FOR MATCHES, DO NOT CHANGE***
tv_name "TFCL SourceTV Bot" // STV name in scoreboard. change this if you want
hostname "TCFL 6s Match" // server name in server browser. change this if you want

For me, the tv_port is the big killer for me since with my server host, not all my servers have the default ports for servers or stv. I honestly dont see a point in forcing it either since its the responsibility of the server owner to know what ports their game and stvs are on, and 99% of the time its set to default anyways.

[quote=Arie]Stuff that shouldn't be in any league config ever, because:
[list]
[*]It gets people into trouble with their gameserver provider
[*]Or it's none of the league's business
[/list]
[code]
tv_port "27020" // STV port
tv_enable "1" // enables Source TV
host_framerate "0" // unlocks server framerate, essentially
tv_password "tfclSTV" // STV password. ***REQUIRED FOR MATCHES, DO NOT CHANGE***
tv_name "TFCL SourceTV Bot" // STV name in scoreboard. change this if you want
hostname "TCFL 6s Match" // server name in server browser. change this if you want
[/code][/quote]

For me, the tv_port is the big killer for me since with my server host, not all my servers have the default ports for servers or stv. I honestly dont see a point in forcing it either since its the responsibility of the server owner to know what ports their game and stvs are on, and 99% of the time its set to default anyways.
7
#7
1 Frags +

steph is a g and can confirm she's been working on this for awhile. even if the current state of the configs isn't perfect, with how much work she's been putting into them, i'm sure it's only a matter of time until they're super legit. plus, as a developer myself, having every line have comments explaining what the each line does alone is enough to win me over

steph is a g and can confirm she's been working on this for awhile. even if the current state of the configs isn't perfect, with how much work she's been putting into them, i'm sure it's only a matter of time until they're super legit. plus, as a developer myself, having every line have comments explaining what the each line does alone is enough to win me over
8
#8
5 Frags +
ArieStuff that probably doesn't work considering the state of the source server engine:
sv_clockcorrection_msecs "30"
host_thread_mode "1" // turns on multithreading if the server supports it
lzma_persistent_buffer "1" // keeps a persistent buffer for LZMA decompression to prevent memory from being allocated and unallocated repeatedly
sv_parallel_sendsnapshot "1" // sends packets in parallel

What causes you to say that? Curious what you exactly mean by "state of the source server engine".

[quote=Arie]
Stuff that probably doesn't work considering the state of the source server engine:
[code]
sv_clockcorrection_msecs "30"
host_thread_mode "1" // turns on multithreading if the server supports it
lzma_persistent_buffer "1" // keeps a persistent buffer for LZMA decompression to prevent memory from being allocated and unallocated repeatedly
sv_parallel_sendsnapshot "1" // sends packets in parallel
[/code][/quote]
What causes you to say that? Curious what you exactly mean by "state of the source server engine".
9
#9
serveme.tf
4 Frags +
mastercomsWhat causes you to say that? Curious what you exactly mean by "state of the source server engine".

These are 4 non-default, very rarely changed variables on a 10 year old engine that no longer gets a lot of love from its creator.

If they work, only 1 out of 4 (clock correction) has any bearing on competitive play, the others are the concern of server operators, who should prefer sticking to defaults (used by nearly everyone) instead of rarely used (threaded) optimizations.

As a server operator I favor stability over changing variables that hardly anyone else runs. That way when one of my servers crashes, it's more likely to be something a lot of server operators have already seen, instead of some rarely unknown network threading bug in the orangebox server code.

League configs should concern themselves with settings that affect competitive play, not try to do server optimizations nor change server names and passwords.

[quote=mastercoms]
What causes you to say that? Curious what you exactly mean by "state of the source server engine".[/quote]

These are 4 non-default, very rarely changed variables on a 10 year old engine that no longer gets a lot of love from its creator.

If they work, only 1 out of 4 (clock correction) has any bearing on competitive play, the others are the concern of server operators, who should prefer sticking to defaults (used by nearly everyone) instead of rarely used (threaded) optimizations.

As a server operator I favor stability over changing variables that hardly anyone else runs. That way when one of my servers crashes, it's more likely to be something a lot of server operators have already seen, instead of some rarely unknown network threading bug in the orangebox server code.

League configs should concern themselves with settings that affect competitive play, not try to do server optimizations nor change server names and passwords.
10
#10
5 Frags +
AriemastercomsWhat causes you to say that? Curious what you exactly mean by "state of the source server engine".
These are 4 non-default, very rarely changed variables on a 10 year old engine that no longer gets a lot of love from its creator.

If they work, only 1 out of 4 (clock correction) has any bearing on competitive play, the others are the concern of server operators, who should prefer sticking to defaults (used by nearly everyone) instead of rarely used (threaded) optimizations.

As a server operator I favor stability over changing variables that hardly anyone else runs. That way when one of my servers crashes, it's more likely to be something a lot of server operators have already seen, instead of some rarely unknown network threading bug in the orangebox server code.

League configs should concern themselves with settings that affect competitive play, not try to do server optimizations nor change server names and passwords.

Just because the engine isn't updated doesn't mean variables magically stop working.

sv_clockcorrection_msecs was changed to 30 in CS:GO, and is set to 0 in many CS:GO competitive leagues. It definitely works in TF2 too.

The other ones were optimizations that I agree should be server preference, and not part of a standard competitive config. However, optimizations can affect tickrate and thus networking reliability so the stability should be at least investigated to see if they can be used in normal competitive play.

[quote=Arie][quote=mastercoms]
What causes you to say that? Curious what you exactly mean by "state of the source server engine".[/quote]

These are 4 non-default, very rarely changed variables on a 10 year old engine that no longer gets a lot of love from its creator.

If they work, only 1 out of 4 (clock correction) has any bearing on competitive play, the others are the concern of server operators, who should prefer sticking to defaults (used by nearly everyone) instead of rarely used (threaded) optimizations.

As a server operator I favor stability over changing variables that hardly anyone else runs. That way when one of my servers crashes, it's more likely to be something a lot of server operators have already seen, instead of some rarely unknown network threading bug in the orangebox server code.

League configs should concern themselves with settings that affect competitive play, not try to do server optimizations nor change server names and passwords.[/quote]
Just because the engine isn't updated doesn't mean variables magically stop working.

sv_clockcorrection_msecs was changed to 30 in CS:GO, and is set to 0 in many CS:GO competitive leagues. It definitely works in TF2 too.

The other ones were optimizations that I agree should be server preference, and not part of a standard competitive config. However, optimizations can affect tickrate and thus networking reliability so the stability should be at least investigated to see if they can be used in normal competitive play.
11
#11
Spaceship Servers
5 Frags +

reverted most of the experimental settings per mastercomms request. there was some miscommunication (my fault) and i assumed she had finished testing them, when they were actually WIP (whoops).

That commit is here

also i reorganized the configs so that they take up less space, instead of the old style of

(=> meaning "executes", using the koth config as an example)

=> tfcl_6s_koth => tfcl_6s_base => tfcl_6s_custom

its now going to be

=> tfcl_6s_koth => tfcl_6s_base => tfcl_base & tfcl_6s_custom

saves a lot more on file space having 1 large base config instead of having 3 large base configs

that commit is here

also re: host_framerate 0:

it's literally set by default in tf2 to 0 and it has been in comp configs since as far back as i can look

re: tv_enable:

it's completely nonnegotiable that this command is staying in, i cant fathom why you would want me to turn off stv in a competitive setting

re: stv port and all the other hostname/tvname settings:

all but tv_port are in custom.cfgs, which means that people can (and should) change them to what they want. i've removed the "dont change these" lines, though

i've moved tv_port to custom, but it's commented.

final commit for that is here

i appreciate all your feedback by the way, please let me know if there's any issues

reverted most of the experimental settings per mastercomms request. there was some miscommunication (my fault) and i assumed she had finished testing them, when they were actually WIP (whoops).

That commit is [url=https://github.com/TheSqrtMinus1/NEW-tfcl-configs/commit/10721e6b32dedd279a7827e8b8052ff2588bc3ac]here[/url]

also i reorganized the configs so that they take up less space, instead of the old style of

(=> meaning "executes", using the koth config as an example)

=> tfcl_6s_koth => tfcl_6s_base => tfcl_6s_custom

its now going to be

=> tfcl_6s_koth => tfcl_6s_base => tfcl_base & tfcl_6s_custom

saves a lot more on file space having 1 large base config instead of having 3 large base configs

that commit is [url=https://github.com/TheSqrtMinus1/NEW-tfcl-configs/commit/3c1b91f2e6b343a09bc5b6c20814ff8cc5c93cfb]here[/url]


also re: host_framerate 0:

it's literally set by default in tf2 to 0 and it has been in comp configs since as far back as i can look

re: tv_enable:

it's completely nonnegotiable that this command is staying in, i cant fathom why you would want me to turn off stv in a competitive setting

re: stv port and all the other hostname/tvname settings:

all but tv_port are in custom.cfgs, which means that people can (and should) change them to what they want. i've removed the "dont change these" lines, though

i've moved tv_port to custom, but it's commented.

final commit for that is [url=https://github.com/TheSqrtMinus1/NEW-tfcl-configs/commit/9d70cdef3d119460f90f315d0a431dbc8ee08524]here[/url]


i appreciate all your feedback by the way, please let me know if there's any issues
12
#12
whitelist.tf
2 Frags +

Why have different _custom configs per gamemode and not just adopt the setup ETF2L uses where your base config execute the custom config, which is executed when you run your gamemode ones.

The only reason I could see those being useful is possibly for whitelists, but if you already have access to the server to be able to edit the configs I would assume you'd change them in the regular gamemode config, or simply rcon and use tftrue_whitelist_id instead.

Also the GOLDEN I personally would rename to 'gc' (and lowercase for consistency) and also not have it set the servercfgfile to be itself, but revert back to the 'non golden cap' version of that gamemode.

----

In an ideal world with consistent rulesets for 5CP, and KotH between 6s and HL you could actually have 'tfcl_koth' as base koth config which is then executed by your tfcl_hl_koth or tfcl_6s_koth configs which then also 'say' in chat that the one for that specific gamemode has been executed with possible win conditions.

Why have different [i]_custom[/i] configs per gamemode and not just adopt the setup ETF2L uses where your base config execute the custom config, which is executed when you run your gamemode ones.

The only reason I could see those being useful is possibly for whitelists, but if you already have access to the server to be able to edit the configs I would assume you'd change them in the regular gamemode config, or simply rcon and use tftrue_whitelist_id instead.

Also the [i]GOLDEN[/i] I personally would rename to 'gc' (and lowercase for consistency) and also not have it set the servercfgfile to be itself, but revert back to the 'non golden cap' version of that gamemode.

----

In an ideal world with consistent rulesets for 5CP, and KotH between 6s and HL you could actually have 'tfcl_koth' as [i]base koth config[/i] which is then executed by your tfcl_hl_koth or tfcl_6s_koth configs which then also 'say' in chat that the one for that specific gamemode has been executed with possible win conditions.
13
#13
Spaceship Servers
0 Frags +

i added bball stuff and I renamed the golden cap configs .

more updates coming soon, im heavily considering what wiet posted but stay tuned

i [url=https://github.com/TheSqrtMinus1/NEW-tfcl-configs/commit/f84bd2333e36722a03d69950b6b6203145f3ca5d]added bball stuff[/url] and I [url=https://github.com/TheSqrtMinus1/NEW-tfcl-configs/commit/341b9970b9def6d8aa1d1d682d81b228cd92db27]renamed the golden cap configs[/url] .

more updates coming soon, im heavily considering what wiet posted but stay tuned
Please sign in through STEAM to post a comment.