]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - commands.cfg
kill the Weird code path
[xonotic/xonotic-data.pk3dir.git] / commands.cfg
index d16aaa525daa4eab5b288f0605c6e56a1fe63761..174a458347b8b76e827f4ca670412c5e29f51059 100644 (file)
@@ -2,11 +2,6 @@
 //  Master config for managing various command aliases and settings
 // =================================================================
 
-// This alias allows for common commands to be executed, even on both
-// dedicated servers and normal clients. If dedicated, then it remains
-// as sv_cmd... If a normal client, then it is changed to menu_cmd.
-alias qc_cmd "sv_cmd $*" 
-
 // Execute commands based on whether it is dedicated a server or a client.
 alias "_detect_dedicated_$qport" "${* asis}"
 alias "_detect_dedicated_0" ""
@@ -16,74 +11,152 @@ alias if_dedicated "${* asis}"
 _if_dedicated alias if_client ""
 if_client alias if_dedicated ""
 
+if_dedicated "alias" qc_cmd_sv     "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 $${* !}"
+if_client    "alias" qc_cmd_cmd    "cmd $$*"
 
-// ========
-//  common
-// ========
-if_client alias teamstatus "cmd teamstatus"
-if_dedicated alias teamstatus "sv_cmd teamstatus"
+if_dedicated "alias" qc_cmd_svmenu "sv_cmd $$*"
+if_client    "alias" qc_cmd_svmenu "menu_cmd $$*"
+if_dedicated "alias" qc_cmd_svcl   "sv_cmd $$*"
+if_client    "alias" qc_cmd_svcl   "cl_cmd $$*"
+if_dedicated "alias" qc_cmd_svcmd  "sv_cmd $$*"
+if_client    "alias" qc_cmd_svcmd  "cmd $$*"
 
-if_client alias who "cmd who"
-if_dedicated alias who "sv_cmd who"
-alias w who
+if_dedicated "alias" help "sv_cmd help"
+if_client    "alias" help "cl_cmd help; cmd help"
 
-alias g_hitplots_add "qc_cmd rpn /g_hitplots_individuals g_hitplots_individuals $1 union def"
-alias g_hitplots_remove "qc_cmd rpn /g_hitplots_individuals g_hitplots_individuals $1 difference def"
 
