Make scoreboard team selection on spacebar press work for old clients. While at it...
[xonotic/xonotic-data.pk3dir.git] / commands.cfg
1 // =================================================================
2 //  Master config for managing various command aliases and settings
3 // =================================================================
4
5 // Execute commands based on whether it is dedicated a server or a client.
6 alias "_detect_dedicated_$qport" "${* asis}"
7 alias "_detect_dedicated_0" ""
8 alias _if_dedicated "_detect_dedicated_$qport ${* asis}"
9 alias if_client "${* asis}"
10 alias if_dedicated "${* asis}"
11 _if_dedicated alias if_client ""
12 if_client alias if_dedicated ""
13
14 // for easy access by QC
15 if_dedicated set is_dedicated 1
16 if_client    set is_dedicated 0
17
18 if_dedicated "alias" qc_cmd_sv     "sv_cmd $$*"
19 if_client    "alias" qc_cmd_sv     "sv_cmd $$*"
20 // if_client    "alias" qc_cmd_sv     "echo This command only works on servers: sv_cmd $${* !}"
21 if_dedicated "alias" qc_cmd_cl     "echo This command only works on clients: cl_cmd $${* !}"
22 if_client    "alias" qc_cmd_cl     "cl_cmd $$*"
23 if_dedicated "alias" qc_cmd_cmd    "echo This command only works on clients: cmd $${* !}"
24 if_client    "alias" qc_cmd_cmd    "cmd $$*"
25
26 if_dedicated "alias" qc_cmd_svmenu "sv_cmd $$*"
27 if_client    "alias" qc_cmd_svmenu "menu_cmd $$*"
28 if_dedicated "alias" qc_cmd_svcl   "sv_cmd $$*"
29 if_client    "alias" qc_cmd_svcl   "cl_cmd $$*"
30 if_dedicated "alias" qc_cmd_svcmd  "sv_cmd $$*"
31 if_client    "alias" qc_cmd_svcmd  "cmd $$*"
32
33 if_dedicated "alias" help "sv_cmd help"
34 if_client    "alias" help "cl_cmd help; cmd help"
35
36
37 // ========
38 //  common
39 // ========
40 // networked/server common commands
41 alias cvar_changes         "qc_cmd_svcmd  cvar_changes         ${* ?}" // Prints a list of all changed server cvars
42 alias cvar_purechanges     "qc_cmd_svcmd  cvar_purechanges     ${* ?}" // Prints a list of all changed gameplay cvars
43 alias editmob              "qc_cmd_svcmd  editmob              ${* ?}" // Modifies a monster or all monsters
44 alias info                 "qc_cmd_svcmd  info                 ${* ?}" // Request for unique server information set up by admin
45 alias ladder               "qc_cmd_svcmd  ladder               ${* ?}" // Get information about top players if supported
46 alias lsmaps               "qc_cmd_svcmd  lsmaps               ${* ?}" // List maps which can be used with the current game mode
47 alias printmaplist         "qc_cmd_svcmd  printmaplist         ${* ?}" // Display full server maplist reply
48 alias rankings             "qc_cmd_svcmd  rankings             ${* ?}" // Print information about rankings
49 alias records              "qc_cmd_svcmd  records              ${* ?}" // List top 10 records for the current map
50 alias teamstatus           "qc_cmd_svcmd  teamstatus           ${* ?}" // Show information about player and team scores
51 alias time                 "qc_cmd_svcmd  time                 ${* ?}" // Print different formats/readouts of time
52 alias timein               "qc_cmd_svcmd  timein               ${* ?}" // Resume the game from being paused with a timeout
53 alias timeout              "qc_cmd_svcmd  timeout              ${* ?}" // Call a timeout which pauses the game for certain amount of time unless unpaused
54 alias vote                 "qc_cmd_svcmd  vote                 ${* ?}" // Request an action to be voted upon by players
55 alias who                  "qc_cmd_svcmd  who                  ${* ?}" // Display detailed client information about all players
56
57 // generic commands (across all programs)
58 alias addtolist            "qc_cmd_svmenu addtolist            ${* ?}" // Add a string to a cvar
59 alias bufstr_get           "qc_cmd_svmenu bufstr_get           ${* ?}" // Examine a string buffer object
60 alias cvar_localchanges    "qc_cmd_svmenu cvar_localchanges    ${* ?}" // Print locally changed cvars
61 alias dumpcommands         "qc_cmd_svmenu dumpcommands         ${* ?}" // Dump all commands on the program to *_cmd_dump.txt
62 alias dumpnotifs           "qc_cmd_svmenu dumpnotifs           ${* ?}" // Dump all notifications into notifications_dump.txt
63 alias dumpitems            "qc_cmd_svmenu dumpitems            ${* ?}" // Dump all items to the console
64 alias dumpturrets          "qc_cmd_svmenu dumpturrets          ${* ?}" // Dump all turrets into turrets_dump.txt
65 alias dumpweapons          "qc_cmd_svmenu dumpweapons          ${* ?}" // Dump all weapons into weapons_dump.txt
66 alias findent              "qc_cmd_svmenu findent              ${* ?}" // Search through entities for matching classname
67 alias findat               "qc_cmd_svmenu findat               ${* ?}" // Search through entities for matching origin
68 alias maplist              "qc_cmd_svmenu maplist              ${* ?}" // Automatic control of maplist
69 alias mx                   "qc_cmd_svmenu mx                   ${* ?}" // Send a matrix command
70 alias nextframe            "qc_cmd_svmenu nextframe            ${* ?}" // Execute the given command next frame of this VM
71 alias qc_curl              "qc_cmd_svmenu qc_curl              ${* ?}" // Queries a URL
72 alias removefromlist       "qc_cmd_svmenu removefromlist       ${* ?}" // Remove a string from a cvar
73 alias restartnotifs        "qc_cmd_svmenu restartnotifs        ${* ?}" // Re-initialize all notifications
74 alias rpn                  "qc_cmd_svmenu rpn                  ${* ?}" // RPN calculator
75 alias runtest              "qc_cmd_svmenu runtest              ${* ?}" // Run unit tests
76 //alias settemp            "qc_cmd_svmenu settemp              ${* ?}" // Temporarily set a value to a cvar which is restored later
77 //alias settemp_restore    "qc_cmd_svmenu settemp_restore      ${* ?}" // Restore all cvars set by settemp command
78 alias version              "qc_cmd_svmenu version              ${* ?}" // Print the current version
79
80 // other aliases for common commands
81 alias g_hitplots_add "qc_cmd_svmenu rpn /g_hitplots_individuals g_hitplots_individuals ${1 !} union def"
82 alias g_hitplots_remove "qc_cmd_svmenu rpn /g_hitplots_individuals g_hitplots_individuals ${1 !} difference def"
83
84 alias g_maplist_add     "qc_cmd_svmenu maplist add ${* ?}"
85 alias g_maplist_remove  "qc_cmd_svmenu maplist remove ${* ?}"
86 alias g_maplist_putfirst        "qc_cmd_svmenu maplist remove ${* ?} ; qc_cmd_svmenu maplist add ${* ?}"
87 alias g_maplist_shufflenow      "qc_cmd_svmenu maplist shuffle"
88 alias g_maplist_cleanup "qc_cmd_svmenu maplist cleanup" // removes maps that don't exist from the map list
89
90 alias addfav "qc_cmd_svmenu addtolist net_slist_favorites ${* ?}"
91 alias delfav "qc_cmd_svmenu removefromlist net_slist_favorites ${* ?}"
92 alias addvote "qc_cmd_svmenu addtolist sv_vote_commands ${* ?}"
93 alias delvote "qc_cmd_svmenu removefromlist sv_vote_commands ${* ?}"
94
95
96 // ========================
97 //  engine command aliases
98 // ========================
99 alias bsp "ls maps/*.bsp"
100 alias chmap "changelevel ${* ?}"
101 alias clearmap "disconnect"
102 alias devmap "set _developer_save $developer; set developer 1; changelevel ${* ?}; set developer $_developer_save"
103 alias ply "playdemo $1"
104 alias rec "record demos/${1 !}"
105 alias search "apropos ${* ?}"
106 alias sv_loadconfig "exec $serverconfig"
107 alias sv_restart "say \"Server will restart at the end of the match, you will all be reconnected automatically. ${* ?} \"; quit_and_redirect self"
108 alias tdem "timedemo $1"
109
110
111 // ===============================================
112 //  menu_cmd (menu command) - menu/command/menu_cmd.qc
113 // ===============================================
114 alias menu_showwelcomedialog "menu_cmd directmenu Welcome"
115 alias menu_showteamselect "menu_cmd directmenu TeamSelect"
116 alias menu_showhudexit "menu_cmd directmenu HUDExit"
117 alias menu_showhudoptions "menu_cmd directpanelhudmenu ${* ?}"
118 alias menu_showsandboxtools "menu_cmd directmenu SandboxTools"
119 alias menu_showquitdialog "menu_cmd directmenu Quit"
120 alias menu_showgamemenudialog "menu_cmd directmenu GameMenu"
121 alias menu_showmonstertools "menu_cmd directmenu MonsterTools"
122
123 // command executed before loading a map by the menu
124 // makes sure maxplayers is at least minplayers or minplayers_per_team * 4 or bot_number + 1
125 alias _menu_loadmap_prepare_maxpl "maxplayers $_menu_loadmap_maxplayers"
126 alias menu_loadmap_prepare "disconnect; wait; g_campaign 0; menu_cmd rpn /_menu_loadmap_maxplayers menu_maxplayers minplayers bot_number 1 add max minplayers_per_team 4 mul max max def; _menu_loadmap_prepare_maxpl; g_maplist_shufflenow"
127
128
129 // ==========================================================
130 //  cl_cmd (client local command) - client/command/cl_cmd.qc
131 // ==========================================================
132 // commented out commands are really only intended for internal use
133 alias blurtest             "qc_cmd_cl     blurtest             ${* ?}" // Feature for testing blur postprocessing
134 alias boxparticles         "qc_cmd_cl     boxparticles         ${* ?}" // Spawn particles manually
135 alias create_scrshot_ent   "qc_cmd_cl     create_scrshot_ent   ${* ?}" // Create an entity at this location for automatic screenshots
136 alias debugmodel           "qc_cmd_cl     debugmodel           ${* ?}" // Spawn a debug model manually
137 //alias handlevote         "qc_cmd_cl     handlevote           ${* ?}" // System to handle selecting a vote or option
138 alias hud                  "qc_cmd_cl     hud                  ${* ?}" // Commands regarding/controlling the HUD system
139 alias localprint           "qc_cmd_cl     localprint           ${* ?}" // Create your own centerprint sent to yourself
140 //alias mv_download        "qc_cmd_cl     mv_download          ${* ?}" // Retrieve mapshot picture from the server
141 alias sendcvar             "qc_cmd_cl     sendcvar             ${* ?}" // Send a cvar to the server (like cl_weaponpriority)
142 alias weapon_find          "qc_cmd_cl     weapon_find          ${* ?}" // Show spawn locations of a weapon
143
144 alias exit                 "quit"
145
146 // other aliases for local commands
147 alias hud_configure "qc_cmd_cl hud configure"
148 alias hud_save "qc_cmd_cl hud save ${* ?}"
149 alias radar "qc_cmd_cl hud radar ${* ?}"
150 alias scoreboard_columns_help "qc_cmd_cl hud scoreboard_columns_help"
151 alias scoreboard_columns_set "qc_cmd_cl hud scoreboard_columns_set ${* ?}"
152
153 set _scoreboard_team_selection_available 0 // set to 1 by CSQC
154 alias _team_selection_show1 "_scoreboard_team_selection 1"
155 alias _team_selection_show0 menu_showteamselect
156 alias team_selection_show "_team_selection_show$_scoreboard_team_selection_available"
157
158 // ========================================================
159 //  cmd (client-to-server command) - server/command/cmd.qc
160 // ========================================================
161 set sv_clientcommand_antispam_time 1 "Amount of seconds after a command before another command can be called again without being considered spam. (Use -1 for no antispam limit)"
162 set sv_clientcommand_antispam_count 8 "Amount of commands considered spam before commands are rejected."
163 seta sv_status_privacy 1 "hide IP addresses from \"status\" and \"who\" replies shown to clients"
164 seta cl_autoswitch 1 "automatically switch to newly picked up weapons if they are better than what you are carrying"
165
166 // commented out commands are really only intended for internal use, or already have declaration in the engine
167 alias autoswitch           "qc_cmd_cmd    autoswitch           ${* ?}" // Whether or not to switch automatically when getting a better weapon
168 alias clientversion        "qc_cmd_cmd    clientversion        ${* ?}" // Release version of the game
169 alias join                 "qc_cmd_cmd    join                 ${* ?}" // Become a player in the game
170 alias minigame             "qc_cmd_cmd    minigame             ${* ?}" // Start a minigame
171 //alias mv_getpicture      "qc_cmd_cmd    mv_getpicture        ${* ?}" // Retrieve mapshot picture from the server
172 alias physics              "qc_cmd_cmd    physics              ${* ?}" // Change physics set
173 alias ready                "qc_cmd_cmd    ready                ${* ?}" // Qualify as ready to end warmup stage (or restart server if allowed)
174 //alias say                "qc_cmd_cmd    say                  ${* ?}" // Print a message to chat to all players
175 //alias say_team           "qc_cmd_cmd    say_team             ${* ?}" // Print a message to chat to all team mates
176 alias selectteam           "qc_cmd_cmd    selectteam           ${* ?}" // Attempt to choose a team to join into
177 alias selfstuff            "qc_cmd_cmd    selfstuff            ${* ?}" // Stuffcmd a command to your own client
178 alias sentcvar             "qc_cmd_cmd    sentcvar             ${* ?}" // New system for sending a client cvar to the server
179 alias spectate             "qc_cmd_cmd    spectate             ${* ?}" // Become an observer
180 alias suggestmap           "qc_cmd_cmd    suggestmap           ${* ?}" // Suggest a map to the mapvote at match end
181 //alias tell               "qc_cmd_cmd    tell                 ${* ?}" // Send a message directly to a player
182 alias voice                "qc_cmd_cmd    voice                ${* ?}" // Send voice message via sound
183 alias wpeditor             "qc_cmd_cmd    wpeditor             ${* ?}" // Waypoint editor commands
184
185 // other aliases for client-to-server commands
186 alias autoswitch "set cl_autoswitch ${1 ?} ; cmd autoswitch ${1 ?}" // todo
187
188 alias team_red "cmd selectteam red; cmd join"
189 alias team_blue "cmd selectteam blue; cmd join"
190 alias team_pink "cmd selectteam pink; cmd join"
191 alias team_yellow "cmd selectteam yellow; cmd join"
192 alias team_auto "togglemenu 0; cmd selectteam auto; cmd join"
193
194 alias spec "spectate ${* ?}"
195
196 // mutator aliases
197 alias sandbox "cmd g_sandbox ${* ?}"
198
199
200 // monster aliases
201 alias killmob "editmob kill ${* ?}"
202 alias spawnmob "editmob spawn ${* ?}"
203 alias skinmob "editmob skin ${* ?}"
204 alias namemob "editmob name ${* ?}"
205 alias movemob "editmob movetarget ${* ?}"
206 alias butcher "editmob butcher ${* ?}"
207 alias mobbutcher "editmob butcher ${* ?}"
208
209
210 // ============================================================
211 //  sv_cmd (server console command) - server/command/sv_cmd.qc
212 // ============================================================
213 alias adminmsg             "qc_cmd_sv     adminmsg             ${* ?}" // Send an admin message to a client directly
214 alias allready             "qc_cmd_sv     allready             ${* ?}" // Restart the server and reset the players
215 alias allspec              "qc_cmd_sv     allspec              ${* ?}" // Force all players to spectate
216 alias animbench            "qc_cmd_sv     animbench            ${* ?}" // Benchmark model animation (LAGS)
217 alias anticheat            "qc_cmd_sv     anticheat            ${* ?}" // Create an anticheat report for a client
218 alias bbox                 "qc_cmd_sv     bbox                 ${* ?}" // Print detailed information about world size
219 alias bot_cmd              "qc_cmd_sv     bot_cmd              ${* ?}" // Control and send commands to bots
220 alias cointoss             "qc_cmd_sv     cointoss             ${* ?}" // Flip a virtual coin and give random result
221 alias database             "qc_cmd_sv     database             ${* ?}" // Extra controls of the serverprogs database
222 alias defer_clear          "qc_cmd_sv     defer_clear          ${* ?}" // Clear all queued defer commands for a specific client
223 alias defer_clear_all      "qc_cmd_sv     defer_clear_all      ${* ?}" // Clear all queued defer commands for all clients
224 alias delrec               "qc_cmd_sv     delrec               ${* ?}" // Delete race time record for a map
225 alias effectindexdump      "qc_cmd_sv     effectindexdump      ${* ?}" // Dump list of effects from code and effectinfo.txt
226 alias extendmatchtime      "qc_cmd_sv     extendmatchtime      ${* ?}" // Increase the timelimit value incrementally
227 alias gametype             "qc_cmd_sv     gametype             ${* ?}" // Simple command to change the active gametype
228 alias gettaginfo           "qc_cmd_sv     gettaginfo           ${* ?}" // Get specific information about a weapon model
229 alias gotomap              "qc_cmd_sv     gotomap              ${* ?}" // Simple command to switch to another map
230 alias lockteams            "qc_cmd_sv     lockteams            ${* ?}" // Disable the ability for players to switch or enter teams
231 alias make_mapinfo         "qc_cmd_sv     make_mapinfo         ${* ?}" // Automatically rebuild mapinfo files
232 alias moveplayer           "qc_cmd_sv     moveplayer           ${* ?}" // Change the team/status of a player
233 alias nospectators         "qc_cmd_sv     nospectators         ${* ?}" // Automatically remove spectators from a match
234 alias printstats           "qc_cmd_sv     printstats           ${* ?}" // Dump eventlog player stats and other score information
235 alias radarmap             "qc_cmd_sv     radarmap             ${* ?}" // Generate a radar image of the map
236 alias reducematchtime      "qc_cmd_sv     reducematchtime      ${* ?}" // Decrease the timelimit value incrementally
237 alias resetmatch           "qc_cmd_sv     resetmatch           ${* ?}" // Soft restart the map
238 alias setbots              "qc_cmd_sv     setbots              ${* ?}" // Adjust how many bots are in the match
239 alias shuffleteams         "qc_cmd_sv     shuffleteams         ${* ?}" // Randomly move players to different teams
240 alias stuffto              "qc_cmd_sv     stuffto              ${* ?}" // Send a command to be executed on a client
241 alias trace                "qc_cmd_sv     trace                ${* ?}" // Various debugging tools with tracing
242 alias unlockteams          "qc_cmd_sv     unlockteams          ${* ?}" // Enable the ability for players to switch or enter teams
243 alias warp                 "qc_cmd_sv     warp                 ${* ?}" // Choose different level in campaign
244
245 // other aliases for server commands
246 set _endmatch 0 "if set to 1 ends the match immediately; use it instead of timelimit -1 (deprecated)"
247 alias endmatch "_endmatch 1"
248 alias bots "minplayers 4; minplayers_per_team 2"
249 alias nobots "minplayers 0; minplayers_per_team 0"
250
251 alias savedb "sv_cmd database save \"${1 ?}\""
252 alias dumpdb "sv_cmd database dump \"${1 ?}\""
253 alias loaddb "sv_cmd database load \"${1 ?}\""
254
255 alias movetored "moveplayer ${1 ?} red"
256 alias movetoblue "moveplayer ${1 ?} blue"
257 alias movetopink "moveplayer ${1 ?} pink"
258 alias movetoyellow "moveplayer ${1 ?} yellow"
259 alias movetoauto "moveplayer ${1 ?} auto"
260 alias movetospec "moveplayer ${1 ?} spec"
261
262
263 // =======================================================
264 //  Aliases for settemp subsystem. Warning: Do not touch.
265 //  Usage: settemp variable value, next map resets it.
266 // =======================================================
267 alias settemp "qc_cmd_svcl settemp $*"
268 alias settemp_restore "qc_cmd_svcl settemp_restore"
269
270
271 // ===================================
272 //  banning - server/command/ipban.qc
273 // ===================================
274 alias ban                  "qc_cmd_sv     ban                  ${* ?}" // Ban an IP address or a range of addresses (like 1.2.3)
275 alias banlist              "qc_cmd_sv     banlist              ${* ?}" // List all existing bans
276 alias kickban              "qc_cmd_sv     kickban              ${* ?}" // Disconnect a client and ban it at the same time
277 alias mute                 "qc_cmd_sv     mute                 ${* ?}" // Disallow a client from talking by muting them
278 alias unban                "qc_cmd_sv     unban                ${* ?}" // Remove an existing ban
279 alias unmute               "qc_cmd_sv     unmute               ${* ?}" // Unmute a client
280
281 // other aliases for ban commands
282 alias bans "banlist"
283
284 // character classes (intersected with 32..126 minus ", $, ;, ^, \ - if you
285 // want these, include them explicitly)
286 // note that QC code always forbids $ and ; in VoteCommand_checknasty
287 set _iscntrl ""
288 set _isblank " "
289 set _ispunct "!#%&'()*+,-./:<=>?@[]_`{|}~"
290 set _isdigit "0123456789"
291 set _isupper "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
292 set _islower "abcdefghijklmnopqrstuvwxyz"
293 set _isxdigit "0123456789abcdefABCDEF"
294
295 // derived character classes
296 set _isalpha "$_isupper$_islower"
297 set _isalnum "$_isalpha$_isdigit"
298 set _isgraph "$_ispunct$_isalnum"
299 set _isascii "$_isgraph$_isblank"
300 set _isprint "$_isgraph$_isblank"
301 set _isspace "$_isblank"
302
303 // restriction is specified as <minargs> followed by <maxargs> instances of ';'
304 // and the optional character class to verify the argument by (no checking if
305 // empty)
306 // set cvar to empty string to not check the command at all
307 // if cvar is not set there will be a warning
308 set sv_vote_command_restriction_restart "0"
309 set sv_vote_command_restriction_fraglimit "1;$_isdigit"
310 set sv_vote_command_restriction_chmap "1;$_isgraph"
311 set sv_vote_command_restriction_gotomap "1;$_isgraph"
312 set sv_vote_command_restriction_nextmap "1;$_isgraph"
313 set sv_vote_command_restriction_endmatch "0"
314 set sv_vote_command_restriction_reducematchtime "0"
315 set sv_vote_command_restriction_extendmatchtime "0"
316 set sv_vote_command_restriction_allready "0"
317 set sv_vote_command_restriction_resetmatch "0"
318 set sv_vote_command_restriction_kick "1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" // enough space for ban reason
319 set sv_vote_command_restriction_kickban "1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" // enough space for ban reason
320 set sv_vote_command_restriction_cointoss "0"
321 set sv_vote_command_restriction_movetoauto "1;"
322 set sv_vote_command_restriction_movetored "1;"
323 set sv_vote_command_restriction_movetoblue "1;"
324 set sv_vote_command_restriction_movetoyellow "1;"
325 set sv_vote_command_restriction_movetopink "1;"
326 set sv_vote_command_restriction_movetospec "1;"
327
328 // help messages for votes that aren't implemeneted in the game code
329 // examples used here are based on the usage output of implemented votes
330 set sv_vote_command_help_restart "\nUsage:^3 vcall restart\n^7  No arguments required."
331 set sv_vote_command_help_gotomap "\nUsage:^3 vcall gotomap mapname\n^7  Where 'mapname' is the name of the map to go to.\n  Type ^3lsmaps^7 to get a list of available maps to vote for."
332
333 // =================================
334 //  voting - server/command/vote.qc
335 // =================================
336 set sv_vote_call 1 "Allow users to call a vote for the commands in sv_vote_commands"
337 set sv_vote_change 1 "Allow voters to change their mind after already voting"
338 set sv_vote_commands "restart fraglimit gotomap nextmap endmatch reducematchtime extendmatchtime allready resetmatch kick cointoss movetoauto shuffleteams bots nobots" "these commands can be voted by players or used directly by masters (vdo) in addition to sv_vote_master_commands"
339 set sv_vote_only_commands ""
340 set sv_vote_limit 160 "Maximum allowed length of a vote command"
341 set sv_vote_master_commands "movetored movetoblue movetoyellow movetopink movetospec" "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)
342 set sv_vote_master 0    "Allows the use of the vote master system"
343 set sv_vote_master_callable 0 "When set, users can use \"vmaster\" to call a vote to become master of voting commands"
344 set sv_vote_master_password "" "when set, users can use \"vlogin PASSWORD\" to log in as master, then run master commands directly using vdo"
345 set sv_vote_master_playerlimit 2 "Minimum number of players needed for a player to be allowed to vote for master"
346 set sv_vote_no_stops_vote 1 "Allow the vote caller to stop his own vote simply by voting no"
347 set sv_vote_singlecount 0       "set to 1 to count votes once after timeout or to 0 to count with every vote"
348 set sv_vote_timeout 24  "a vote will timeout after this many seconds"
349 set sv_vote_wait 120    "a player can not call a vote again for this many seconds when his vote was not accepted"
350 set sv_vote_stop 15     "a player can not call a vote again for this many seconds when he stopped this vote (e.g. to correct it)"
351 set sv_vote_majority_factor 0.5 "What percentage of the PLAYERS constitute a majority? (Must be at least 0.5, recommended: 0.5)"
352 set sv_vote_majority_factor_of_voted 0.5 "What percentage of the VOTERS constitute a majority too? (Must be at least 0.5, recommended: 0.5)"
353 set sv_vote_gamestart 0 "Allow voting during map change"
354 // when disabled, don't allow game type changes "note: set these two equal to JUST support simple majorities"
355 set sv_vote_override_mostrecent 0
356
357 // aliases for client only
358 alias vmaster   "qc_cmd_cmd vote master"
359 alias vlogin    "qc_cmd_cmd vote master login ${* ?}"
360 alias vdo       "qc_cmd_cmd vote master do ${* ?}"
361 alias vyes      "qc_cmd_cl handlevote yes"
362 alias vno       "qc_cmd_cl handlevote no"
363 alias vdontcare "qc_cmd_cmd vote abstain"
364 alias vabstain  "qc_cmd_cmd vote abstain"
365
366 // aliases for both client and server
367 alias vcall     "qc_cmd_svcmd vote call ${* ?}"
368 alias vhelp     "qc_cmd_svcmd vote help ${* ?}"
369 alias vstatus   "qc_cmd_svcmd vote status"
370 alias vstop     "qc_cmd_svcmd vote stop"
371
372 // general
373 alias vmap "vcall gotomap ${1 ?}"
374 alias vnextmap "vcall nextmap ${1 ?}"
375 alias vkick "vcall kick ${* ?}"
376 alias vkickban "vcall kickban ${* ?}"
377 alias vend "vcall endmatch"
378 alias vext "vcall extendmatchtime"
379 alias vdomap "vdo gotomap ${1 ?}"
380 alias vdokick "vdo kick ${* ?}"
381 alias vdokickban "vdo kickban ${* ?}"
382 alias vdoend "vdo endmatch"
383
384 // ======================
385 //  rcon server commands
386 // ======================
387 rcon_secure 1
388 set rcon_restricted_commands "restart fraglimit chmap gotomap nextmap endmatch reducematchtime extendmatchtime allready resetmatch kick cointoss movetoauto shuffleteams bots nobots movetored movetoblue movetoyellow movetopink movetospec kickban \"sv_cmd bans\" \"sv_cmd unban *\" status \"sv_cmd teamstatus\""