The new update broke most things

  • If you're asking a question make sure to set the thread type to be a question!

MOCOLONI

L6: Sharp Member
Dec 16, 2014
373
89
Hey there. So there was a new TF2 update, introducing the "map workshop", along with a new game command that probably broke many maps, including tr_walkway and other that had to use inputs through the point_servercommand entity. In my opinion, Valve made a mistake by adding the new command "sv_allow_point_servercommand", which has to be enabled before loading a map (Singleplayer) or by servers' admins that may be lazy. To fully enable everything, the value is "always". So I'm posting this in case someone knows if there is a way to "bypass" this. I've been thinking about enabling this command via logic_auto to point_servercommand, but I think no inputs are read unless the new command is enabled by the server.
 

worMatty

Repacking Evangelist
aa
Jul 22, 2014
1,257
999
Greetings.

point_servercommand lets map authors do bad things to your server. Server ops have used SourceMod plugins to sanitize maps that contain them because in most maps they aren't really needed, and it's safer to blanket ban them.

If you must pass cvars to a server for a map to work, it's better to use a map-specific config file. You put it in the cfg dir and name it the same name as the map, with a .cfg extension (e.g. cp_dustbowl.cfg). It will be run when the map loads.

The only problem with that method is that it doesn't allow a map to change server settings during the session. But you could probably use the config file to change sv_allow_point_servercommand to always for your map, and then when the server changes maps it would revert to the setting stored in server.cfg.

Typically, medieval maps use point_servercommand to enable medieval modes. Some dodgeball plugins accept cvars from maps this way, too. Surf maps need modified air acceleration parameters. But in all those cases, the cvars could be moved to a config file.

VIDE's entity browser will tell you what needs to be copied, if you search for the point_servercommand entity. Learn its targetname, then search for any logic that gives outputs to it.
 

MOCOLONI

L6: Sharp Member
Dec 16, 2014
373
89
Greetings.

point_servercommand lets map authors do bad things to your server. Server ops have used SourceMod plugins to sanitize maps that contain them because in most maps they aren't really needed, and it's safer to blanket ban them.

If you must pass cvars to a server for a map to work, it's better to use a map-specific config file. You put it in the cfg dir and name it the same name as the map, with a .cfg extension (e.g. cp_dustbowl.cfg). It will be run when the map loads.

The only problem with that method is that it doesn't allow a map to change server settings during the session. But you could probably use the config file to change sv_allow_point_servercommand to always for your map, and then when the server changes maps it would revert to the setting stored in server.cfg.

Typically, medieval maps use point_servercommand to enable medieval modes. Some dodgeball plugins accept cvars from maps this way, too. Surf maps need modified air acceleration parameters. But in all those cases, the cvars could be moved to a config file.

VIDE's entity browser will tell you what needs to be copied, if you search for the point_servercommand entity. Learn its targetname, then search for any logic that gives outputs to it.

I see many threads have been created complaining about this update.

Anyway, so I tried this method but it doesn't seem to work. I created a .cfg file and it contained "sv_allow_point_servercommand always", but whenever it loads, nothing new happens. I opened up the console and it said "<mapname>.cfg not not present; not executing". I saved the file inside tf\maps\ so it had to work, but it didn't. Anyway, I hope a new update will set the default value to "always", so if it's needed, server admins will change it to "official" or just disable it.
 

UKCS-Alias

Mann vs Machine... or... Mapper vs Meta?
aa
Sep 8, 2008
1,264
816
I think the new entity just lacks options. it instead of only allowing valve maps should be based on a whitelist which can just be defined in a seperate file similar to sv_pure. That file by default then could contain the valve maps and server owners can just expand the list themselve.

The same whitelist even should exist for the commands they can issue. And this should be on a per map base. This could just be a list of commands followed by a setting like 'never' (this realy means never, for example on sv_crash), 'sv_cheats' (only when sv_cheats is enabled), 'server' (doesnt require sv_cheats but only servers can trigger it), 'allways' (clients cant trigger this. instead its needed for some melee maps to strip all the weapons. the client in this case is the one that should be executing it although the server still decided if the client isnt doing it randomly).

But yeah... obviously that would require alot of work from valve. and the current way does enough for prob 95% of the servers.
 

worMatty

Repacking Evangelist
aa
Jul 22, 2014
1,257
999
I see many threads have been created complaining about this update.

Anyway, so I tried this method but it doesn't seem to work. I created a .cfg file and it contained "sv_allow_point_servercommand always", but whenever it loads, nothing new happens. I opened up the console and it said "<mapname>.cfg not not present; not executing". I saved the file inside tf\maps\ so it had to work, but it didn't. Anyway, I hope a new update will set the default value to "always", so if it's needed, server admins will change it to "official" or just disable it.

It does work because I've just done it on my local test server. You put the cfg file in the wrong dir. You're supposed to put it in the cfg dir.

Here is an example:

Map filename and dir: maps/box.bsp
Map config file and dir: cfg/box.cfg
Config file contents: sv_allow_point_servercommand always

I did exactly that on my waiting room map named box, which contains a server command to disable waitingforplayers time, and it worked great. Before I added the config file, I got errors in the console:

Code:
point_servercommand usage blocked by sv_allow_point_servercommand setting

I temporarily removed the config file and did changelevel box, and the sv_allow_point_servercommand setting was still set to always, because I do not have sv_allow_point_servercommand official in my server.cfg file. If a server setting gets changed, then if its default setting is not in the server.cfg file, it could stay like that until the server is restarted, so you have to be careful.

I disagree that Valve should release an update to allow all point_servercommand entities by default, because that is less secure. It is better to keep it locked down, and only enable it for maps that genuinely need it.

Thanks, Berry.
 

MOCOLONI

L6: Sharp Member
Dec 16, 2014
373
89
It does work because I've just done it on my local test server. You put the cfg file in the wrong dir. You're supposed to put it in the cfg dir.

Here is an example:

Map filename and dir: maps/box.bsp
Map config file and dir: cfg/box.cfg
Config file contents: sv_allow_point_servercommand always

I did exactly that on my waiting room map named box, which contains a server command to disable waitingforplayers time, and it worked great. Before I added the config file, I got errors in the console:

Code:
point_servercommand usage blocked by sv_allow_point_servercommand setting

I temporarily removed the config file and did changelevel box, and the sv_allow_point_servercommand setting was still set to always, because I do not have sv_allow_point_servercommand official in my server.cfg file. If a server setting gets changed, then if its default setting is not in the server.cfg file, it could stay like that until the server is restarted, so you have to be careful.

I disagree that Valve should release an update to allow all point_servercommand entities by default, because that is less secure. It is better to keep it locked down, and only enable it for maps that genuinely need it.

Thanks, Berry.

Yep, seems to be working now. There were a few times I saw some map-related files inside <game>\maps\. Thank you:thumbup1: