PDA

View Full Version : ability to force client commands from server


SneakyBastd
10-08-2004, 19:35
Hi. I use WWCL on my 1.5 dedicated server to enforce certain client side settings, and would love to see this in a css server tool.
I primarily want to ensure that everyone is running high netcode for lan games - rate 25000, cl_cmdrate 101, cl_updaterate 101. If we could do this in sourcemod, it would be fantastic.
Thanks guys, and wd for getting this going! :)

Slinky
10-09-2004, 03:44
Are u talking about like an execclient?

imported_YoMama
10-09-2004, 04:15
Are u talking about like an execclient?

Probably not just execclient, but also a means to prevent players to change it afterwards (or beforehand)

FullThrottle
10-09-2004, 13:21
Problem with this is that this would give admins the powers to really screw up a lot of peoples systems. Which valve wouldn't want and players wouldn't either. I think it would be nice to be able to test a players system to make sure they aren't running a hack but I think it needs to be done with another 3rd party mod like cheating death rather then sourcemod. Unless you just added a interface for the commands in sourcemod.

innerchild
06-21-2005, 15:08
i appologize if i reopened this old post but i did not wanted to create a similiar one with the same topic.

is there anything when such a plugin can be created ?
so every player is forced to use the cvar and not able to change it in console ?

there are still a lot of evil cvars which can give you soo much advantage in your game.

would be nice if such a prg could be made..

peez
innerchilD

http://www.edit-strike.nl
http://www.cs-source.nl
http://www.killzone2.nl

fysh
06-21-2005, 16:27
There are server variables like sv_minrate that can control network settings for clients. Also, there is no way to force a cvar unless you send it like every frame or something which is really wasteful.

innerchild
06-21-2005, 16:43
There are server variables like sv_minrate that can control network settings for clients. Also, there is no way to force a cvar unless you send it like every frame or something which is really wasteful.

thanks for your answer but what is hlguard doing then ?
and the csp anti cvar change plugin ?

those 2 plugins are forcing cvars to clients so as i know from experience that what you are saying is not based on facts.

i just want to know if it's possible to make an editable plugin which can act like the hlguard cvar block. just the cvar block option nothing more.

if csp can do it for cs source then it can be made.
the only issue i have with the cal plugin is that you can not add your own because it's premade.

check this plugin here : http://www.caleague.com/?page=files

that's why i came here to see if someone was able to create this plugin with an function so you can other cvars as well..

thanks for your opinion.

peez
innerchilD

http://www.edit-strike.nl
http://www.cs-source.nl
http://www.killzone2.nl

fysh
06-21-2005, 18:13
I said plugins could set the cvars all the time so when people change them they change them back, but it uses a lot of resources. The server cannot read most cvars and cannot actually *lock* them.


facts

innerchild
06-21-2005, 19:09
hlguard did that job for my 1.6 servers without problems on taking that much cpu. 20 people server full with only wh and cvar 'locking' on was 20-35 cpu at max on aztec..

i now even use csp to 'lock' several client cvars without taking too much cpu damage. againa 20 man public server with mani mod and csp plugin going up to max 40 in peaks.

but that was not my intention to talk about the cpu usuage but more if this kind of plugin could be made so serveradmins can easly add there own things into it. :)

if i can remotely put any cvar on default with client commands why could a server plugin not be able to do the same. ?

nothing more.

ps do you know if there is a way to let a player say it's current cvar setting ?

if you put in your console only the cvar without a value it responds with the current cvar setting. is it possible to make someone say it with an client command ?

this is because i then can remotely check out certain cvars to see what kind of values it's on.

peez
innerchilD

http://www.edit-strike.nl
http://www.cs-source.nl
http://www.killzone2.nl

fysh
06-21-2005, 20:30
A client could have a script that constantly changed the cvar if they really wanted.

morxxx
06-24-2005, 07:33
is there plugin to read some cvar ? like updaterate ? etc.
greets

Mattie
06-24-2005, 08:20
is there plugin to read some cvar ? like updaterate ? etc.
greets

For the record, I'm not a big fan of this sort of thing.

Yet, take a look at EventScripts for CSS, I strongly suspect it can do what you want. The ES plugin basically just lets you run a .cfg file for any event triggered by the server (e.g. round_end, player_death, etc). Combine it with a popular admin mod that has cexec (e.g. Mani's ma_cexec) and you can refresh these settings to what you desire for the clients.

Some people just refresh it at every round_start or on player_spawn, etc. With EventScripts + Mani, you could do this:

round_start.cfg
ma_cexec_all cl_updaterate 20

EventScripts also has a lot of its own built-in commands to make scripting better (these are just new console commands). One newly-added command allows you to read client variables that deal with networking. As such, you could also do something like this:

player_spawn.cfg
setinfo playersvalue 0
// looks up the player's "cl_updaterate" and stores it in the server's variable "playersvalue" that we created above
es_getclientvar playersvalue event_var(userid) cl_updaterate
// now we test whether our variable is within a certain range and correct if not
if (server_var(playersvalue) lessthan 16) then ma_cexec event_var(userid) cl_updaterate 20
if (server_var(playersvalue) greaterthan 25) then ma_cexec event_var(userid) cl_updaterate 20

Keep in mind that this does not stop people from spamming their cvars back into "bad" values, but it will catch the average Joe if they don't know to look for it.

These are just examples. If you wanted an even more detailed solution, you could go brainstorm with some of the expert scripters over in my EventScripts forums:
http://www.mattie.info/cs/forums/viewforum.php?f=9

-Mattie

DevilFingers
11-01-2005, 00:48
Or you could make your own plugin where it sees when ::ClientSettingsChanged is called and if its the certain cvar then you reset it for them :)

awuh0
11-01-2005, 02:03
yeah its allready part of eventscripts...
at least for the cvars that valve allows you to see the clients change. The event for matties eventscripts is, es_player_setting.

so in es_player_setting.cfg
you would have
es ma_cexec event_var(userid) cl_interpolate 0.01
ect...

API
11-05-2005, 00:29
round_start.cfg:
ma_cexec_all cl_updaterate 20

es_client_command.cfg:
es ma_cexec event_var(es_username) cl_updaterate 20

Wouldn't that do it?