[TF2] Add FCVAR_SERVER_CANNOT_QUERY to cl_disablehtmlmotd
Updates cl_disablehtmlmotd by adding the FCVAR_SERVER_CANNOT_QUERY flag to prevent community servers from "nagging" for it to be enabled.
Originally I proposed disabling the cvar outright by adding dev only, however the discussion below made it clear that several other useful features rely on html motds. This updated proposal will hopefully serve as an acceptable compromise.
Original Proposal
Also requires removing/commenting out this option in `user_default.scr` (outside this repo):// To be removed from user_default.scr L601-L607
"cl_disablehtmlmotd"
{
"#Valve_DisableHTMLMOTD"
"#Tooltip_DisableHTMLMOTD"
{ BOOL }
{ "0" }
}
This PR proposes changing cl_disablehtmlmotd to a dev-only cvar forced to 1, preventing forced advertising within community servers.
In practice, HTML Motds are slow to load, and are used for two purposes:
- Communicating server info like the rules (which can be done with a non-html motd).
- Advertising to players.
Even when users have set cl_disablehtmlmotd 1, they are often nagged to revert this cvar. For this reason, I believe just changing the cvar's default to 1 is insufficient; the dev-only flag is required to dissuade this practice entirely.
Example of advertising with HTML Motd:
Examples of nags:
A better solution is to just add FCVAR_SERVER_CANNOT_QUERY to cl_disablehtmlmotd flags so servers cannot easily query whether the client disabled it
That would also break
- !radio feature people use to listen to music
- !backpack command trade servers use
- easy way to join community server's steam group as !group
- custom inventories like slag gaming [no idea if they still exist] and probably some other stuff i don't remember
FCVAR_SERVER_CANNOT_QUERY would be better choice as above said
Thanks for the feedback, I've updated the cvar to use FCVAR_SERVER_CANNOT_QUERY instead.
I've kept the default value for the cvar at 1. Hopefully this is an acceptable compromise for countering ads without completely breaking the other features @KaelaSavia mentioned.
Thanks for the feedback, I've updated the cvar to use FCVAR_SERVER_CANNOT_QUERY instead.
I've kept the default value for the cvar at 1. Hopefully this is an acceptable compromise for countering ads without completely breaking the other features @KaelaSavia mentioned.
I'd consider that part anti-feature personally.
With cvar marked as FCVAR_SERVER_CANNOT_QUERY and cl_disablehtmlmotd set to 1 there's no way to tell player why commands using MOTD like !inventory, !music, !steamgroup etc. do not work.
Only way to let players know would be nagging them in chat or in radio menu every time they press button to open page with text 'Enable Motd' even though he might have motd already enabled because you can't tell with FCVAR_SERVER_CANNOT_QUERY set.
Or having admins or other players derail chat every time someone asks why 'X' doesn't work because motd was enabled by default for decades in all source games.
With cvar marked as FCVAR_SERVER_CANNOT_QUERY and cl_disablehtmlmotd set to 1 there's no way to tell player why commands using MOTD like !inventory, !music, !steamgroup etc. do not work.
It would be theoretically possible by using some sort of check built into the HTML motd itself, however that would impose additional work onto plugin devs and wouldn't stop such methods from being used maliciously. I'll revert the default value to 0.
I still think the advertising is a significant issue and would like to see it stopped outright if possible. Perhaps Valve can set the record straight on what's acceptable like they've done with game developers?
Would be great if they could also take care of servers ping spoofing at same time. Joining server with 30 ping only for it to turn out 300 is not fun!