]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - commands.cfg
Begin total re-write of generic command system
[xonotic/xonotic-data.pk3dir.git] / commands.cfg
index 329353e6bce9a2f289c4117f3f50de1d3a7fc564..c034a9cfaa95fbdf3e595b878e9b9631683c09e9 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,31 +11,47 @@ alias if_dedicated "${* asis}"
 _if_dedicated alias if_client ""
 if_client alias if_dedicated ""
 
+if_client set cmd_prefix "cmd"
+if_dedicated set cmd_prefix "sv_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 $$*"
+
 
 // ========
 //  common
 // ========
-if_client alias teamstatus "cmd teamstatus"
-if_dedicated alias teamstatus "sv_cmd teamstatus"
-
-if_client alias who "cmd who"
-if_dedicated alias who "sv_cmd who"
-alias w who
-
-if_client alias vote "cmd vote ${* ?}"
-if_dedicated alias vote "sv_cmd vote ${* ?}"
-
-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 ${* ?}"
+alias cvar_changes "qc_cmd_svcmd cvar_changes"
+alias cvar_purechanges "qc_cmd_svcmd cvar_purechanges"
+alias info "qc_cmd_svcmd info ${* ?}"
+alias ladder "qc_cmd_svcmd ladder"
+alias lsmaps "qc_cmd_svcmd lsmaps"
+alias lsnewmaps "qc_cmd_svcmd lsnewmaps"
+alias maplist "qc_cmd_svcmd maplist"
+alias rankings "qc_cmd_svcmd rankings"
+alias records "qc_cmd_svcmd records"
+alias teamstatus "qc_cmd_svcmd teamstatus"
+alias time "qc_cmd_svcmd time"
+alias timein "qc_cmd_svcmd timein"
+alias timeout "qc_cmd_svcmd timeout"
+alias vote "qc_cmd_svcmd vote ${* ?}"
+alias who "qc_cmd_svcmd who ${* ?}"
+
+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 ${* ?}"
 
 
 // ========================
@@ -48,20 +59,22 @@ alias addvote "qc_cmd addtolist sv_vote_commands ${* ?}"
 // ========================
 alias bsp "ls maps/*.bsp"
 alias chmap "changelevel ${* ?}"
-alias rec "record demos/${1 !}"
+alias clearmap "disconnect"
 alias ply "playdemo $1"
-alias tdem "timedemo $1"
+alias rec "record demos/${1 !}"
 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_showsandboxtools "menu_cmd directmenu SandboxTools"
+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
@@ -69,35 +82,45 @@ 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 console command) - client/gamecommand.qc
-// =========================================================
-alias radar "cl_cmd hud_panel_radar_maximized"
-alias scoreboard_columns_set "cl_cmd hud scoreboard_columns_set ${* ?}"
-alias scoreboard_columns_help "cl_cmd hud scoreboard_columns_help ${* ?}"
-
-
-// =========================================================== // TODO: FIGURE OUT ANY CONFLICTS WITH NORMAL COMMANDS
-//  cmd (client-to-server command) - server/clientcommands.qc
-// ===========================================================
+// ==========================================================
+//  cl_cmd (client local command) - client/command/cl_cmd.qc
+// ==========================================================
+// commented out commands are really only intended for internal use
+if_client alias blurtest "cl_cmd blurtest"
+if_client alias debugmodel "cl_cmd debugmodel ${* ?}"
+//if_client alias handlevote "cl_cmd handlevote ${* ?}"
+if_client alias hud "cl_cmd hud ${* ?}"
+if_client alias localprint "cl_cmd localprint ${* ?}"
+//if_client alias mv_download "cl_cmd mv_download ${* ?}"
+if_client alias sendcvar "cl_cmd sendcvar ${* ?}"
+//if_client alias settemp "cl_cmd settemp ${* ?}"
+//if_client alias settemp_restore "cl_cmd settemp_restore"
+
+// other aliases for local commands
+if_client alias hud_configure "cl_cmd hud configure"
+if_client alias hud_save "cl_cmd hud save ${* ?}"
+if_client alias radar "cl_cmd hud radar ${* ?}"
+if_client alias scoreboard_columns_help "cl_cmd hud scoreboard_columns_help"
+if_client alias scoreboard_columns_set "cl_cmd 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"
 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 "cmd autoswitch ${* ?}"
 alias checkfail "cmd checkfail ${* ?}"
 alias clientversion "cmd clientversion ${* ?}"
-alias cvar_changes "cmd cvar_changes"
-alias cvar_purechanges "cmd cvar_purechanges"
-alias getmapvotepic "cmd getmapvotepic ${* ?}"
-alias info "cmd info ${* ?}"
+//alias getmapvotepic "cmd getmapvotepic ${* ?}"
 alias join "cmd join"
