]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - commands.cfg
Merge remote-tracking branch 'origin/master' into samual/notification_rewrite
[xonotic/xonotic-data.pk3dir.git] / commands.cfg
index 16ecbfb93e13a312f5b2725d6655c2e983cd21e3..33e8e42cfc0781b866263350767f22d83cc6814a 100644 (file)
@@ -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 $${* !}"
@@ -52,7 +53,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 dumpcommands         "qc_cmd_svmenu dumpcommands         ${* ?}" // Dump all commands on the program to *_cmd_dump.txt
+alias dumpnotifs           "qc_cmd_svmenu dumpnotifs           ${* ?}" // Dump all notifications into notifications_dump.txt
 alias maplist              "qc_cmd_svmenu maplist              ${* ?}" // Automatic control of maplist
+alias nextframe            "qc_cmd_svmenu nextframe            ${* ?}" // Execute the given command next frame of this VM
+alias qc_curl              "qc_cmd_svmenu qc_curl              ${* ?}" // Queries a URL
 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
@@ -78,6 +82,7 @@ alias addvote "qc_cmd_svmenu addtolist sv_vote_commands ${* ?}"
 alias bsp "ls maps/*.bsp"
 alias chmap "changelevel ${* ?}"
 alias clearmap "disconnect"
+alias devmap "set _developer_save $developer; set developer 1; changelevel ${* ?}; set developer $_developer_save"
 alias ply "playdemo $1"
 alias rec "record demos/${1 !}"
 alias search "apropos ${* ?}"
@@ -106,6 +111,7 @@ alias menu_loadmap_prepare "disconnect; wait; g_campaign 0; menu_cmd rpn /_menu_
 // ==========================================================
 // commented out commands are really only intended for internal use
 alias blurtest             "qc_cmd_cl     blurtest             ${* ?}" // Feature for testing blur postprocessing
+alias create_scrshot_ent   "qc_cmd_cl     create_scrshot_ent   ${* ?}" // Create an entity at this location for automatic screenshots
 alias debugmodel           "qc_cmd_cl     debugmodel           ${* ?}" // Spawn a debug model manually
 //alias handlevote         "qc_cmd_cl     handlevote           ${* ?}" // System to handle selecting a vote or option
 alias hud                  "qc_cmd_cl     hud                  ${* ?}" // Commands regarding/controlling the HUD system
@@ -220,7 +226,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 +235,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 <minargs> followed by <maxargs> 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 +291,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 +306,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 master login ${* ?}"
-alias vdo "cmd vote master do ${* ?}"
-alias vyes "cl_cmd handlevote yes; cl_cmd vyes" // NOTE: COMPATIBILITY FOR 0.5 IS ADDED HERE WITH "VYES", REMOVE LATER
-alias vno "cl_cmd handlevote no; cl_cmd vno" // ^^^ same, see above
-alias vdontcare "cmd vote abstain"
-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 +337,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.\""
-