X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=commands.cfg;h=35d9e39b91947d5d17210434c6c047a6f8512131;hb=cf26ba11220f6f3d6280c26040ad311ee92ebeb2;hp=d5ad7830b1a78788f4b593645c7c4e67e6275511;hpb=9f31b2438f27e46e900e4a9afe47fec5fcace088;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/commands.cfg b/commands.cfg index d5ad7830b..35d9e39b9 100644 --- a/commands.cfg +++ b/commands.cfg @@ -12,7 +12,8 @@ _if_dedicated alias if_client "" if_client alias if_dedicated "" if_dedicated "alias" qc_cmd_sv "sv_cmd $$*" -if_client "alias" qc_cmd_sv "echo This command only works on servers: sv_cmd $${* !}" +if_client "alias" qc_cmd_sv "sv_cmd $$*" +// if_client "alias" qc_cmd_sv "echo This command only works on servers: sv_cmd $${* !}" if_dedicated "alias" qc_cmd_cl "echo This command only works on clients: cl_cmd $${* !}" if_client "alias" qc_cmd_cl "cl_cmd $$*" if_dedicated "alias" qc_cmd_cmd "echo This command only works on clients: cmd $${* !}" @@ -51,8 +52,10 @@ alias who "qc_cmd_svcmd who ${* ?}" // Displa // generic commands (across all programs) alias addtolist "qc_cmd_svmenu addtolist ${* ?}" // Add a string to a cvar +alias qc_curl "qc_cmd_svmenu curl ${* ?}" // curl requests alias dumpcommands "qc_cmd_svmenu dumpcommands ${* ?}" // Dump all commands on the program to *_cmd_dump.txt alias maplist "qc_cmd_svmenu maplist ${* ?}" // Automatic control of maplist +alias nextframe "qc_cmd_svmenu nextframe ${* ?}" // do something next frame alias removefromlist "qc_cmd_svmenu removefromlist ${* ?}" // Remove a string from a cvar alias rpn "qc_cmd_svmenu rpn ${* ?}" // RPN calculator //alias settemp "qc_cmd_svmenu settemp ${* ?}" // Temporarily set a value to a cvar which is restored later @@ -220,7 +223,7 @@ alias movetoauto "moveplayer ${1 ?} auto" // Aliases for settemp subsystem. Warning: Do not touch. // Usage: settemp variable value, next map resets it. // ======================================================= -alias settemp "qc_cmd_svcl settemp $$*" +alias settemp "qc_cmd_svcl settemp $*" alias settemp_restore "qc_cmd_svcl settemp_restore" @@ -229,12 +232,54 @@ alias settemp_restore "qc_cmd_svcl settemp_restore" // =================================== alias ban "qc_cmd_sv ban ${* ?}" // Ban an IP address or a range of addresses (like 1.2.3) alias banlist "qc_cmd_sv banlist ${* ?}" // List all existing bans +alias bans "qc_cmd_sv bans ${* ?}" // COMPATIBILITY COMMAND FOR 0.5 CLIENTS alias kickban "qc_cmd_sv kickban ${* ?}" // Disconnect a client and ban it at the same time alias unban "qc_cmd_sv unban ${* ?}" // Remove an existing ban // other aliases for ban commands alias bans "banlist" +// character classes (intersected with 32..126 minus ", $, ;, ^, \ - if you +// want these, include them explicitly) +// note that QC code always forbids $ and ; in VoteCommand_checknasty +set _iscntrl "" +set _isblank " " +set _ispunct "!#%&'()*+,-./:<=>?@[]_`{|}~" +set _isdigit "0123456789" +set _isupper "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +set _islower "abcdefghijklmnopqrstuvwxyz" +set _isxdigit "0123456789abcdefABCDEF" + +// derived character classes +set _isalpha "$_isupper$_islower" +set _isalnum "$_isalpha$_isdigit" +set _isgraph "$_ispunct$_isalnum" +set _isascii "$_isgraph$_isblank" +set _isprint "$_isgraph$_isblank" +set _isspace "$_isblank" + +// restriction is specified as followed by instances of ';' +// and the optional character class to verify the argument by (no checking if +// empty) +// set cvar to empty string to not check the command at all +// if cvar is not set there will be a warning +set sv_vote_command_restriction_restart "0" +set sv_vote_command_restriction_fraglimit "1;$_isdigit" +set sv_vote_command_restriction_chmap "1;$_isgraph" +set sv_vote_command_restriction_gotomap "1;$_isgraph" +set sv_vote_command_restriction_nextmap "1;$_isgraph" +set sv_vote_command_restriction_endmatch "0" +set sv_vote_command_restriction_reducematchtime "0" +set sv_vote_command_restriction_extendmatchtime "0" +set sv_vote_command_restriction_allready "0" +set sv_vote_command_restriction_kick "1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" // enough space for ban reason +set sv_vote_command_restriction_kickban "1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" // enough space for ban reason +set sv_vote_command_restriction_cointoss "0" +set sv_vote_command_restriction_movetoauto "1;" +set sv_vote_command_restriction_movetored "1;" +set sv_vote_command_restriction_movetoblue "1;" +set sv_vote_command_restriction_movetoyellow "1;" +set sv_vote_command_restriction_movetopink "1;" // ================================= // voting - server/command/vote.qc @@ -243,7 +288,7 @@ set sv_vote_call 1 "Allow users to call a vote for the commands in sv_vote_comma set sv_vote_change 1 "Allow voters to change their mind after already voting" set sv_vote_commands "restart fraglimit chmap gotomap nextmap endmatch reducematchtime extendmatchtime allready kick cointoss movetoauto" "these commands can be voted" set sv_vote_only_commands "" -set sv_vote_master_commands "movetored movetoblue movetoyellow movetopink" "Commands which vote masters can execute by themselves" // maybe add kickban here (but then sv_vote_master 0) +set sv_vote_master_commands "movetored movetoblue movetoyellow movetopink" "Extra commands which vote masters can execute by themselves, along with the normal sv_vote_commands." // maybe add kickban here (but then sv_vote_master 0) set sv_vote_master 1 "Allows the use of the vote master system" set sv_vote_master_callable 1 "When set, users can use \"vmaster\" to call a vote to become master of voting commands" set sv_vote_master_password "" "when set, users can use \"vlogin PASSWORD\" to log in as master" @@ -258,18 +303,22 @@ set sv_vote_majority_factor_of_voted 0.5 "What percentage of the VOTERS constitu // when disabled, don't allow game type changes "note: set these two equal to JUST support simple majorities" set sv_vote_override_mostrecent 0 -alias vhelp "cmd vote help" -alias vstatus "cmd vote status" -alias vcall "cmd vote call ${* ?}" -alias vstop "cmd vote stop" -alias vmaster "cmd vote master" -alias vlogin "cmd vote login ${* ?}" -alias vdo "cmd vote do ${* ?}" -alias vyes "cl_cmd handlevote yes" -alias vno "cl_cmd handlevote no" -alias vdontcare "cmd vote dontcare" -alias vabstain "cmd vote abstain" - +// aliases for client only +alias vmaster "qc_cmd_cmd vote master" +alias vlogin "qc_cmd_cmd vote master login ${* ?}" +alias vdo "qc_cmd_cmd vote master do ${* ?}" +alias vyes "qc_cmd_cl handlevote yes; cl_cmd vyes" // NOTE: COMPATIBILITY FOR 0.5 IS ADDED HERE WITH "VYES", REMOVE LATER +alias vno "qc_cmd_cl handlevote no; cl_cmd vno" // ^^^ same, see above +alias vdontcare "qc_cmd_cmd vote abstain" +alias vabstain "qc_cmd_cmd vote abstain" + +// aliases for both client and server +alias vcall "qc_cmd_svcmd vote call ${* ?}" +alias vhelp "qc_cmd_svcmd vote help" +alias vstatus "qc_cmd_svcmd vote status" +alias vstop "qc_cmd_svcmd vote stop" + +// general alias vmap "vcall gotomap ${1 ?}" alias vnextmap "vcall nextmap ${1 ?}" alias vkick "vcall kick ${1 ?}" @@ -285,9 +334,3 @@ alias vdoend "vdo endmatch" // ====================== rcon_secure 1 set rcon_restricted_commands "restart fraglimit chmap gotomap endmatch reducematchtime extendmatchtime allready kick kickban \"sv_cmd bans\" \"sv_cmd unban *\" status \"sv_cmd teamstatus\" movetoauto movetored movetoblue movetoyellow movetopink" - -// ============================= -// other miscellaneous aliases -// ============================= -alias autoscreenshot "screenshot screenshots/autoscreenshot/${1 !}-${2 !}.jpg; echo \"^5A screenshot has been taken at request of the server.\"" -