-alias g_maplist_add    "qc_cmd maplist add $*"
-alias g_maplist_remove "qc_cmd maplist remove $*"
-alias g_maplist_putfirst       "qc_cmd maplist remove $* ; qc_cmd maplist add $*"
-alias g_maplist_shufflenow     "qc_cmd maplist shuffle"
-alias g_maplist_cleanup        "qc_cmd maplist cleanup" // removes maps that don't exist from the map list
-
-alias addfav "qc_cmd addtolist net_slist_favorites $*"
-alias addvote "qc_cmd addtolist sv_vote_commands $*"
+// ========
+//  common
+// ========
+// networked/server common commands
+alias cvar_changes         "qc_cmd_svcmd  cvar_changes         ${* ?}" // Prints a list of all changed server cvars
+alias cvar_purechanges     "qc_cmd_svcmd  cvar_purechanges     ${* ?}" // Prints a list of all changed gameplay cvars
+alias info                 "qc_cmd_svcmd  info                 ${* ?}" // Request for unique server information set up by admin
+alias ladder               "qc_cmd_svcmd  ladder               ${* ?}" // Get information about top players if supported
+alias lsmaps               "qc_cmd_svcmd  lsmaps               ${* ?}" // List maps which can be used with the current game mode
+alias lsnewmaps            "qc_cmd_svcmd  lsnewmaps            ${* ?}" // List maps which have no records or are seemingly unplayed yet
+alias printmaplist         "qc_cmd_svcmd  printmaplist         ${* ?}" // Display full server maplist reply
+alias rankings             "qc_cmd_svcmd  rankings             ${* ?}" // Print information about rankings
+alias records              "qc_cmd_svcmd  records              ${* ?}" // List top 10 records for the current map
+alias teamstatus           "qc_cmd_svcmd  teamstatus           ${* ?}" // Show information about player and team scores
+alias time                 "qc_cmd_svcmd  time                 ${* ?}" // Print different formats/readouts of time
+alias timein               "qc_cmd_svcmd  timein               ${* ?}" // Resume the game from being paused with a timeout
+alias timeout              "qc_cmd_svcmd  timeout              ${* ?}" // Call a timeout which pauses the game for certain amount of time unless unpaused
+alias vote                 "qc_cmd_svcmd  vote                 ${* ?}" // Request an action to be voted upon by players
+alias who                  "qc_cmd_svcmd  who                  ${* ?}" // Display detailed client information about all players
+
+// 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
+//alias settemp_restore    "qc_cmd_svmenu settemp_restore      ${* ?}" // Restore all cvars set by settemp command
+
+// other aliases for common commands
+alias g_hitplots_add "qc_cmd_svmenu rpn /g_hitplots_individuals g_hitplots_individuals ${1 !} union def"
+alias g_hitplots_remove "qc_cmd_svmenu rpn /g_hitplots_individuals g_hitplots_individuals ${1 !} difference def"
+
+alias g_maplist_add    "qc_cmd_svmenu maplist add ${* ?}"
+alias g_maplist_remove "qc_cmd_svmenu maplist remove ${* ?}"
+alias g_maplist_putfirst       "qc_cmd_svmenu maplist remove ${* ?} ; qc_cmd maplist add ${* ?}"
+alias g_maplist_shufflenow     "qc_cmd_svmenu maplist shuffle"
+alias g_maplist_cleanup        "qc_cmd_svmenu maplist cleanup" // removes maps that don't exist from the map list
+
+alias addfav "qc_cmd_svmenu addtolist net_slist_favorites ${* ?}"
+alias addvote "qc_cmd_svmenu addtolist sv_vote_commands ${* ?}"
 
 
 // ========================
 //  engine command aliases
 // ========================
 alias bsp "ls maps/*.bsp"
-alias chmap "changelevel $*"
-alias rec "record demos/$1"
+alias chmap "changelevel ${* ?}"
+alias clearmap "disconnect"
 alias ply "playdemo $1"
+alias rec "record demos/${1 !}"
+alias search "apropos ${* ?}"
+alias sv_loadconfig "exec $serverconfig"
+alias sv_restart "say \"Server will restart at the end of the match, you will all be reconnected automatically. ${* ?} \"; quit_and_redirect self"
 alias tdem "timedemo $1"
 
 
 // ===============================================
-//  menu_cmd (menu command) - menu/gamecommand.qc
+//  menu_cmd (menu command) - menu/command/menu_cmd.qc
 // ===============================================
 alias menu_showteamselect "menu_cmd directmenu TeamSelect"
 alias menu_showhudexit "menu_cmd directmenu HUDExit"
-alias menu_showhudoptions "menu_cmd directpanelhudmenu $*"
+alias menu_showhudoptions "menu_cmd directpanelhudmenu ${* ?}"
 alias menu_showsandboxtools "menu_cmd directmenu SandboxTools"
