]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - xonotic-common.cfg
Merge branch 'master' into z411/annce_queue
[xonotic/xonotic-data.pk3dir.git] / xonotic-common.cfg
1 // most common prefixes (currently not used consistently - especially g_ and sv_):
2 // cl_ client
3 // g_ gameplay
4 // r_ renderer
5 // sv_ server administration, should not affect gameplay
6 // _ temporary, private or internal cvar - should not be changed manually, sometimes used in scripts
7
8 // Xonotic version (formatted for machines)
9 // used to determine if a client version is compatible
10 // general policy: previous release has "best effort" support, older releases are unsupported,
11 // but gameversion_min doesn't have to be bumped with every release
12 // bump when clients become incompatible or any other perfectly good reason
13 // (e.g. game data incompatibility, engine version incompatibility, etc
14 // note: this automatically filters the server browser, clients of the new
15 // version won't see old servers, and clients of the old version won't see new
16 // servers either
17 //
18 // e.g. Xonotic 1.5.1 RC1 will be 15101
19 set g_xonoticversion git "Xonotic version (formatted for humans)"
20
21 gameversion 805       // 0.8.5
22 gameversion_min 802   // 0.8.2 is the previous release
23 gameversion_max 65535 // future versions should nag players to update
24
25 // compatibility guideline:
26 //   version a.b.c   = a0b0c
27 //   gameversion_min = a0(b-1)00 // show servers of the previous "line"
28 //   gameversion_max = a0(b+1)99 // show servers of the next "line"
29 // so, for a given gameversion, _min and _max calculate as follows:
30 //   gameversion_min = (gameversion / 100) * 100 - 100
31 //   gameversion_max = (gameversion / 100) * 100 + 199
32
33 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"
34
35 // Set the master servers to do DNS lookups we control.
36 // This allows us to update the master server IPs without a release.
37 set sv_masterextra1 "master1.xonotic.org:42863"
38 set sv_masterextra2 "master2.xonotic.org:27950"
39 set sv_masterextra3 ""  // Got removed from DP, so we can't use this one for master3.
40 set sv_master1 "dpm4.xonotic.xyz:27777"  // gazby, soylent_cow
41 set sv_master2 "dpm6.xonotic.xyz:27777"  // gazby, soylent_cow
42 set sv_master3 "master3.xonotic.org:27950"
43 set sv_master4 "master4.xonotic.org:42863"
44
45 exec xonotic-client.cfg
46 exec xonotic-server.cfg
47
48 set ekg 0       "Throw huge amounts of gibs"
49
50 _cl_playermodel "models/player/erebus.iqm"
51
52 locs_enable 0
53 pausable 0
54 set samelevel 0 "when 1, always play the same level over and over again"
55
56 fs_empty_files_in_pack_mark_deletions 1 // makes patches able to delete files
57
58 // singleplayer campaign
59 set g_campaign 0
60 set g_campaign_forceteam 0 "Forces the player to a given team in campaign mode, 1 = red, 2 = blue, 3 = yellow, 4 = pink"
61 seta g_campaign_name "xonoticbeta"
62 seta g_campaign_skill 0 // -2 easy, 0 medium, 2 hard
63
64 alias singleplayer_start "g_campaign_index 0; set scmenu_campaign_goto 0"
65 alias singleplayer_continue "set scmenu_campaign_goto -1"
66 alias singleplayer_levellist "set scmenu_campaign_dump 1; togglemenu; wait; togglemenu"
67
68 // campaign internal, set when loading a campaign map1G
69 set _campaign_index ""
70 set _campaign_name ""
71 set _campaign_testrun 0 "To verify the campaign file, set this to 1, then start the first campaign level from the menu. If you end up in the menu again, it's good, if you get a QC crash, it's bad."
72
73 // used by both server and menu to maintain the available list of maps
74 seta g_maplist "" "the list of maps to be cycled among (is autogenerated if empty)"
75
76 // we must change its default from 1.0 to 1 to be consistent with menuqc
77 set slowmo 1
78
79 // ticrate
80 //sys_ticrate 0.0166667 // 60fps. This would be ideal, but kills home routers.
81 sys_ticrate 0.0333333 // Use 30fps instead.
82
83 // Audio track names (for old-style "cd loop NUMBER" usage)
84 set _cdtrack_first "1"
85 alias _cdtrack_0 "g_cdtracks_remaplist \"$g_cdtracks_remaplist $1\""
86 alias _cdtrack_1 "g_cdtracks_remaplist \"$1\"; set _cdtrack_first 0"
87 alias _cdtrack "_cdtrack_$_cdtrack_first $2"
88 set g_cdtracks_remaplist ""
89 exec cdtracks.cfg
90 unset _cdtrack_first
91 unalias _cdtrack_0
92 unalias _cdtrack_1
93 unalias _cdtrack
94
95 cd remap $g_cdtracks_remaplist
96 set sv_intermission_cdtrack ""
97
98 set g_cdtracks_dontusebydefault "rising-of-the-phoenix"
99 seta menu_cdtrack "rising-of-the-phoenix"
100
101 // these entities are not referenced by anything directly, they just represent
102 // teams and are found by find() when needed
103 prvm_leaktest_ignore_classnames "ctf_team dom_team tdm_team"
104 prvm_backtraceforwarnings 1
105
106 set _urllib_nextslot 0 "temp variable"
107
108 set g_debug_defaultsounds 0 "always use default sounds"
109
110 // define some engine cvars that we need even on dedicated server
111 set r_showbboxes 0
112
113 // support Q1BSP maps
114 mod_q1bsp_polygoncollisions 1
115
116 // match q3map2
117 mod_obj_orientation 0
118
119 // UTF-8
120 utf8_enable 1
121
122 // this is mainly for _decal entities (their shaders should use "polygonoffset" shader parameter) - this is "good enough" as it seems, but smaller than the decals one so these don't zfight decals
123 mod_q3shader_default_polygonoffset -14
124 mod_q3shader_default_polygonfactor 0
125
126 // random charge stuff :P
127 set g_weapon_charge_colormod_hdrmultiplier 4 "how much to multiply the colors by in the colormod vector"
128 set g_weapon_charge_colormod_red_half 0
129 set g_weapon_charge_colormod_green_half 0.5
130 set g_weapon_charge_colormod_blue_half 1
131 set g_weapon_charge_colormod_red_full 1
132 set g_weapon_charge_colormod_green_full -0.5
133 set g_weapon_charge_colormod_blue_full -1
134
135 // session locking
136 locksession 1
137
138 // create this cvar in case the engine did not
139 set snd_soundradius 1200
140 set snd_softclip 1
141 set snd_maxchannelvolume 0
142 // Only streaming-decode music, not any sound effects. RAM is cheap nowadays.
143 // Sadly, our longest sound effect is 36 seconds.
144 set snd_streaming_length 40
145 seta menu_snd_sliderscale 2 "0: decibels; 1: linear percent; 2: 0..10 scale; 3: slider size percent"
146 seta menu_snd_attenuation_method 1 "Use exponential instead of linear falloff for sound attenuation"
147 alias snd_attenuation_method_0 "set menu_snd_attenuation_method 0; set snd_soundradius 1200; set snd_attenuation_exponent 1; set snd_attenuation_decibel 0" // Quake default
148 alias snd_attenuation_method_1 "set menu_snd_attenuation_method 1; set snd_soundradius 2400; set snd_attenuation_exponent 4; set snd_attenuation_decibel 0" // nice approximation for method 2
149 alias snd_attenuation_method_2 "set menu_snd_attenuation_method 2; set snd_soundradius 1200; set snd_attenuation_exponent 0; set snd_attenuation_decibel 10" // warning: plays sounds within up to 6000qu
150 snd_attenuation_method_1
151
152 // declare the channels we use
153 seta snd_channel8volume 1 "QuakeC controlled background music volume"
154 seta snd_channel9volume 1 "QuakeC controlled ambient sound volume"
155
156 // sound randomization
157 snd_identicalsoundrandomization_time -0.1
158 snd_identicalsoundrandomization_tics    1
159
160 set debug_deglobalization_logging 0 "bitfield: 1 logs usage of the old functions which use globals implicitly, 2 logs usage of the new wrappers; support for this can be disabled at compile time for better performance"
161 set debug_deglobalization_clear 0 "make the new wrappers set globals to NaN after use, this helps find bugs but can result in crashes; support for this can be disabled at compile time for better performance"
162
163 // disabling until it's complete
164 set prvm_garbagecollection_enable 0
165
166 set g_mapinfo_q3compat 1 "0: generate .mapinfo if none exists, ignoring .arena and .defi files. 1: read .arena and .defi files, don't generate .mapinfo. 2: generate .mapinfo if none exists using data from .arena files instead of reading them, .defi files continue to be used directly"
167
168 // load console command aliases and settings
169 exec commands.cfg
170
171 // ... and now that everything is configured/aliased, we can do some things:
172
173 // Change g_start_delay based upon if the server is local or not.
174 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"
175 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"
176
177 // this should be execed only once even on ruleset-votable servers, otherwise the tips would always start from 0
178 if_dedicated exec help.cfg