// gameversion_min = (gameversion / 100) * 100 - 100
// gameversion_max = (gameversion / 100) * 100 + 199
-// changes a cvar and reports it to the server (for the menu to notify the
-// server about changes)
-alias setreport "set \"$1\" \"$2\" ; sendcvar \"$1\""
-
seta cl_firststart "" "how many times the client has been run"
seta cl_startcount 0 "how many times the client has been run"
-// detect dedicated server or 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 ""
-
-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 $$*"
-
-// shorthand for the most usual case
-alias qc_cmd "qc_cmd_svmenu $*"
-
seta g_configversion 0 "Configuration file version (used to upgrade settings) 0: first run, or previous start was <2.4.1 Later, it's overridden by config.cfg, version ranges are defined in config_update.cfg"
// say aliases
alias +hook +button6
alias -hook -button6
alias use "impulse 21"
-alias ready "cmd ready"
-alias lockteams "sv_cmd lockteams"
-alias unlockteams "sv_cmd unlockteams"
-alias nospectators "sv_cmd nospectators"
-alias cointoss "sv_cmd cointoss"
-alias timeout "cmd timeout" //use this command to call a timeout
-alias timein "cmd timein" //use this command to resume the game before timeout is finished
-
-alias bsp "ls maps/*.bsp"
-alias chmap "changelevel $*"
-alias gotomap "sv_cmd gotomap \"$1\""
-
-alias rec "record demos/$1"
-alias ply "playdemo $1"
-alias tdem "timedemo $1"
+
+// for backwards compatibility
alias dropweapon "impulse 17"
alias +show_info +button7
alias -show_info -button7
-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"
bind f6 team_auto
-alias movetoteam_red "sv_cmd movetoteam $1 red"
-alias movetoteam_blue "sv_cmd movetoteam $1 blue"
-alias movetoteam_pink "sv_cmd movetoteam $1 pink"
-alias movetoteam_yellow "sv_cmd movetoteam $1 yellow"
-alias movetoteam_auto "sv_cmd movetoteam $1 auto"
-
// merge lightmaps up to 2048x2048 textures
mod_q3bsp_lightmapmergepower 4
set g_maxplayers 0 "maximum number of players allowed to play at the same time, set to 0 to allow all players to join the game"
set g_maxplayers_spectator_blocktime 5 "if the players voted for the \"nospectators\" command, this setting defines the number of seconds a observer/spectator has time to join the game before he gets kicked"
-//tournament mod
+// tournament mod
set g_warmup 0 "split the game into a warmup- and match-stage when set to 1"
set g_warmup_limit 0 "if set to -1 the warmup-stage is not affected by any timelimit, if set to 0 the usual timelimit also affects warmup-stage, otherwise warmup will be limited to this time in SECONDS (useful for public matches)"
set g_warmup_allow_timeout 0 "if set to 1 timeouts can also be called in the warmup-stage, when sv_timeout is set to 1"
set g_warmup_allguns 1 "if set players start with all guns in warmup mode"
+set g_warmup_majority_factor 0.8 "minimum percentage of players ready needed for warmup to end"
set g_chat_nospectators 0 "if 0 spec/observer chat is always visible to the player, if 1 it is never visible to players, if 2 it is only visible to players during warmup stage"
set sv_vote_nospectators 0 "if set only players can call a vote (thus spectators and observers can't call a vote)"
set g_telefrags_avoid 1 "when teleporters have a random destination, avoid teleporting to locations where a telefrag would happen"
set g_teleport_maxspeed 0 "maximum speed that a player can keep when going through a teleporter (if a misc_teleporter_dest also has a cap the smallest one of these will be used), 0 = don't limit, -1 = keep no speed"
+set cl_damageeffect 2 "enable weapon damage effects. 1 enables effects on players, 2 on players and objects"
+set cl_damageeffect_ticrate 0.05 "particles spawn rate"
+set cl_damageeffect_limit 3 "how many damages to show on a player at once (objects are limited to one effect)"
+set cl_damageeffect_lifetime 0.1 "how much a damage effect lasts, multiplied by damage amount"
+set cl_damageeffect_lifetime_min 3 "minimum lifetime a damage effect may have"
+set cl_damageeffect_lifetime_max 6 "maximum lifetime a damage effect may have"
+
set g_respawn_ghosts 1 "if 1 dead bodies become ghosts and float away when the player respawns"
set g_respawn_ghosts_speed 5 "the speed with which respawn ghosts float and rotate"
set g_respawn_ghosts_maxtime 6 "maximum amount of time a respawn ghost can last, minimum time is half this value. 0 disables and ghosts fade when the body would"
cl_movement_track_canjump 0
cl_stairsmoothspeed 200
-seta cl_autoswitch 1 "automatically switch to newly picked up weapons if they are better than what you are carrying"
-alias autoswitch "set cl_autoswitch $1 ; cmd autoswitch $1"
-
set bot_config_file bots.txt "Name and path of the bot configuration file"
set bot_number 0 "Minimum number of bots"
seta bot_usemodelnames 0 "Use player model names for bot names"
seta menu_sandbox_edit_force 1
seta menu_sandbox_edit_material ""
-alias menu_showsandboxtools "menu_cmd directmenu SandboxTools"
bind f7 menu_showsandboxtools
set g_playerclip_collisions 1 "0 = disable collision testing against playerclips, might be useful on some defrag maps"
set welcome_message_time 8
-alias clearmap "disconnect"
-
set g_grappling_hook 0 "let players spawn with the grappling hook which allows them to pull themselves up"
set g_invincible_projectiles 0 "set to 1 to disable any damage to projectiles in all balance configs, regardless of g_projectiles_damage"
set serverconfig server.cfg
set _sv_init 0
alias startmap_dm "set _sv_init 0; map _init/_init; exec $serverconfig; set _sv_init 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"
// aliases:
alias +fire +attack
alias reload "impulse 20"
-alias sandbox "cmd g_sandbox $*"
-
// movement
bind w +forward
bind a +moveleft
bind m +hud_panel_radar_maximized
bind i +show_info
bind PAUSE pause
-bind F10 quit
+bind F10 menu_showquitdialog
bind F11 disconnect
bind F12 screenshot
bind F4 ready
bind kp_plus "+userbind 17"
bind kp_minus "+userbind 18"
-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_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 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 sv_vote_call 1 "users can call a vote for the above commands"
-set sv_vote_master 1 "users can call a vote to become master"
-set sv_vote_master_password "" "when set, users can use \"vlogin PASSWORD\" to log in as master"
-set sv_vote_change 1 "set to 1 to allow to change you vote/mind"
-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 "which quotient of the PLAYERS constitute a majority? (try: 0.666, 0.75 when using the above)"
-set sv_vote_simple_majority_factor 0.666 "which quotient of the VOTERS constitute a majority too? (0 = off, otherwise it must be higher than or equal to sv_vote_majority_factor)"
-// when disabled, don't allow game type changes "note: set these two equal to JUST support simple majorities"
-set sv_vote_override_mostrecent 0
-alias vhelp "cmd vote help"
-alias vstatus "cmd vote status"
-alias vcall "cmd vote call $*"
-alias vstop "cmd vote stop"
-alias vmaster "cmd vote master"
-alias vlogin "cmd vote login $*"
-alias vdo "cmd vote do $*"
-alias vyes "cl_cmd vyes"
-alias vno "cl_cmd vno"
-alias vdontcare "cmd vote dontcare"
-alias vabstain "cmd vote abstain"
-
-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 lsmaps "cmd lsmaps" // lists all maps on server (for vmap, suggestmap, vnextmap)
-alias lsnewmaps "cmd lsnewmaps" // lists all maps on server that do not yet have a record set (race/cts)
bind F1 vyes
bind F2 vno
//used for spectate/observer mode
-alias spec "cmd spectate"
bind F3 spec
// NIX (No Items Xonotic) - at each time, everyone uses the same weapon,
set g_campaign_forceteam 0 "Forces the player to a given team in campaign mode, 1 = red, 2 = blue, 3 = yellow, 4 = pink"
seta g_campaign_name "xonoticbeta"
set g_campaign_skill 0
-alias warp "sv_cmd warp $*"
alias singleplayer_start "g_campaign_index 0; set scmenu_campaign_goto 0"
alias singleplayer_continue "set scmenu_campaign_goto -1"
alias singleplayer_levellist "set scmenu_campaign_dump 1; togglemenu; wait; togglemenu"
-// Green's fullbright skins
-alias cl_fbskin_green "playermodel models/player/erebus.iqm; playerskin 1; color 3 3"
-alias cl_fbskin_red "playermodel models/player/erebus.iqm; playerskin 1; color 4 4"
-alias cl_fbskin_orange "playermodel models/player/erebus.iqm; playerskin 1; color 14 14"
-alias cl_fbskin_off "playermodel models/player/erebus.iqm; playerskin 0"
+// Green's fullbright skins, updated by Samual
+alias sv_fbskin_unique "sv_defaultcharacter 1; sv_defaultplayermodel models/player/megaerebus.iqm; sv_defaultplayerskin 1; sv_defaultplayercolors \"\""
alias sv_fbskin_green "sv_defaultcharacter 1; sv_defaultplayermodel models/player/megaerebus.iqm; sv_defaultplayerskin 1; sv_defaultplayercolors 51"
alias sv_fbskin_red "sv_defaultcharacter 1; sv_defaultplayermodel models/player/megaerebus.iqm; sv_defaultplayerskin 1; sv_defaultplayercolors 68"
alias sv_fbskin_orange "sv_defaultcharacter 1; sv_defaultplayermodel models/player/megaerebus.iqm; sv_defaultplayerskin 1; sv_defaultplayercolors 238"
+alias sv_fbskin_rainbow "sv_defaultcharacter 1; sv_defaultplayermodel models/player/megaerebus.iqm; sv_defaultplayerskin 1; sv_defaultplayercolors 95"
+
alias sv_fbskin_off "sv_defaultcharacter 0; sv_defaultplayerskin 0; sv_defaultplayercolors \"\""
seta sv_servermodelsonly 1
cl_curl_enabled 1
-cl_curl_maxspeed 400
+cl_curl_maxspeed 500
+cl_curl_useragent 1
+cl_curl_useragent_append "$g_xonoticversion"
+
sv_curl_defaulturl "http://www.xonotic.org/contentdownload/getmap.php?file="
set sv_curl_serverpackages_auto 1 "automatically add packs with *.serverpackage files to sv_curl_serverpackages"
seta g_maplist_votable_nodetail 1 "nodetail only shows total count instead of all vote counts per map, so votes don't influence others that much"
seta g_maplist_votable_abstain 0 "when 1, you can abstain from your vote"
seta g_maplist_votable_screenshot_dir "maps levelshots" "where to look for map screenshots"
-alias suggestmap "cmd suggestmap $1"
set g_chat_flood_spl 3 "normal chat: seconds between lines to not count as flooding"
set g_chat_flood_lmax 2 "normal chat: maximum number of lines per chat message at once"
seta g_waypointsprites_turrets 1 "disable turret waypoints"
seta g_waypointsprites_turrets_maxdist 4000 "max distace for turret sprites"
-// command extension
-alias adminmsg "sv_cmd adminmsg $*"
-alias teamstatus "cmd teamstatus; sv_cmd teamstatus" // yes, it is broken on listen servers that way, but well, who cares :P
-alias printstats "sv_cmd printstats" // print status on demand
-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 gametype "sv_cmd gametype $*"
-
-alias addfav "qc_cmd addtolist net_slist_favorites $*"
-alias addvote "qc_cmd addtolist sv_vote_commands $*"
-
// key hunt
set g_keyhunt 0 "Key Hunt: collect all keys from the enemies and bring them together to score"
set g_balance_keyhunt_delay_return 60
set g_ban_default_masksize 3 "masksize 0 means banning by UID only, 1 means banning by /8 (IPv6: /32) network, 2 means banning by /16 (IPv6: /48) network, 3 means banning by /24 (IPv6: /56) network, 4 means banning by single IP (IPv6: /64 network)"
set g_banned_list "" "format: IP remainingtime IP remainingtime ..."
set g_banned_list_idmode "1" "when set, the IP banning system always uses the ID over the IP address (so a user in a banned IP range can connect if they have a valid signed ID)"
-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)
r_labelsprites_scale 0.40625 // labels sprites get displayed at 0.5x from 640x480 to 1280x1024, and at 1x from 1600x1200 onwards
-// settemp subsystem. 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"
-
// usercommands. These can be edited and bound by the menu.
seta "userbind1_press" "say_team quad soon"; seta "userbind1_release" ""; seta "userbind1_description" "team: quad soon"
seta "userbind2_press" "say_team free item %x^7 (l:%y^7); g_waypointsprite_team_here_p"; seta "userbind2_release" ""; seta "userbind2_description" "team: free item, icon"
seta menu_maxplayers 16 "maxplayers value when the menu starts a game"
-// 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"
-
// useful vote aliases
set timelimit_increment 5
set timelimit_decrement 5
set timelimit_min 5
set timelimit_max 60
-alias extendmatchtime "sv_cmd extendmatchtime"
-alias reducematchtime "sv_cmd reducematchtime"
-alias endmatch "timelimit -1"
// useful keybind to maximize the chat area temporarily
// HUD code takes care of many of these now...
set g_jump_grunt 0 "Do you make a grunting noise every time you jump? Is it the same grunting noise every time?"
-alias allready "sv_cmd allready"
-
seta cl_weaponpriority "minstanex nex fireball grenadelauncher uzi hagar rifle electro rocketlauncher crylink minelayer shotgun hlac tuba laser porto seeker hook" "weapon priority list"
seta cl_weaponpriority_useforcycling 0 "when set, weapon cycling by the mouse wheel makes use of the weapon priority list (the special value 2 uses the weapon ID list for cycling)"
seta cl_weaponpriority0 "rocketlauncher grenadelauncher hagar seeker fireball" "use impulse 200 for prev gun from this list, 210 for best gun, 220 for next gun. Default value: explosives"
seta cl_weaponpriority9 "" "use impulse 209 for prev gun from this list, 219 for best gun, 229 for next gun"
seta cl_weaponimpulsemode 0 "0: only cycle between currently usable weapons in weapon priority order; 1: cycle between all possible weapons on a key in weapon priority order"
-seta sv_status_privacy 1 "hide IP addresses from \"status\" replies shown to clients"
-
set g_maplist_allow_hidden 0 "allow hidden maps to be, e.g., voted for and in the maplist"
set g_maplist_allow_frustrating 0 "allow impossible maps to be, e.g., voted for and in the maplist (if set to 2, ONLY impossible maps are allowed)"
-if_client set g_start_delay 0 "delay before the game starts, so everyone can join; recommended to set this to like 15 on a public server"
-if_dedicated set g_start_delay 15 "delay before the game starts, so everyone can join; recommended to set this to like 15 on a public server"
-
-alias radar "cl_cmd hud_panel_radar_maximized"
-alias scoreboard_columns_set "" // aliased later
-alias scoreboard_columns_help "cl_cmd scoreboard_columns_help $*"
-
alias _gl_flashblend_update_00 "gl_flashblend 1"
alias _gl_flashblend_update_10 "gl_flashblend 0"
alias _gl_flashblend_update_01 "gl_flashblend 0"
// must be at the bottom of this file:
// alias for switching the teamselect menu
-alias menu_showteamselect "menu_cmd directmenu TeamSelect"
-alias menu_showhudexit "menu_cmd directmenu HUDExit"
-alias menu_showhudoptions "menu_cmd directpanelhudmenu $*"
bind f5 menu_showteamselect
set g_bugrigs 0
set g_showweaponspawns 1 "display sprites for weapon spawns found on the map when a weapon key is pressed and the weapon is not available"
-alias records "cmd records"
-alias rankings "cmd rankings"
-alias ladder "cmd ladder"
-
// ballistics use physical units, but qu based
// Quake-Newton: 1 qN = 1 qu * 1 g / 1 s^2
// Quake-Joule: 1 qJ = 1 qN * 1 qu
set g_hitplots 0 "when set to 1, hitplots are stored by the server to provide a means of proving that a triggerbot was used"
seta g_hitplots_individuals "" "the individuals, by IP, that should have their hitplots recorded"
-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 mute "prvm_edictset server $1 muted 1" // I am lazy and not making an actual command of this
-alias unmute "prvm_edictset server $1 muted 0" // dito
-
-rcon_secure 1
set menu_updatecheck 1
set g_debug_bot_commands 0 "print scripted bot commands before executing"
set g_debug_defaultsounds 0 "always use default sounds"
set sv_use_csqc_players 1 "set to 0 to disable CSQC players for better Xonotic 0.5 compat"
-set cl_forceplayermodels 0 "set to 1 to make everyone look like your own model (requires server to have sv_use_csqc_players 1 and sv_defaultcharacter 0)"
-set cl_forceplayercolors 0 "set to 1 to make everyone look like your own color (requires server to have sv_use_csqc_players 1 and sv_defaultcharacter 0, and is ignored in teamplay)"
set cl_precacheplayermodels 0 "TODO please check if this needs to be 1 or if precaching a model the server already requested is fast enough to do it at runtime"
+seta cl_forceplayermodels 0 "make everyone look like your own model (requires server to have sv_use_csqc_players 1 and sv_defaultcharacter 0)"
+seta cl_forceplayercolors 0 "make everyone look like your own color (requires server to have sv_use_csqc_players 1 and sv_defaultcharacter 0, and is ignored in teamplay)"
+seta cl_forcemyplayermodel "" "set to the model file name you want to show yourself as (requires server to have sv_use_csqc_players 1; does not affect how enemies look with cl_forceplayermodels)"
+seta cl_forcemyplayerskin 0 "set to the skin number you want to show yourself as (requires server to have sv_use_csqc_players 1; does not affect how enemies look with cl_forceplayermodels)"
+seta cl_forcemyplayercolors 0 "set to the color value (encoding is same as _cl_color) for your own player model (requires server to have sv_use_csqc_players 1, and is ignored in teamplay; does not affect how enemies look with cl_forceplayermodels)"
// debug cvars for keyhunt attaching
set _angles "0 0 0"
exec turrets.cfg
exec vehicles.cfg
+// load console command aliases and settings
+exec commands.cfg
+
// hud cvar descriptions and common settings
exec _hud_common.cfg
exec _hud_descriptions.cfg
// please add any new cvars into the hud_save script in qcsrc/client/hud_config.qc for consistency
exec hud_luminos.cfg
+
+// ... and now that everything is configured/aliased, we can do some things:
+
+// Change g_start_delay based upon if the server is local or not.
+if_client set g_start_delay 0 "delay before the game starts, so everyone can join; recommended to set this to like 15 on a public server"
+if_dedicated set g_start_delay 15 "delay before the game starts, so everyone can join; recommended to set this to like 15 on a public server"
+
// enable menu syncing
alias menu_sync "menu_cmd sync"
-alias scoreboard_columns_set "cl_cmd scoreboard_columns_set $*"