-
-
-// =========================================================
-//  cl_cmd (client console command) - client/gamecommand.qc
-// =========================================================
-alias radar "cl_cmd hud_panel_radar_maximized"
-alias scoreboard_columns_set  "cl_cmd scoreboard_columns_set $*"
-alias scoreboard_columns_set  "" // aliased later
-alias scoreboard_columns_help "cl_cmd scoreboard_columns_help $*"
-
-
-// ===========================================================
-//  cmd (client-to-server command) - server/clientcommands.qc
-// ===========================================================
+alias menu_showquitdialog "menu_cmd directmenu Quit"
+
+// command executed before loading a map by the menu
+// makes sure maxplayers is at least minplayers or bot_number + 1
+alias _menu_loadmap_prepare_maxpl "maxplayers $_menu_loadmap_maxplayers"
+alias menu_loadmap_prepare "disconnect; wait; g_campaign 0; menu_cmd rpn /_menu_loadmap_maxplayers menu_maxplayers minplayers bot_number 1 add max max def; _menu_loadmap_prepare_maxpl; g_maplist_shufflenow"
+
+
+// ==========================================================
+//  cl_cmd (client local command) - client/command/cl_cmd.qc
+// ==========================================================
+// commented out commands are really only intended for internal use
+alias blurtest             "qc_cmd_cl     blurtest             ${* ?}" // Feature for testing blur postprocessing
+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
+alias localprint           "qc_cmd_cl     localprint           ${* ?}" // Create your own centerprint sent to yourself
+//alias mv_download        "qc_cmd_cl     mv_download          ${* ?}" // Retrieve mapshot picture from the server
+alias sendcvar             "qc_cmd_cl     sendcvar             ${* ?}" // Send a cvar to the server (like weaponpriority)
+//alias vyes               "qc_cmd_cl     vyes                 ${* ?}" // COMPATIBILITY COMMAND FOR 0.5 CLIENTS
+//alias vno                "qc_cmd_cl     vno                  ${* ?}" // COMPATIBILITY COMMAND FOR 0.5 CLIENTS
+
+// other aliases for local commands
+alias hud_configure "qc_cmd_cl hud configure"
+alias hud_save "qc_cmd_cl hud save ${* ?}"
+alias radar "qc_cmd_cl hud radar ${* ?}"
+alias scoreboard_columns_help "qc_cmd_cl hud scoreboard_columns_help"
+alias scoreboard_columns_set "qc_cmd_cl hud scoreboard_columns_set ${* ?}"
+
+// changes a cvar and reports it to the server (for the client to notify the server about changes)
+alias setreport "set \"$1\" \"$2\" ; sendcvar \"$1\""
+
+
+// ========================================================
+//  cmd (client-to-server command) - server/command/cmd.qc
+// ========================================================
 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)"
-set sv_clientcommand_antispam_count 5 "Amount of commands considered spam before commands are rejected.
-
+set sv_clientcommand_antispam_count 8 "Amount of commands considered spam before commands are rejected."
 seta sv_status_privacy 1 "hide IP addresses from \"status\" and \"who\" replies shown to clients"
-
-alias records "cmd records"
-alias rankings "cmd rankings"
-alias ladder "cmd ladder"
-
-alias ready "cmd ready"
-alias cointoss "sv_cmd cointoss"
-alias timeout "cmd timeout" //use this command to call a timeout
-alias timein "cmd timein" //use this command to resume the game before timeout is finished
+seta cl_autoswitch 1 "automatically switch to newly picked up weapons if they are better than what you are carrying"
+
+// commented out commands are really only intended for internal use, or already have declaration in the engine
+alias autoswitch           "qc_cmd_cmd    autoswitch           ${* ?}" // Whether or not to switch automatically when getting a better weapon
+alias checkfail            "qc_cmd_cmd    checkfail            ${* ?}" // Report if a client-side check failed
+alias clientversion        "qc_cmd_cmd    clientversion        ${* ?}" // Release version of the game
+//alias mv_getpicture      "qc_cmd_cmd    mv_getpicture        ${* ?}" // Retrieve mapshot picture from the server
+alias join                 "qc_cmd_cmd    join                 ${* ?}" // Become a player in the game
+alias ready                "qc_cmd_cmd    ready                ${* ?}" // Qualify as ready to end warmup stage (or restart server if allowed)
+alias reportcvar           "qc_cmd_cmd    reportcvar           ${* ?}" // Old system for sending a client cvar to the server
+//alias say                "qc_cmd_cmd    say                  ${* ?}" // Print a message to chat to all players
+//alias say_team           "qc_cmd_cmd    say_team             ${* ?}" // Print a message to chat to all team mates
+alias selectteam           "qc_cmd_cmd    selectteam           ${* ?}" // Attempt to choose a team to join into
+alias selfstuff            "qc_cmd_cmd    selfstuff            ${* ?}" // Stuffcmd a command to your own client
+alias sentcvar             "qc_cmd_cmd    sentcvar             ${* ?}" // New system for sending a client cvar to the server
+alias spectate             "qc_cmd_cmd    spectate             ${* ?}" // Become an observer
+alias suggestmap           "qc_cmd_cmd    suggestmap           ${* ?}" // Suggest a map to the mapvote at match end
+//alias tell               "qc_cmd_cmd    tell                 ${* ?}" // Send a message directly to a player
+alias voice                "qc_cmd_cmd    voice                ${* ?}" // Send voice message via sound
+
+// other aliases for client-to-server commands
+alias autoswitch "set cl_autoswitch ${1 ?} ; cmd autoswitch ${1 ?}" // todo
 
 alias team_red "cmd selectteam red; cmd join"
 alias team_blue "cmd selectteam blue; cmd join"
