// ================================================================= // 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}" alias "_detect_dedicated_0" "" 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 "" // for easy access by QC if_dedicated set is_dedicated 1 if_client set is_dedicated 0 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 $$*" 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_dedicated "alias" help "sv_cmd help" if_client "alias" help "cl_cmd help; cmd help" // ======== // 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 editmob "qc_cmd_svcmd editmob ${* ?}" // Modifies a monster or all monsters 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 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 bufstr_get "qc_cmd_svmenu bufstr_get ${* ?}" // Examine a string buffer object alias cvar_localchanges "qc_cmd_svmenu cvar_localchanges ${* ?}" // Print locally changed cvars alias dumpcommands "qc_cmd_svmenu dumpcommands ${* ?}" // Dump all commands on the program to *_cmd_dump.txt alias dumpnotifs "qc_cmd_svmenu dumpnotifs ${* ?}" // Dump all notifications into notifications_dump.txt 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 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 nextframe "qc_cmd_svmenu nextframe ${* ?}" // Execute the given command next frame of this VM alias qc_curl "qc_cmd_svmenu qc_curl ${* ?}" // Queries a URL alias removefromlist "qc_cmd_svmenu removefromlist ${* ?}" // Remove a string from a cvar alias restartnotifs "qc_cmd_svmenu restartnotifs ${* ?}" // Re-initialize all notifications alias rpn "qc_cmd_svmenu rpn ${* ?}" // RPN calculator alias runtest "qc_cmd_svmenu runtest ${* ?}" // Run unit tests //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 alias version "qc_cmd_svmenu version ${* ?}" // Print the current version // 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_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 ${* ?}" // ======================== // engine command aliases // ======================== alias bsp "ls maps/*.bsp" alias chmap "changelevel ${* ?}" alias clearmap "disconnect" alias devmap "set _developer_save $developer; set developer 1; changelevel ${* ?}; set developer $_developer_save" 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/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_showsandboxtools "menu_cmd directmenu SandboxTools" alias menu_showquitdialog "menu_cmd directmenu Quit" alias menu_showdisconnectdialog "menu_cmd directmenu Disconnect" alias menu_showmonstertools "menu_cmd directmenu MonsterTools" // command executed before loading a map by the menu // makes sure maxplayers is at least minplayers or minplayers_per_team * 4 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 minplayers_per_team 4 mul 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 boxparticles "qc_cmd_cl boxparticles ${* ?}" // Spawn particles manually alias create_scrshot_ent "qc_cmd_cl create_scrshot_ent ${* ?}" // Create an entity at this location for automatic screenshots 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 cl_weaponpriority) alias weapon_find "qc_cmd_cl weapon_find ${* ?}" // Show spawn locations of a weapon alias exit "quit" // 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 ${* ?}" // ======================================================== // 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 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" 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 clientversion "qc_cmd_cmd clientversion ${* ?}" // Release version of the game alias join "qc_cmd_cmd join ${* ?}" // Become a player in the game 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 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 alias wpeditor "qc_cmd_cmd wpeditor ${* ?}" // Waypoint editor commands // 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" 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 spec "spectate ${* ?}" // mutator aliases alias sandbox "cmd g_sandbox ${* ?}" // monster aliases alias killmob "editmob kill ${* ?}" alias spawnmob "editmob spawn ${* ?}" alias skinmob "editmob skin ${* ?}" alias namemob "editmob name ${* ?}" alias movemob "editmob movetarget ${* ?}" alias butcher "editmob butcher ${* ?}" alias mobbutcher "editmob butcher ${* ?}" // ============================================================ // 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 animbench "qc_cmd_sv animbench ${* ?}" // Benchmark model animation (LAGS) 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 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 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 reset "qc_cmd_sv reset ${* ?}" // 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 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 bots "minplayers 4; minplayers_per_team 2" alias nobots "minplayers 0; minplayers_per_team 0" 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 movetospec "moveplayer ${1 ?} spec" // ======================================================= // 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" // =================================== // 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 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 // other aliases for ban commands alias bans "banlist" // character classes (intersected with 32..126 minus ", $, ;, ^, \ - if you // want these, include them explicitly) // note that QC code always forbids $ and ; in VoteCommand_checknasty set _iscntrl "" set _isblank " " set _ispunct "!#%&'()*+,-./:<=>?@[]_`{|}~" set _isdigit "0123456789" set _isupper "ABCDEFGHIJKLMNOPQRSTUVWXYZ" set _islower "abcdefghijklmnopqrstuvwxyz" set _isxdigit "0123456789abcdefABCDEF" // derived character classes set _isalpha "$_isupper$_islower" set _isalnum "$_isalpha$_isdigit" set _isgraph "$_ispunct$_isalnum" set _isascii "$_isgraph$_isblank" set _isprint "$_isgraph$_isblank" set _isspace "$_isblank" // restriction is specified as followed by instances of ';' // and the optional character class to verify the argument by (no checking if // empty) // set cvar to empty string to not check the command at all // if cvar is not set there will be a warning set sv_vote_command_restriction_restart "0" set sv_vote_command_restriction_fraglimit "1;$_isdigit" set sv_vote_command_restriction_chmap "1;$_isgraph" set sv_vote_command_restriction_gotomap "1;$_isgraph" set sv_vote_command_restriction_nextmap "1;$_isgraph" set sv_vote_command_restriction_endmatch "0" 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_reset "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_command_restriction_movetoauto "1;" set sv_vote_command_restriction_movetored "1;" set sv_vote_command_restriction_movetoblue "1;" set sv_vote_command_restriction_movetoyellow "1;" set sv_vote_command_restriction_movetopink "1;" set sv_vote_command_restriction_movetospec "1;" // help messages for votes that aren't implemeneted in the game code // examples used here are based on the usage output of implemented votes set sv_vote_command_help_restart "\nUsage:^3 vcall restart\n^7 No arguments required." 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." // ================================= // 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 gotomap nextmap endmatch reducematchtime extendmatchtime allready reset 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, 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_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_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" // when disabled, don't allow game type changes "note: set these two equal to JUST support simple majorities" set sv_vote_override_mostrecent 0 // 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" alias vno "qc_cmd_cl handlevote no" 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 ${* ?}" 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" // ====================== // rcon server commands // ====================== rcon_secure 1 set rcon_restricted_commands "restart fraglimit chmap gotomap nextmap endmatch reducematchtime extendmatchtime allready reset kick cointoss movetoauto shuffleteams bots nobots movetored movetoblue movetoyellow movetopink movetospec kickban \"sv_cmd bans\" \"sv_cmd unban *\" status \"sv_cmd teamstatus\""