// 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
// ===============================================
// 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_showdisconnectdialog "menu_cmd directmenu Disconnect"
+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 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_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, 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