Merge branch 'master' into terencehill/menu_quit_game
[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
154 // ========================================================
155 //  cmd (client-to-server command) - server/command/cmd.qc
156 // ========================================================
157 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)"
158 set sv_clientcommand_antispam_count 8 "Amount of commands considered spam before commands are rejected."
159 seta sv_status_privacy 1 "hide IP addresses from \"status\" and \"who\" replies shown to clients"
160 seta cl_autoswitch 1 "automatically switch to newly picked up weapons if they are better than what you are carrying"
161
162 // commented out commands are really only intended for internal use, or already have declaration in the engine
163 alias autoswitch           "qc_cmd_cmd    autoswitch           ${* ?}" // Whether or not to switch automatically when getting a better weapon
164 alias clientversion        "qc_cmd_cmd    clientversion        ${* ?}" // Release version of the game
165 alias join                 "qc_cmd_cmd    join                 ${* ?}" // Become a player in the game
166 alias minigame             "qc_cmd_cmd    minigame             ${* ?}" // Start a minigame
167 //alias mv_getpicture      "qc_cmd_cmd    mv_getpicture        ${* ?}" // Retrieve mapshot picture from the server
168 alias physics              "qc_cmd_cmd    physics              ${* ?}" // Change physics set
169 alias ready                "qc_cmd_cmd    ready                ${* ?}" // Qualify as ready to end warmup stage (or restart server if allowed)
170 //alias say                "qc_cmd_cmd    say                  ${* ?}" // Print a message to chat to all players
171 //alias say_team           "qc_cmd_cmd    say_team             ${* ?}" // Print a message to chat to all team mates
172 alias selectteam           "qc_cmd_cmd    selectteam           ${* ?}" // Attempt to choose a team to join into
173 alias selfstuff            "qc_cmd_cmd    selfstuff            ${* ?}" // Stuffcmd a command to your own client
174 alias sentcvar             "qc_cmd_cmd    sentcvar             ${* ?}" // New system for sending a client cvar to the server
175 alias spectate             "qc_cmd_cmd    spectate             ${* ?}" // Become an observer
176 alias suggestmap           "qc_cmd_cmd    suggestmap           ${* ?}" // Suggest a map to the mapvote at match end
177 //alias tell               "qc_cmd_cmd    tell                 ${* ?}" // Send a message directly to a player
178 alias voice                "qc_cmd_cmd    voice                ${* ?}" // Send voice message via sound
179 alias wpeditor             "qc_cmd_cmd    wpeditor             ${* ?}" // Waypoint editor commands
180
181 // other aliases for client-to-server commands
182 alias autoswitch "set cl_autoswitch ${1 ?} ; cmd autoswitch ${1 ?}" // todo
183
184 alias team_red "cmd selectteam red; cmd join"
185 alias team_blue "cmd selectteam blue; cmd join"
186 alias team_pink "cmd selectteam pink; cmd join"
187 alias team_yellow "cmd selectteam yellow; cmd join"
188 alias team_auto "togglemenu 0; cmd selectteam auto; cmd join"
189
190 alias spec "spectate ${* ?}"
191
192 // mutator aliases
193 alias sandbox "cmd g_sandbox ${* ?}"
194
195
196 // monster aliases
197 alias killmob "editmob kill ${* ?}"
198 alias spawnmob "editmob spawn ${* ?}"
199 alias skinmob "editmob skin ${* ?}"
200 alias namemob "editmob name ${* ?}"
201 alias movemob "editmob movetarget ${* ?}"
202 alias butcher "editmob butcher ${* ?}"
203 alias mobbutcher "editmob butcher ${* ?}"
204
205
206 // ============================================================
207 //  sv_cmd (server console command) - server/command/sv_cmd.qc
208 // ============================================================
209 alias adminmsg             "qc_cmd_sv     adminmsg             ${* ?}" // Send an admin message to a client directly
210 alias allready             "qc_cmd_sv     allready             ${* ?}" // Restart the server and reset the players
211 alias allspec              "qc_cmd_sv     allspec              ${* ?}" // Force all players to spectate
212 alias animbench            "qc_cmd_sv     animbench            ${* ?}" // Benchmark model animation (LAGS)
213 alias anticheat            "qc_cmd_sv     anticheat            ${* ?}" // Create an anticheat report for a client
214 alias bbox                 "qc_cmd_sv     bbox                 ${* ?}" // Print detailed information about world size
215 alias bot_cmd              "qc_cmd_sv     bot_cmd              ${* ?}" // Control and send commands to bots
216 alias cointoss             "qc_cmd_sv     cointoss             ${* ?}" // Flip a virtual coin and give random result
217 alias database             "qc_cmd_sv     database             ${* ?}" // Extra controls of the serverprogs database
218 alias defer_clear          "qc_cmd_sv     defer_clear          ${* ?}" // Clear all queued defer commands for a specific client
219 alias defer_clear_all      "qc_cmd_sv     defer_clear_all      ${* ?}" // Clear all queued defer commands for all clients
220 alias delrec               "qc_cmd_sv     delrec               ${* ?}" // Delete race time record for a map
221 alias effectindexdump      "qc_cmd_sv     effectindexdump      ${* ?}" // Dump list of effects from code and effectinfo.txt
222 alias extendmatchtime      "qc_cmd_sv     extendmatchtime      ${* ?}" // Increase the timelimit value incrementally
223 alias gametype             "qc_cmd_sv     gametype             ${* ?}" // Simple command to change the active gametype
224 alias gettaginfo           "qc_cmd_sv     gettaginfo           ${* ?}" // Get specific information about a weapon model
225 alias gotomap              "qc_cmd_sv     gotomap              ${* ?}" // Simple command to switch to another map
226 alias lockteams            "qc_cmd_sv     lockteams            ${* ?}" // Disable the ability for players to switch or enter teams
227 alias make_mapinfo         "qc_cmd_sv     make_mapinfo         ${* ?}" // Automatically rebuild mapinfo files
228 alias moveplayer           "qc_cmd_sv     moveplayer           ${* ?}" // Change the team/status of a player
229 alias nospectators         "qc_cmd_sv     nospectators         ${* ?}" // Automatically remove spectators from a match
230 alias printstats           "qc_cmd_sv     printstats           ${* ?}" // Dump eventlog player stats and other score information
231 alias radarmap             "qc_cmd_sv     radarmap             ${* ?}" // Generate a radar image of the map
232 alias reducematchtime      "qc_cmd_sv     reducematchtime      ${* ?}" // Decrease the timelimit value incrementally
233 alias resetmatch           "qc_cmd_sv     resetmatch           ${* ?}" // Soft restart the map
234 alias setbots              "qc_cmd_sv     setbots              ${* ?}" // Adjust how many bots are in the match
235 alias shuffleteams         "qc_cmd_sv     shuffleteams         ${* ?}" // Randomly move players to different teams
236 alias stuffto              "qc_cmd_sv     stuffto              ${* ?}" // Send a command to be executed on a client
237 alias trace                "qc_cmd_sv     trace                ${* ?}" // Various debugging tools with tracing
238 alias unlockteams          "qc_cmd_sv     unlockteams          ${* ?}" // Enable the ability for players to switch or enter teams
239 alias warp                 "qc_cmd_sv     warp                 ${* ?}" // Choose different level in campaign
240
241 // other aliases for server commands
242 set _endmatch 0 "if set to 1 ends the match immediately; use it instead of timelimit -1 (deprecated)"
243 alias endmatch "_endmatch 1"
244 alias bots "minplayers 4; minplayers_per_team 2"
245 alias nobots "minplayers 0; minplayers_per_team 0"
246
247 alias savedb "sv_cmd database save \"${1 ?}\""
248 alias dumpdb "sv_cmd database dump \"${1 ?}\""
249 alias loaddb "sv_cmd database load \"${1 ?}\""
250
251 alias movetored "moveplayer ${1 ?} red"
252 alias movetoblue "moveplayer ${1 ?} blue"
253 alias movetopink "moveplayer ${1 ?} pink"
254 alias movetoyellow "moveplayer ${1 ?} yellow"
255 alias movetoauto "moveplayer ${1 ?} auto"
256 alias movetospec "moveplayer ${1 ?} spec"
257
258
259 // =======================================================
260 //  Aliases for settemp subsystem. Warning: Do not touch.
261 //  Usage: settemp variable value, next map resets it.
262 // =======================================================
263 alias settemp "qc_cmd_svcl settemp $*"
264 alias settemp_restore "qc_cmd_svcl settemp_restore"
265
266
267 // ===================================
268 //  banning - server/command/ipban.qc
269 // ===================================
270 alias ban                  "qc_cmd_sv     ban                  ${* ?}" // Ban an IP address or a range of addresses (like 1.2.3)
271 alias banlist              "qc_cmd_sv     banlist              ${* ?}" // List all existing bans
272 alias kickban              "qc_cmd_sv     kickban              ${* ?}" // Disconnect a client and ban it at the same time
273 alias mute                 "qc_cmd_sv     mute                 ${* ?}" // Disallow a client from talking by muting them
274 alias unban                "qc_cmd_sv     unban                ${* ?}" // Remove an existing ban
275 alias unmute               "qc_cmd_sv     unmute               ${* ?}" // Unmute a client
276
277 // other aliases for ban commands
278 alias bans "banlist"
279
280 // character classes (intersected with 32..126 minus ", $, ;, ^, \ - if you
281 // want these, include them explicitly)
282 // note that QC code always forbids $ and ; in VoteCommand_checknasty
283 set _iscntrl ""
284 set _isblank " "
285 set _ispunct "!#%&'()*+,-./:<=>?@[]_`{|}~"
286 set _isdigit "0123456789"
287 set _isupper "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
288 set _islower "abcdefghijklmnopqrstuvwxyz"
289 set _isxdigit "0123456789abcdefABCDEF"
290
291 // derived character classes
292 set _isalpha "$_isupper$_islower"
293 set _isalnum "$_isalpha$_isdigit"
294 set _isgraph "$_ispunct$_isalnum"
295 set _isascii "$_isgraph$_isblank"
296 set _isprint "$_isgraph$_isblank"
297 set _isspace "$_isblank"
298
299 // restriction is specified as <minargs> followed by <maxargs> instances of ';'
300 // and the optional character class to verify the argument by (no checking if
301 // empty)
302 // set cvar to empty string to not check the command at all
303 // if cvar is not set there will be a warning
304 set sv_vote_command_restriction_restart "0"
305 set sv_vote_command_restriction_fraglimit "1;$_isdigit"
306 set sv_vote_command_restriction_chmap "1;$_isgraph"
307 set sv_vote_command_restriction_gotomap "1;$_isgraph"
308 set sv_vote_command_restriction_nextmap "1;$_isgraph"
309 set sv_vote_command_restriction_endmatch "0"
310 set sv_vote_command_restriction_reducematchtime "0"
311 set sv_vote_command_restriction_extendmatchtime "0"
312 set sv_vote_command_restriction_allready "0"
313 set sv_vote_command_restriction_resetmatch "0"
314 set sv_vote_command_restriction_kick "1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" // enough space for ban reason
315 set sv_vote_command_restriction_kickban "1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" // enough space for ban reason
316 set sv_vote_command_restriction_cointoss "0"
317 set sv_vote_command_restriction_movetoauto "1;"
318 set sv_vote_command_restriction_movetored "1;"
319 set sv_vote_command_restriction_movetoblue "1;"
320 set sv_vote_command_restriction_movetoyellow "1;"
321 set sv_vote_command_restriction_movetopink "1;"
322 set sv_vote_command_restriction_movetospec "1;"
323
324 // help messages for votes that aren't implemeneted in the game code
325 // examples used here are based on the usage output of implemented votes
326 set sv_vote_command_help_restart "\nUsage:^3 vcall restart\n^7  No arguments required."
327 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."
328
329 // =================================
330 //  voting - server/command/vote.qc
331 // =================================
332 set sv_vote_call 1 "Allow users to call a vote for the commands in sv_vote_commands"
333 set sv_vote_change 1 "Allow voters to change their mind after already voting"
334 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"
335 set sv_vote_only_commands ""
336 set sv_vote_limit 160 "Maximum allowed length of a vote command"
337 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)
338 set sv_vote_master 0    "Allows the use of the vote master system"
339 set sv_vote_master_callable 0 "When set, users can use \"vmaster\" to call a vote to become master of voting commands"
340 set sv_vote_master_password "" "when set, users can use \"vlogin PASSWORD\" to log in as master, then run master commands directly using vdo"
341 set sv_vote_master_playerlimit 2 "Minimum number of players needed for a player to be allowed to vote for master"
342 set sv_vote_no_stops_vote 1 "Allow the vote caller to stop his own vote simply by voting no"
343 set sv_vote_singlecount 0       "set to 1 to count votes once after timeout or to 0 to count with every vote"
344 set sv_vote_timeout 24  "a vote will timeout after this many seconds"
345 set sv_vote_wait 120    "a player can not call a vote again for this many seconds when his vote was not accepted"
346 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)"
347 set sv_vote_majority_factor 0.5 "What percentage of the PLAYERS constitute a majority? (Must be at least 0.5, recommended: 0.5)"
348 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)"
349 set sv_vote_gamestart 0 "Allow voting during map change"
350 // when disabled, don't allow game type changes "note: set these two equal to JUST support simple majorities"
351 set sv_vote_override_mostrecent 0
352
353 // aliases for client only
354 alias vmaster   "qc_cmd_cmd vote master"
355 alias vlogin    "qc_cmd_cmd vote master login ${* ?}"
356 alias vdo       "qc_cmd_cmd vote master do ${* ?}"
357 alias vyes      "qc_cmd_cl handlevote yes"
358 alias vno       "qc_cmd_cl handlevote no"
359 alias vdontcare "qc_cmd_cmd vote abstain"
360 alias vabstain  "qc_cmd_cmd vote abstain"
361
362 // aliases for both client and server
363 alias vcall     "qc_cmd_svcmd vote call ${* ?}"
364 alias vhelp     "qc_cmd_svcmd vote help ${* ?}"
365 alias vstatus   "qc_cmd_svcmd vote status"
366 alias vstop     "qc_cmd_svcmd vote stop"
367
368 // general
369 alias vmap "vcall gotomap ${1 ?}"
370 alias vnextmap "vcall nextmap ${1 ?}"
371 alias vkick "vcall kick ${* ?}"
372 alias vkickban "vcall kickban ${* ?}"
373 alias vend "vcall endmatch"
374 alias vext "vcall extendmatchtime"
375 alias vdomap "vdo gotomap ${1 ?}"
376 alias vdokick "vdo kick ${* ?}"
377 alias vdokickban "vdo kickban ${* ?}"
378 alias vdoend "vdo endmatch"
379
380 // ======================
381 //  rcon server commands
382 // ======================
383 rcon_secure 1
384 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\""