-alias ladder "cmd ladder"
-alias lsmaps "cmd lsmaps"
-alias lsnewmaps "cmd lsnewmaps"
-alias maplist "cmd maplist"
-alias rankings "cmd rankings"
 alias ready "cmd ready"
 alias records "cmd records"
 alias reportcvar "cmd reportcvar ${* ?}"
@@ -107,13 +130,8 @@ alias selectteam "cmd selectteam ${* ?}"
 alias sentcvar "cmd sentcvar ${* ?}"
 alias spectate "cmd spectate"
 alias suggestmap "cmd suggestmap ${* ?}"
-alias teamstatus "cmd teamstatus"
 //alias tell "cmd tell ${* ?}" // engine already has this declared as a command
-alias timein "cmd timein"
-alias timeout "cmd timeout"
 alias voice "cmd voice ${* ?}"
-alias vote "cmd vote ${* ?}"
-alias who "cmd who"
 
 // other aliases for client-to-server commands
 alias autoswitch "set cl_autoswitch ${1 ?} ; cmd autoswitch ${1 ?}" // todo
@@ -130,9 +148,9 @@ alias spec "spectate"
 alias sandbox "cmd g_sandbox ${* ?}"
 
 
-// =========================================================
-//  sv_cmd (server console command) - server/gamecommand.qc
-// =========================================================
+// ============================================================
+//  sv_cmd (server console command) - server/command/sv_cmd.qc
+// ============================================================
 alias adminmsg "sv_cmd adminmsg ${* ?}"
 alias allready "sv_cmd allready"
 alias allspec "sv_cmd allspec ${* ?}"
@@ -140,8 +158,6 @@ alias anticheat "sv_cmd anticheat ${* ?}"
 alias bbox "sv_cmd bbox"
 alias bot_cmd "sv_cmd bot_cmd ${* ?}"
 alias cointoss "sv_cmd cointoss ${* ?}"
-alias cvar_changes "sv_cmd cvar_changes"
-alias cvar_purechanges "sv_cmd cvar_purechanges"
 alias database "sv_cmd database ${* ?}"
 alias defer_clear "sv_cmd defer_clear ${* ?}"
 alias defer_clear_all "sv_cmd defer_clear_all"
@@ -152,7 +168,6 @@ alias find "sv_cmd find ${* ?}"
 alias gametype "sv_cmd gametype ${* ?}"
 alias gettaginfo "sv_cmd gettaginfo ${* ?}"
 alias gotomap "sv_cmd gotomap ${* ?}"
-alias ladder "sv_cmd ladder"
 alias lockteams "sv_cmd lockteams"
 alias make_mapinfo "sv_cmd make_mapinfo"
 alias modelbug "sv_cmd modelbug"
@@ -162,14 +177,10 @@ alias onslaught_updatelinks "sv_cmd onslaught_updatelinks"
 alias playerdemo "sv_cmd playerdemo ${* ?}"
 alias printstats "sv_cmd printstats"
 alias radarmap "sv_cmd radarmap ${* ?}"
-alias rankings "sv_cmd rankings"
-alias records "sv_cmd records"
 alias reducematchtime "sv_cmd reducematchtime"
 alias setbots "sv_cmd setbots ${* ?}"
 alias shuffleteams "sv_cmd shuffleteams"
 alias stuffto "sv_cmd stuffto ${* ?}"
-alias teamstatus "sv_cmd teamstatus"
-alias time "sv_cmd time"
 alias trace "sv_cmd trace ${* ?}"
 alias unlockteams "sv_cmd unlockteams"
 alias warp "sv_cmd warp ${* ?}"
@@ -181,48 +192,43 @@ alias savedb "sv_cmd database save \"${1 ?}\""
 alias dumpdb "sv_cmd database dump \"${1 ?}\""
 alias loaddb "sv_cmd database load \"${1 ?}\""
 
-alias movetoteam_red "moveplayer ${1 ?} red"
-alias movetoteam_blue "moveplayer ${1 ?} blue"
-alias movetoteam_pink "moveplayer ${1 ?} pink"
-alias movetoteam_yellow "moveplayer ${1 ?} yellow"
-alias movetoteam_auto "moveplayer ${1 ?} auto"
+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"
 
 
 // =======================================================
 //  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 settemp "qc_cmd_svcl settemp $$*"
+alias settemp_restore "qc_cmd_svcl settemp_restore"
+
+
+// ===================================
+//  banning - server/command/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
-// =========================
+// =================================
+//  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 movetoteam_auto" "these commands can be voted"
+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 sv_vote_master_commands "movetored movetoblue movetoyellow movetopink" "Commands which vote masters can execute by themselves" // 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"
@@ -258,4 +264,10 @@ 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\" movetoteam_auto movetoteam_red movetoteam_blue movetoteam_yellow movetoteam_pink"
+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"
+
+// =============================
+//  other miscellaneous aliases
+// =============================
+alias autoscreenshot "screenshot screenshots/autoscreenshot/${1 !}-${2 !}.jpg; echo \"^5A screenshot has been taken at request of the server.\""
+