@@ -91,99 +164,132 @@ alias team_pink "cmd selectteam pink; cmd join"
 alias team_yellow "cmd selectteam yellow; cmd join"
 alias team_auto "cmd selectteam auto; cmd join"
 
-alias sandbox "cmd g_sandbox $*"
-
-
-// =========================================================
-//  sv_cmd (server console command) - server/gamecommand.qc
-// =========================================================
-alias adminmsg "sv_cmd adminmsg $*"
-alias allready "sv_cmd allready"
-
-alias extendmatchtime "sv_cmd extendmatchtime"
-alias reducematchtime "sv_cmd reducematchtime"
+alias spec "spectate"
+
+// mutator aliases
+alias sandbox "cmd g_sandbox ${* ?}"
+
+
+// ============================================================
+//  sv_cmd (server console command) - server/command/sv_cmd.qc
+// ============================================================
+alias adminmsg             "qc_cmd_sv     adminmsg             ${* ?}" // Send an admin message to a client directly
+alias allready             "qc_cmd_sv     allready             ${* ?}" // Restart the server and reset the players
+alias allspec              "qc_cmd_sv     allspec              ${* ?}" // Force all players to spectate
+alias anticheat            "qc_cmd_sv     anticheat            ${* ?}" // Create an anticheat report for a client
+alias bbox                 "qc_cmd_sv     bbox                 ${* ?}" // Print detailed information about world size
+alias bot_cmd              "qc_cmd_sv     bot_cmd              ${* ?}" // Control and send commands to bots
+alias cointoss             "qc_cmd_sv     cointoss             ${* ?}" // Flip a virtual coin and give random result
+alias database             "qc_cmd_sv     database             ${* ?}" // Extra controls of the serverprogs database
+alias defer_clear          "qc_cmd_sv     defer_clear          ${* ?}" // Clear all queued defer commands for a specific client
+alias defer_clear_all      "qc_cmd_sv     defer_clear_all      ${* ?}" // Clear all queued defer commands for all clients
+alias delrec               "qc_cmd_sv     delrec               ${* ?}" // Delete race time record for a map
+alias effectindexdump      "qc_cmd_sv     effectindexdump      ${* ?}" // Dump list of effects from code and effectinfo.txt
+alias extendmatchtime      "qc_cmd_sv     extendmatchtime      ${* ?}" // Increase the timelimit value incrementally
+alias find                 "qc_cmd_sv     find                 ${* ?}" // Search through entities for matching classname
+alias gametype             "qc_cmd_sv     gametype             ${* ?}" // Simple command to change the active gametype
+alias gettaginfo           "qc_cmd_sv     gettaginfo           ${* ?}" // Get specific information about a weapon model
+alias gotomap              "qc_cmd_sv     gotomap              ${* ?}" // Simple command to switch to another map
+alias lockteams            "qc_cmd_sv     lockteams            ${* ?}" // Disable the ability for players to switch or enter teams
+alias make_mapinfo         "qc_cmd_sv     make_mapinfo         ${* ?}" // Automatically rebuild mapinfo files
+alias moveplayer           "qc_cmd_sv     moveplayer           ${* ?}" // Change the team/status of a player
+alias nospectators         "qc_cmd_sv     nospectators         ${* ?}" // Automatically remove spectators from a match
+alias playerdemo           "qc_cmd_sv     playerdemo           ${* ?}" // Control the ability to save demos of players
+alias printstats           "qc_cmd_sv     printstats           ${* ?}" // Dump eventlog player stats and other score information
+alias radarmap             "qc_cmd_sv     radarmap             ${* ?}" // Generate a radar image of the map
+alias reducematchtime      "qc_cmd_sv     reducematchtime      ${* ?}" // Decrease the timelimit value incrementally
+alias setbots              "qc_cmd_sv     setbots              ${* ?}" // Adjust how many bots are in the match
+alias shuffleteams         "qc_cmd_sv     shuffleteams         ${* ?}" // Randomly move players to different teams
+alias stuffto              "qc_cmd_sv     stuffto              ${* ?}" // Send a command to be executed on a client
+alias trace                "qc_cmd_sv     trace                ${* ?}" // Various debugging tools with tracing
+alias unlockteams          "qc_cmd_sv     unlockteams          ${* ?}" // Enable the ability for players to switch or enter teams
+alias warp                 "qc_cmd_sv     warp                 ${* ?}" // Choose different level in campaign
+
+// other aliases for server commands
+alias endmatch "timelimit -1"
+
+alias savedb "sv_cmd database save \"${1 ?}\""
+alias dumpdb "sv_cmd database dump \"${1 ?}\""
+alias loaddb "sv_cmd database load \"${1 ?}\""
+
+alias movetored "moveplayer ${1 ?} red"
+alias movetoblue "moveplayer ${1 ?} blue"
+alias movetopink "moveplayer ${1 ?} pink"
+alias movetoyellow "moveplayer ${1 ?} yellow"
+alias movetoauto "moveplayer ${1 ?} auto"
 
