// Master config for managing various command aliases and settings
// =================================================================
-// Execute commands based on whether it is dedicated a server or a client.
-alias "_detect_dedicated_$qport" "${* asis}"
+// create if_client and if_dedicated aliases that allow executing commands based on
+// whether it is a dedicated server or a client
+alias _def_detect_dedicated "alias _detect_dedicated_${qport ?} \"\""
+_def_detect_dedicated
+alias "_detect_dedicated_" "${* asis}"
+alias "_detect_dedicated_${qport ?}" "${* asis}"
alias "_detect_dedicated_0" ""
-alias _if_dedicated "_detect_dedicated_$qport ${* asis}"
+alias _if_dedicated "_detect_dedicated_${qport ?} ${* asis}"
alias if_client "${* asis}"
alias if_dedicated "${* asis}"
_if_dedicated alias if_client ""
if_client alias if_dedicated ""
+// these aliases are now useless, remove them
+// NOTE for some reason _detect_dedicated_ no longer exists in dedicated
+unalias _def_detect_dedicated
+if_client unalias "_detect_dedicated_"
+unalias "_detect_dedicated_${qport ?}"
+unalias _detect_dedicated_0
+unalias _if_dedicated
+
// for easy access by QC
if_dedicated set is_dedicated 1
if_client set is_dedicated 0
alias dumpitems "qc_cmd_svmenu dumpitems ${* ?}" // Dump all items to the console
alias dumpturrets "qc_cmd_svmenu dumpturrets ${* ?}" // Dump all turrets into turrets_dump.txt
alias dumpweapons "qc_cmd_svmenu dumpweapons ${* ?}" // Dump all weapons into weapons_dump.txt
-alias find "qc_cmd_svmenu find ${* ?}" // Search through entities for matching classname
+alias findent "qc_cmd_svmenu findent ${* ?}" // Search through entities for matching classname
alias findat "qc_cmd_svmenu findat ${* ?}" // Search through entities for matching origin
alias maplist "qc_cmd_svmenu maplist ${* ?}" // Automatic control of maplist
alias mx "qc_cmd_svmenu mx ${* ?}" // Send a matrix command
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_putfirst "qc_cmd_svmenu maplist remove ${* ?} ; qc_cmd_svmenu 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 delfav "qc_cmd_svmenu removefromlist net_slist_favorites ${* ?}"
alias addvote "qc_cmd_svmenu addtolist sv_vote_commands ${* ?}"
+alias delvote "qc_cmd_svmenu removefromlist sv_vote_commands ${* ?}"
// ========================
// ===============================================
// menu_cmd (menu command) - menu/command/menu_cmd.qc
// ===============================================
-alias menu_showteamselect "menu_cmd directmenu TeamSelect"
+alias menu_showwelcomedialog "menu_cmd directmenu Welcome"
alias menu_showhudexit "menu_cmd directmenu HUDExit"
alias menu_showhudoptions "menu_cmd directpanelhudmenu ${* ?}"
alias menu_showsandboxtools "menu_cmd directmenu SandboxTools"
alias menu_showquitdialog "menu_cmd directmenu Quit"
+alias menu_showgamemenudialog "menu_cmd directmenu GameMenu"
alias menu_showmonstertools "menu_cmd directmenu MonsterTools"
// command executed before loading a map by the menu
alias scoreboard_columns_help "qc_cmd_cl hud scoreboard_columns_help"
alias scoreboard_columns_set "qc_cmd_cl hud scoreboard_columns_set ${* ?}"
+seta team_selection_type 1 "Team selection type: 0 menu, 1 scoreboard"
+set _scoreboard_team_selection_available 0 // set to 1 by CSQC
+alias _team_selection_show00 "menu_cmd directmenu TeamSelect"
+alias _team_selection_show01 "menu_cmd directmenu TeamSelect"
+alias _team_selection_show10 "menu_cmd directmenu TeamSelect"
+alias _team_selection_show11 "_scoreboard_team_selection 1"
+alias team_selection_show "_team_selection_show${_scoreboard_team_selection_available}${team_selection_type}"
+
+// legacy alias
+alias menu_showteamselect team_selection_show
// ========================================================
// cmd (client-to-server command) - server/command/cmd.qc
// 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 clear_bestcptimes "qc_cmd_cmd clear_bestcptimes ${* ?}" // Clear all your best checkpoint times for this Race/CTS match
alias clientversion "qc_cmd_cmd clientversion ${* ?}" // Release version of the game
alias join "qc_cmd_cmd join ${* ?}" // Become a player in the game
+//alias kill "qc_cmd_cmd kill ${* ?}" // Become a member of the dead
alias minigame "qc_cmd_cmd minigame ${* ?}" // Start a minigame
//alias mv_getpicture "qc_cmd_cmd mv_getpicture ${* ?}" // Retrieve mapshot picture from the server
alias physics "qc_cmd_cmd physics ${* ?}" // Change physics set
-alias ready "qc_cmd_cmd ready ${* ?}" // Qualify as ready to end warmup stage (or restart server if allowed)
-//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 ready "qc_cmd_cmd ready ${* ?}" // Qualify as ready to end warmup stage
+//alias say "qc_cmd_cmd say ${* ?}" // Send a public chat message to all players
+//alias say_team "qc_cmd_cmd say_team ${* ?}" // Send a chat message 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 spectate "qc_cmd_cmd spectate ${* ?}" // Become a spectator
+alias suggestmap "qc_cmd_cmd suggestmap ${* ?}" // Suggest a map to appear at the map voting screen
+//alias tell "qc_cmd_cmd tell ${* ?}" // Send a private chat message to a player which may be visible to server admins
alias voice "qc_cmd_cmd voice ${* ?}" // Send voice message via sound
alias wpeditor "qc_cmd_cmd wpeditor ${* ?}" // Waypoint editor commands
alias team_blue "cmd selectteam blue; cmd join"
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 team_auto "togglemenu 0; cmd selectteam auto; cmd join"
alias spec "spectate ${* ?}"
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 nextmap "qc_cmd_sv nextmap ${* ?}" // Set/Query the next map
alias nospectators "qc_cmd_sv nospectators ${* ?}" // Automatically remove spectators from a match
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 resetmatch "qc_cmd_sv resetmatch ${* ?}" // Soft restart the map
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 warp "qc_cmd_sv warp ${* ?}" // Choose different level in campaign
// other aliases for server commands
-alias endmatch "timelimit -1"
+set _endmatch 0 "if set to 1 ends the match immediately; use it instead of timelimit -1 (deprecated)"
+alias endmatch "_endmatch 1"
alias bots "minplayers 4; minplayers_per_team 2"
alias nobots "minplayers 0; minplayers_per_team 0"
// ===================================
-// banning - server/command/ipban.qc
+// banning - server/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 kickban "qc_cmd_sv kickban ${* ?}" // Disconnect a client and ban it at the same time
alias mute "qc_cmd_sv mute ${* ?}" // Disallow a client from talking by muting them
alias unban "qc_cmd_sv unban ${* ?}" // Remove an existing ban
-alias unmute "qc_cmd_sv unmute ${* ?}" // Unmute a client
+alias unmute "qc_cmd_sv unmute ${* ?}" // Unmute a client (Remove an existing muting ban)
+
+// alternative aliases for ban commands
+alias bans "qc_cmd_sv banlist ${* ?}"
+alias muteban "qc_cmd_sv mute ${* ?}"
+alias unmuteban "qc_cmd_sv unmute ${* ?}"
+alias chatban "qc_cmd_sv mute ${* ?}"
+alias unchatban "qc_cmd_sv unmute ${* ?}"
+
+
+
+// Client
+alias ignore "qc_cmd_cmd ignore ${* ?}" // Ignore a player in the game keeping them out of your personal chat log
+alias unignore "qc_cmd_cmd unignore ${* ?}" // Remove an existing ignore of a player
+alias clear_ignores "qc_cmd_cmd clear_ignores" // Remove all existing ignores of players
+
+// Server
+alias playban "qc_cmd_sv playban ${* ?}" // Ban disallowing a client from playing (forced to spectate)
+alias unplayban "qc_cmd_sv unplayban ${* ?}" // Remove an existing play ban client
+alias voteban "qc_cmd_sv voteban ${* ?}" // Ban disallowing a client from voting
+alias unvoteban "qc_cmd_sv unvoteban ${* ?}" // Remove an existing vote ban client
+
+// other aliases for muteban, playban and voteban lists
+alias mutebans "g_chatban_list ${* ?}"
+alias chatbans "g_chatban_list ${* ?}"
+alias playbans "g_playban_list ${* ?}"
+alias votebans "g_voteban_list ${* ?}"
-// other aliases for ban commands
-alias bans "banlist"
// character classes (intersected with 32..126 minus ", $, ;, ^, \ - if you
// want these, include them explicitly)
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_resetmatch "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_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 shuffleteams bots nobots" "these commands can be voted"
+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"
set sv_vote_only_commands ""
set sv_vote_limit 160 "Maximum allowed length of a vote command"
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)
set sv_vote_master 0 "Allows the use of the vote master system"
set sv_vote_master_callable 0 "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_password "" "when set, users can use \"vlogin PASSWORD\" to log in as master, then run master commands directly using vdo"
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_no_stops_vote 1 "Allow the vote caller to stop their 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 24 "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_wait 120 "a player can not call a vote again for this many seconds when their vote was not accepted"
+set sv_vote_stop 15 "a player can not call a vote again for this many seconds when they stopped this vote (e.g. to correct it)"
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)"
set sv_vote_gamestart 0 "Allow voting during map change"
+set sv_vote_debug 0 "count votes by bots too for debugging purposes (to get a bot to vote exec this command: bot_cmd 1 cc vote yes)"
// when disabled, don't allow game type changes "note: set these two equal to JUST support simple majorities"
set sv_vote_override_mostrecent 0
// general
alias vmap "vcall gotomap ${1 ?}"
alias vnextmap "vcall nextmap ${1 ?}"
-alias vkick "vcall kick ${1 ?}"
-alias vkickban "vcall kickban ${1 ?}"
+alias vkick "vcall kick ${* ?}"
+alias vkickban "vcall kickban ${* ?}"
alias vend "vcall endmatch"
+alias vext "vcall extendmatchtime"
alias vdomap "vdo gotomap ${1 ?}"
alias vdokick "vdo kick ${* ?}"
alias vdokickban "vdo kickban ${* ?}"
alias vdoend "vdo endmatch"
-alias vext "vcall extendmatchtime"
// ======================
// rcon server commands
// ======================
rcon_secure 1
-set rcon_restricted_commands "restart fraglimit chmap gotomap nextmap endmatch reducematchtime extendmatchtime allready kick cointoss movetoauto shuffleteams bots nobots movetored movetoblue movetoyellow movetopink movetospec kickban \"sv_cmd bans\" \"sv_cmd unban *\" status \"sv_cmd teamstatus\""
+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\""