// ================================================================= // 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 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 dumpcommands "qc_cmd_svmenu dumpcommands ${* ?}" // Dump all commands on the program to *_cmd_dump.txt alias dumpnotifs "qc_cmd_svcl dumpnotifs ${* ?}" // Dump all notifications into notifications_dump.txt alias maplist "qc_cmd_svmenu maplist ${* ?}" // Automatic control of maplist 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_svcl restartnotifs ${* ?}" // Re-initialize all notifications 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 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_showmonstertools "menu_cmd directmenu MonsterTools" // 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 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 weaponpriority) 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 ${* ?}" // 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 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 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 editmob "qc_cmd_cmd editmob ${* ?}" // Edit a monster's properties alias physics "qc_cmd_cmd physics ${* ?}" // Change physics set 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" 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 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 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_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;" // ================================= // 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 shuffleteams" "these commands can be voted" 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_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 "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 ${1 ?}" alias vkickban "vcall kickban ${1 ?}" alias vend "vcall endmatch" 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 endmatch reducematchtime extendmatchtime allready kick kickban \"sv_cmd bans\" \"sv_cmd unban *\" status \"sv_cmd teamstatus\" movetoauto movetored movetoblue movetoyellow movetopink movetospec"