-alias printstats       "sv_cmd printstats" // print stats on demand
 
-alias gametype "sv_cmd gametype $*"
+// =======================================================
+//  Aliases for settemp subsystem. Warning: Do not touch. 
+//  Usage: settemp variable value, next map resets it.
+// =======================================================
+alias settemp "qc_cmd_svcl settemp $*"
+alias settemp_restore "qc_cmd_svcl settemp_restore"
 
-alias savedb "sv_cmd database save \"$1\""
-alias dumpdb "sv_cmd database dump \"$1\""
-alias loaddb "sv_cmd database load \"$1\""
 
-alias movetoteam_red "sv_cmd movetoteam $1 red"
-alias movetoteam_blue "sv_cmd movetoteam $1 blue"
-alias movetoteam_pink "sv_cmd movetoteam $1 pink"
-alias movetoteam_yellow "sv_cmd movetoteam $1 yellow"
-alias movetoteam_auto "sv_cmd movetoteam $1 auto"
+// ===================================
+//  banning - server/command/ipban.qc
+// ===================================
+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
 
-alias lockteams "sv_cmd lockteams"
-alias unlockteams "sv_cmd unlockteams"
-alias nospectators "sv_cmd nospectators"
-alias gotomap "sv_cmd gotomap \"$1\""
-alias warp "sv_cmd warp $*"
+// other aliases for ban commands
+alias bans "banlist"
 
 
-// =======================================================
-//  Aliases for settemp subsystem. Warning: Do not touch. 
-//  Usage: settemp variable value, next map resets it.
-// =======================================================
-set settemp_list 0
-set settemp_idx 0
-set _settemp_var UNUSED
-alias settemp "_settemp_var \"_settemp_x$settemp_idx\"; qc_cmd rpn /settemp_idx settemp_idx 1 add def; _settemp \"$1\" \"$2\""
-alias _settemp "settemp_list \"1 $1 $_settemp_var $settemp_list\"; set $_settemp_var \"${$1}\"; $1 \"$2\""
-alias settemp_restore "_settemp_restore_${settemp_list asis}"
-alias _settemp_restore_0 "set settemp_var 0; set settemp_list 0"
-alias _settemp_restore_1 "$1 \"${$2}\"; _settemp_restore_${3- asis}"
-
-
-// ===========================
-//  banning - server/ipban.qc
-// ===========================
-alias bans "sv_cmd bans"
-alias ban "sv_cmd ban $*"         // usage: ban address(maybe incomplete, like 1.2.3) bantime(seconds)
-alias kickban "sv_cmd kickban $*" // usage: kickban # playerno bantime(seconds) masksize(bytes)
-alias unban "sv_cmd unban $*"     // usage: unban 3 (number from bans)
-
-
-// =========================
-//  voting - server/vote.qc
-// =========================
-set sv_vote_commands "restart fraglimit chmap gotomap nextmap endmatch reducematchtime extendmatchtime allready kick cointoss movetoteam_auto" "these commands can be voted"
+// =================================
+//  voting - server/command/vote.qc
+// =================================
+set sv_vote_call 1 "Allow users to call a vote for the commands in sv_vote_commands"
+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 "movetoteam_red movetoteam_blue movetoteam_yellow movetoteam_pink" "maybe add kickban here (but then sv_vote_master 0)"
-set rcon_restricted_commands "restart fraglimit chmap gotomap endmatch reducematchtime extendmatchtime allready kick kickban \"sv_cmd bans\" \"sv_cmd unban *\" status \"sv_cmd teamstatus\" movetoteam_auto movetoteam_red movetoteam_blue movetoteam_yellow movetoteam_pink"
-set sv_vote_call 1     "users can call a vote for the above commands"
-set sv_vote_master 1   "users can call a vote to become master"
-set sv_vote_master_password "" "when set, users can use \"vlogin PASSWORD\" to log in as master"
-set sv_vote_change 1   "set to 1 to allow to change you vote/mind"
+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"
+set sv_vote_master_playerlimit 2 "Minimum number of players needed for a player to be allowed to vote for master"
+set sv_vote_no_stops_vote 1 "Allow the vote caller to stop his own vote simply by voting no"
 set sv_vote_singlecount 0      "set to 1 to count votes once after timeout or to 0 to count with every vote"
 set sv_vote_timeout 30 "a vote will timeout after this many seconds"
 set sv_vote_wait 120   "a player can not call a vote again for this many seconds when his vote was not accepted"
 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)"
-set sv_vote_majority_factor 0.5        "which quotient of the PLAYERS constitute a majority? (try: 0.666, 0.75 when using the above)"
-set sv_vote_simple_majority_factor 0.666       "which quotient of the VOTERS constitute a majority too? (0 = off, otherwise it must be higher than or equal to sv_vote_majority_factor)"
+set sv_vote_majority_factor 0.5        "What percentage of the PLAYERS constitute a majority? (Must be at least 0.5, recommended: 0.5)"
+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)"
 // 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 vyes"
-alias vno "cl_cmd vno"
-alias vdontcare "cmd vote dontcare"
-alias vabstain "cmd vote abstain"
-
-alias vmap "vcall gotomap $1"
-alias vnextmap "vcall nextmap $1"
-alias vkick "vcall kick $1"
-alias vkickban "vcall kickban $1"
+
+// 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 ?}"
+alias vkickban "vcall kickban ${1 ?}"
 alias vend "vcall endmatch"
-alias vdomap "vdo gotomap $1"
-alias vdokick "vdo kick $*"
-alias vdokickban "vdo kickban $*"
+alias vdomap "vdo gotomap ${1 ?}"
+alias vdokick "vdo kick ${* ?}"
+alias vdokickban "vdo kickban ${* ?}"
 alias vdoend "vdo endmatch"
+
+// ======================
+//  rcon server commands
+// ======================
+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"