]> icculus.org git repositories - divverent/nexuiz.git/blob - data/defaultNexuiz.cfg
make deluxemapping also depend on lightmaps activated
[divverent/nexuiz.git] / data / defaultNexuiz.cfg
1 // Nexuiz version (formatted for humans)
2 set g_nexuizversion 2.4svn
3
4 // changes a cvar and reports it to the server (for the menu to notify the
5 // server about changes)
6 alias setreport "set \"$1\" \"$2\" ; sendcvar \"$1\""
7
8 // detect dedicated server
9 alias "_detect_dedicated_$qport" "$*"
10 alias "_detect_dedicated_0" ""
11 alias if_dedicated "_detect_dedicated_$qport $*"
12
13 // Configuration file version (used to upgrade settings)
14 // 0: first run, or previous start was <2.4.1
15 // later, it's overridden by config.cfg, version ranges are defined in config_update.cfg
16 seta g_configversion 0
17
18 // Nexuiz version (formatted for machines)
19 // used to determine if a client version is compatible
20 // this doesn't have to be bumped with every release
21 // bump when clients become incompatible or any other perfectly good reason
22 // (e.g. game data incompatibility, engine version incompatibility, etc
23 // note: this automatically filters the server browser, clients of the new
24 // version won't see old servers, and clients of the old version won't see new
25 // servers either
26 //
27 // e.g. Nexuiz 1.5.1 RC1 will be 15101
28 gameversion 20000
29
30 // say aliases
31 alias asay_ctf_flagcarrier "say_team flag carrier at %y"
32 alias asay_ctf_haveflag "say_team (%l) have the flag"
33 alias asay_willgo "say_team will go to %y"
34 alias asay_support "say_team (%l) need help, %h%%"
35 alias asay_killed "say_team got killed at %d"
36 alias asay_noammo "say_team (%l) need %W for %w"
37 alias asay_drop "say_team (%l) dropped %w ; impulse 17"
38
39 // other aliases
40 alias +hook +button6
41 alias -hook -button6
42 alias ready "cmd ready"
43 alias lockteams "sv_cmd lockteams"
44 alias unlockteams "sv_cmd unlockteams"
45 alias nospectators "sv_cmd nospectators"
46 alias calltimeout "cmd calltimeout" //use this command to call a timeout
47 alias resumegame "cmd resumegame" //use this command if you don't need the remaining time of the timeout anymore
48
49 alias bsp "ls maps/*.bsp"
50 alias chmap "changelevel $*"
51 alias gotomap "sv_cmd gotomap \"$1\""
52
53 alias rec "record demos/$1"
54 alias ply "playdemo $1"
55 alias tdem "timedemo $1"
56
57 alias dropweapon "impulse 17"
58 alias +show_info +button7
59 alias -show_info -button7
60
61 alias team_red "cmd selectteam red; cmd join"
62 alias team_blue "cmd selectteam blue; cmd join"
63 alias team_pink "cmd selectteam pink; cmd join"
64 alias team_yellow "cmd selectteam yellow; cmd join"
65 alias team_auto "cmd selectteam auto; cmd join"
66 bind f6 team_auto
67
68 alias movetoteam_red "sv_cmd movetoteam $1 red"
69 alias movetoteam_blue "sv_cmd movetoteam $1 blue"
70 alias movetoteam_pink "sv_cmd movetoteam $1 pink"
71 alias movetoteam_yellow "sv_cmd movetoteam $1 yellow"
72 alias movetoteam_auto "sv_cmd movetoteam $1 auto"
73
74 // merge lightmaps up to 1024x1024 textures
75 // the default of 2048x2048 is too heavy for my rig (SavageX)
76 mod_q3bsp_lightmapmergepower 3
77
78 // player defaults
79 _cl_color 102
80 _cl_name Player
81 _cl_playermodel models/player/marine.zym
82 _cl_playerskin 0
83 crosshair 5
84 fov 90
85 seta cl_zoomfactor 5  // how much +zoom will zoom (1-16)
86 seta cl_zoomspeed 3.5 // how fast it will zoom (0.5-16), negative values mean instant zoom
87 seta cl_zoomsensitivity 0 // how zoom changes sensitivity (0 = weakest, 1 = strongest)
88 freelook 1
89 sensitivity 6
90 v_gamma 1.125000
91 viewsize 110
92 bgmvolume 1
93 volume 0.5
94 // fullscreen 1024x768x32bit
95 vid_bitsperpixel 32
96 vid_fullscreen 1
97 vid_width 1024
98 vid_height 768
99 // 2D resolution 800x600
100 vid_conwidth 800
101 vid_conheight 600
102 set sbar_hudselector 1 // use the new nexuiz hud layout
103 v_deathtilt 0 // needed for spectators (who are dead to avoid prediction)
104
105 // these settings determine how much the view is affected by movement/damage
106 cl_bobcycle 0 // how long the cycle of up/down view movement takes (only works if cl_bob is not 0), default is 0.6
107 cl_bob 0.02 // how much view moves up/down when moving (does not move if cl_bobcycle is 0, but still enables cl_bobmodel), default is 0.02
108 cl_bobmodel 1 // whether to have gun model move around on screen when moving (only works if cl_bob is not 0), default is 1
109 cl_rollangle 0 // amount of view tilt when strafing, default is 2.0
110 v_kicktime 0   // how long damage kicks of the view last, default is 0.5 seconds
111 gl_polyblend 1 // whether to use screen tints, default is 1
112
113 // nexuiz-linux-*.sh will use this
114 seta vid_x11_display ""
115 // This can have three possible settings:
116 //   ""            run as usual
117 //   ":n"          use DISPLAY=:n, create it if needed
118 //   ":n/layout"   use DISPLAY=:n, create it if needed with ServerLayout layout
119
120 cl_autodemo_nameformat demos/%Y-%m-%d_%H-%M
121
122 // server settings
123 hostname "Nexuiz Server"
124 set sv_mapchange_delay 5
125 set minplayers 0
126 sv_cullentities_trace 1
127 r_cullentities_trace 1
128
129 // restart server if all players hit "ready"-button
130 set sv_ready_restart 0
131 set sv_ready_restart_after_countdown 0 //if set to 1 the players and map items are reset after the countdown ended, otherwise they're reset already at the beginning of the countdown
132 set sv_ready_restart_repeatable 0 //allows the players to restart the game as often as needed
133
134 //nifreks lockonrestart feature, used in team-based game modes, if set to 1 and all players readied up no other player can then join the game anymore, useful to block spectators from joining
135 set teamplay_lockonrestart 0
136
137 set g_maxplayers 0 //maximum number of players allowed to play at the same time, set to 0 to all players to join the game
138 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
139
140 //tournament mod
141 set g_warmup 0 //split the game into a warmup- and match-stage when set to 1
142 set g_warmup_limit 60 //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 (useful for public matches)
143 set g_warmup_allow_timeout 0 //if set to 0 you cannot use the calltimeout command during the warmup-stage but only during the match stage
144 set g_warmup_allguns 0 //if set players start with all guns in warmup mode
145 set g_warmup_start_health 250 //starting values when being in warmup-stage
146 set g_warmup_start_armor 100
147 set g_warmup_start_ammo_shells 50
148 set g_warmup_start_ammo_nails 150
149 set g_warmup_start_ammo_rockets 50
150 set g_warmup_start_ammo_cells 50
151
152 set g_chat_nospectators 0 //if set the chat sent by spectators or observers while being in match-stage can only seen by other specs/observers
153 set sv_vote_nospectators 0 //if set only players can call a vote during the match-stage (thus spectators and observers can't call a vote then)
154
155 alias g_tourney "g_tourney_$1"
156 alias g_tourney_1 "g_warmup 1; g_chat_nospectators 1; sv_vote_nospectators 1"
157 alias g_tourney_0 "g_warmup 0; g_chat_nospectators 0; sv_vote_nospectators 0"
158
159 set sv_timeout 0 //allows a player to call a timeout, this will pause the game for some time
160 set sv_timeout_length 120 //how long the game will be paused at max, in seconds
161 set sv_timeout_number 2 //how many timeouts one player is allowed to call (gets reset after a restart)
162 set sv_timeout_leadtime 4 //how long the players will be informed that a timeout was calledbefore it starts, in seconds
163 set sv_timeout_resumetime 3 //how long the remaining timeout-time will be after a player called the resumegame command
164
165 // use default physics
166 exec physicsQBR.cfg
167
168 set sv_pogostick 0 // don't require releasing the space bar for jumping again
169 set sv_doublejump 0 // allow Quake 2-style double jumps
170
171 seta sv_precacheplayermodels 1
172 seta sv_precacheweapons 0
173 seta sv_precacheitems 0
174 set sv_spectator_speed_multiplier 1.5
175 seta sv_spectate 1
176 seta sv_defaultcharacter 0
177 seta sv_defaultplayermodel models/player/nexus.zym
178 seta sv_defaultplayerskin 0
179 seta sv_defaultplayermodel_red "" // "" means see sv_defaultplayermodel
180 seta sv_defaultplayerskin_red 0
181 seta sv_defaultplayermodel_blue ""
182 seta sv_defaultplayerskin_blue 0
183 seta sv_defaultplayermodel_yellow ""
184 seta sv_defaultplayerskin_yellow 0
185 seta sv_defaultplayermodel_pink ""
186 seta sv_defaultplayerskin_pink 0
187 seta sv_defaultplayercolors "" // set to 16*shirt+pants to force a color, note: it does NOT depend on defaultcharacter! Set to "" to disable
188 set sv_autoscreenshot 0
189 net_messagetimeout 300
190 net_connecttimeout 30
191 sv_jumpstep 1 // step up stairs while jumping, makes it easier to reach ledges
192 set ekg 0
193
194 cl_movement 1
195 cl_stairsmoothspeed 200
196 cl_forwardspeed $sv_maxspeed
197 cl_backspeed $sv_maxspeed
198 cl_sidespeed $sv_maxspeed
199 cl_upspeed $sv_maxspeed
200 cl_movement_accelerate $sv_accelerate
201 cl_movement_airaccel_qw $sv_airaccel_qw
202 cl_movement_airaccel_sideways_friction $sv_airaccel_sideways_friction
203 cl_movement_airaccelerate $sv_airaccelerate
204 cl_movement_edgefriction $edgefriction
205 cl_movement_friction $sv_friction
206 cl_movement_jumpvelocity $sv_jumpvelocity
207 cl_movement_maxairspeed $sv_maxairspeed
208 cl_movement_maxspeed $sv_maxspeed
209 cl_movement_stepheight $sv_stepheight
210 cl_movement_stopspeed $sv_stopspeed
211 cl_movement_track_canjump 0 // till DP bug gets fixed
212 cl_movement_wallfriction $sv_wallfriction
213 cl_movement_wateraccelerate $sv_wateraccelerate
214 cl_movement_waterfriction $sv_waterfriction
215
216 seta cl_autoswitch 1
217 alias autoswitch "set cl_autoswitch $1 ; cmd autoswitch $1"
218
219 seta cl_playerdetailreduction 0 // the higher, the less detailed
220
221 set bot_number 0 // number of bots in server
222 seta bot_usemodelnames 0 // whether bots should be named after the models
223 set bot_nofire 0 // makes bots not attack at all, mainly for testing in g_waypointeditor mode
224 seta bot_prefix [BOT]
225 seta bot_suffix ""
226 seta skill_auto 0 // when 1, "skill" gets adjusted to match the best player on the map
227 // general bot AI cvars
228 set bot_ai_thinkinterval 0.05
229 set bot_ai_strategyinterval 2
230 set bot_ai_enemydetectioninterval 0.5
231 set bot_ai_dodgeupdateinterval 0.1
232 set bot_ai_chooseweaponinterval 0.3
233 set bot_ai_dangerdetectioninterval 0.1
234 set bot_ai_dangerdetectionupdates 64
235 set bot_ai_aimskill_blendrate 2
236 set bot_ai_aimskill_fixedrate 15
237 set bot_ai_aimskill_firetolerance_distdegrees 180
238 set bot_ai_aimskill_firetolerance_mindegrees 2
239 set bot_ai_aimskill_firetolerance_maxdegrees 45
240 set bot_ai_aimskill_mouse 1
241 set bot_ai_keyboard_distance 250
242 set bot_ai_keyboard_treshold 0.57
243 set bot_ai_aimskill_offset 1
244 set bot_ai_aimskill_think 1
245 // Better don't touch these, there are hard to tweak!
246 set bot_ai_aimskill_order_mix_1st 0.01
247 set bot_ai_aimskill_order_mix_2nd 0.1
248 set bot_ai_aimskill_order_mix_3th 0.01
249 set bot_ai_aimskill_order_mix_4th 0.05
250 set bot_ai_aimskill_order_mix_5th 0.01
251 set bot_ai_aimskill_order_filter_1st 0.2
252 set bot_ai_aimskill_order_filter_2nd 0.2
253 set bot_ai_aimskill_order_filter_3th 0.05
254 set bot_ai_aimskill_order_filter_4th 0.25
255 set bot_ai_aimskill_order_filter_5th 0.3
256
257 // waypoint editor enable
258 set g_waypointeditor 0
259 set bot_ignore_bots 0
260 set bot_join_empty 0
261 set bot_vs_human 0 // set to positive value to make an all-bot blue team, set to negative value to make an all-bot red team, the absolute value is the ratio bots vs humans (1 for equal count)
262
263 alias g_waypointeditor_spawn "impulse 103"
264 alias g_waypointeditor_remove "impulse 104"
265 alias g_waypointeditor_relinkall "impulse 105"
266 alias g_waypointeditor_saveall "impulse 106"
267
268 locs_enable 0
269 pausable 0
270 set g_antilag 2 // 1: re-aim to enemy that was aimed at in the past, 2: shoot completely in the past, 3: client-side hitscan
271 set g_shootfromeye 0
272 set g_shootfromcenter 0
273 set g_weapon_stay 0
274 set g_powerup_superhealth 1
275 set g_powerup_strength 1
276 set g_powerup_shield 1
277 set g_use_ammunition 1
278 set g_pickup_items 1
279 set g_minstagib 0               // enable minstagib
280 set g_minstagib_extralives 2    // how many extra lives you will get per powerup
281 set g_minstagib_ammo_start 10   // starting ammo
282 set g_minstagib_ammo_drop 5     // how much ammo you'll get for weapons or cells
283 set g_minstagib_invis_alpha 0.05
284 set g_minstagib_speed_jumpheight 1.8
285 set g_minstagib_speed_moverate 1.25
286 set g_vampire 0
287 set g_weaponarena "0" // put in a list of weapons to enable a weapon arena mode, or try "all" or "most"
288 set g_shocknex 0
289 set g_laserguided_missile 0
290 set g_midair 0
291 set g_midair_shieldtime 0.3
292 set g_spawnshieldtime 0
293 set g_spawnsound 1
294 set g_spawnpoints_autodrop 0
295 set g_spawnpoints_auto_move_out_of_solid 0
296 set g_forced_respawn 0
297 set g_fullbrightplayers 0
298 set g_fullbrightitems 0
299 set g_casings 0
300 set g_norecoil 0
301 set g_throughfloor 1
302 set g_maplist_mostrecent ""
303 seta g_maplist_mostrecent_count 3 // number of most recent maps that are blocked from being played again
304 seta g_maplist "aggressor aneurysm basement basementctf bleach bloodprison bloodprisonctf bluesky darkzone dieselpower dismal downer evilspace farewell final_rage reslimed ruiner runningman_1on1remix runningman runningmanctf silvercity skyway slimepit soylent starship stormkeep strength toxic warfare"
305 seta g_maplist_index 0 // this is used internally for saving position in maplist cycle
306 seta g_maplist_selectrandom 0 // if 1, a random map will be chosen as next map - DEPRECATED in favor of g_maplist_shuffle
307 seta g_maplist_shuffle 1 // new randomization method: like selectrandom, but avoid playing the same maps in short succession. This works by taking out the first element and inserting it into g_maplist with a bias to the end of the list.
308 // timeout for kill credit when your damage knocks someone into a death trap
309 set g_maplist_check_waypoints 0 // when 1, maps are skipped if there currently are bots, but the map has no waypoints
310 set g_maxpushtime 8.0
311
312 set g_cloaked 0
313 set g_player_alpha 1
314 set g_player_brightness 0 // set to 2 for brighter players
315 seta g_balance_cloaked_alpha 0.25
316
317 set welcome_message_time                8
318
319 alias clearmap  "disconnect"
320
321 set g_grappling_hook 0
322 set g_balance_grapplehook_health 130
323 exec newhook.cfg
324
325 // this means that timelimit can be overidden globally and fraglimit can be overidden for each game mode: DM/TDM, Domination, CTF, and Runematch.
326 seta timelimit_override -1
327 seta fraglimit_override -1
328 seta capturelimit_override -1 // actual captures, if g_ctf_win_mode 0 or 1
329 seta g_ctf_capture_limit -1   // points, if g_ctf_win_mode 2
330 seta g_domination_point_limit -1
331 seta g_runematch_point_limit -1
332 seta g_keyhunt_point_limit -1
333 seta g_race_laps_limit -1
334
335 seta g_ctf_win_mode 2 // 0: captures only, 1: captures, then points, 2: points only
336 seta g_ctf_ignore_frags 0 // 1: regular frags give no points
337
338 // 50% of the spawns shall be far away from any players
339 set g_spawn_furthest 0.5
340 // respawn delay
341 set g_respawn_delay 2
342 set g_respawn_waves 0
343 // when variables are set to 0, they take over the global setting...
344 // to force disable delay or waves, set them to 0.125
345 set g_ctf_respawn_delay 0
346 set g_ctf_respawn_waves 0
347 set g_dm_respawn_delay 0
348 set g_dm_respawn_waves 0
349 set g_dom_respawn_delay 0
350 set g_dom_respawn_waves 0
351 set g_lms_respawn_delay 0
352 set g_lms_respawn_waves 0
353 set g_rune_respawn_delay 0
354 set g_rune_respawn_waves 0
355 set g_tdm_respawn_delay 0
356 set g_tdm_respawn_waves 0
357 // honor g_respawn_mapsettings_delay and g_respawn_mapsettings_waves
358 set g_respawn_mapsettings 1
359
360 // maximum overtime
361 seta timelimit_maxovertime 5
362
363 // common team values
364 set  g_tdm                              0
365
366 seta teamplay_default                   4       // default teamplay setting in team games
367   // 1 = no friendly fire, self damage
368   // 2 = friendly fire and self damage enabled
369   // 3 = no friendly fire, but self damage enabled
370   // 4 = obey the following two cvars
371 seta g_mirrordamage 0.2              // for teamplay 4: mirror damage factor
372 seta g_friendlyfire 0.0              // for teamplay 4: fiendly fire factor
373
374 set deathmatch_force_teamplay           0       // always play TDM on dm maps
375 seta g_balance_teams                    0       // automatically balance out players entering instead of asking them for their preferred team
376 seta g_balance_teams_force              0       // automatically balance out teams when players move or disconnect
377 seta g_balance_teams_complain   0   // when 1, complain when team balance is off
378 seta g_balance_teams_prevent_imbalance  0       // prevent players from changing to larger teams
379 seta g_tdm_teams                        2       // how many teams are in team deathmatch
380 set g_changeteam_banned                 0       // not allowed to change team
381 set g_changeteam_fragtransfer           0       // % of frags you get to keep when you change teams (rounded down)
382
383 // dm
384 set g_dm 1
385 set gamecfg 1 // deathmatch
386
387 // ctf
388 set g_ctf 0
389 set g_ctf_flag_returntime 30
390 set g_ctf_flagcarrier_selfdamage 1
391 set g_ctf_flagcarrier_selfforce 1
392 set g_ctf_fullbrightflags 1
393 set g_ctf_allow_drop 0 // dropping allows circumventing carrierkill score, so enable this with care!
394 set g_ctf_reverse 0 // when 1, bases/flags are switched :P you have to capture your OWN flag by bringing it to the ENEMY's
395 set g_balance_ctf_delay_collect 1.0
396 set g_balance_ctf_damageforcescale 1
397
398 set g_ctf_shield_max_ratio 0 // shield at most 0% of a team from the enemy flag (try: 0.4 for 40%)
399 set g_ctf_shield_min_negscore 20 // shield the player from the flag if he's got -20 points or less
400 set g_ctf_shield_force 100 // push force of the shield
401                                                
402 exec ctfscoring-nex242.cfg
403
404 // runematch
405 set g_runematch                                         0
406 set g_runematch_pointrate                               5
407 set g_runematch_pointamt                                        1
408 set g_runematch_shuffletime                             30 // how often runes change position
409 set g_runematch_respawntime                             15 // how soon after being dropped to respawn
410 set g_runematch_frags_killedby_runeholder               4
411 set g_runematch_frags_killed_runeholder                 5
412 set g_runematch_frags_norune                            0
413 set g_runematch_drop_runes_max                          2 // only drop up to 2 runes, the rest should respawn
414 set g_runematch_allow_same                              0 // allow matching rune-curse pairs
415 set g_runematch_rune_alpha                              0.78
416 set g_runematch_rune_effects                            544 // EF_ADDITIVE + EF_FULLBRIGHT
417 set g_runematch_rune_glow_size                          0
418 set g_runematch_rune_glow_color                         0
419 set g_runematch_rune_color_strength                     1.0 //1.5
420 // strength/weakness
421 set g_balance_rune_strength_damage                      2.0 //1.5
422 set g_balance_rune_strength_force                       1.5
423 set g_balance_curse_weak_damage                         0.5 //0.6
424 set g_balance_curse_weak_force                          0.6
425 set g_balance_rune_strength_combo_damage        0.9
426 set g_balance_rune_strength_combo_force                 1.0
427 // defense/vulner
428 set g_balance_rune_defense_takedamage                   0.5
429 set g_balance_curse_vulner_takedamage                   2.0
430 set g_balance_rune_defense_combo_takedamage             1.0
431 // vampire/empathy
432 set g_balance_rune_vampire_absorb                       0.4
433 set g_balance_curse_empathy_takedamage                  -0.4
434 set g_balance_rune_vampire_combo_absorb                 -0.1
435 set g_balance_rune_vampire_maxhealth                    500
436 set g_balance_curse_empathy_minhealth                   20
437 set g_balance_rune_vampire_combo_minhealth              40
438 // regen/venom
439 set g_balance_rune_regen_hpmod                          1.75
440 set g_balance_curse_venom_hpmod                         0.6
441 set g_balance_rune_regen_combo_hpmod                    0.9
442 set g_balance_rune_regen_regenrate                      3.0
443 set g_balance_curse_venom_rotrate                       3.0 //2
444 set g_balance_rune_regen_combo_regenrate        0.5
445 set g_balance_rune_regen_combo_rotrate                  1.5
446 set g_balance_rune_regen_limitmod                       1
447 set g_balance_curse_venom_limitmod                      1
448 set g_balance_rune_regen_combo_limitmod                 1
449 // speed/slow
450 set g_balance_rune_speed_atkrate                                0.66
451 set g_balance_curse_slow_atkrate                                1.5
452 set g_balance_rune_speed_combo_atkrate                  1.2
453 set g_balance_rune_speed_moverate                       1.25
454 set g_balance_curse_slow_moverate                       0.8
455 set g_balance_rune_speed_combo_moverate                 0.9
456 set g_balance_rune_speed_jumpheight                     1.4
457 set g_balance_curse_slow_jumpheight                     1.0
458 set g_balance_rune_speed_combo_jumpheight               1.0
459
460 // domination
461 set g_domination                        0
462 set g_domination_default_teams          2 // default number of teams for maps that aren't domination-specific
463 set g_domination_disable_frags          0 // players can't get frags normally, only get points from kills
464 set g_domination_point_amt              0 // override: how many points to get per ping
465 set g_domination_point_rate             0 // override: how often to give those points
466 set g_domination_point_capturetime      0.1 // how long it takes to capture a point (given no interference)
467 set g_domination_point_glow             0 // domination point glow (warning, slow)
468 //set g_domination_balance_team_points  1 // # of points received is based on team sizes
469
470 // last man standing
471 set g_lms 0
472 set g_lms_lives_override -1
473 set g_lms_start_health 250
474 set g_lms_start_armor 100
475 set g_lms_start_ammo_shells 50
476 set g_lms_start_ammo_nails 150
477 set g_lms_start_ammo_rockets 50
478 set g_lms_start_ammo_cells 50
479 set g_lms_regenerate 0
480 set g_lms_campcheck_interval 10
481 set g_lms_campcheck_message "^1Don't camp!"
482 set g_lms_campcheck_damage 100
483 set g_lms_campcheck_distance 1800
484 set g_lms_last_join 3                   // if g_lms_join_anytime is false, new players can only join if the worst active player has more than (fraglimit - g_lms_last_join) lives
485 set g_lms_join_anytime 1                // if true, new players can join, but get same amount of lives as the worst player
486
487 // arena
488 set g_arena 0
489 set g_arena_maxspawned 2        // maximum number of players to spawn at once (the rest is spectating, waiting for their turn)
490 set g_arena_roundbased 1        // if disabled, the next player will spawn as soon as someone dies
491 set g_arena_warmup 5            // time, newly spawned  players have to prepare themselves in round based matches
492 set g_arena_powerups 0          // enables powerups (superhealth, strength and shield), which are removed by default
493
494 // onslaught
495 set g_onslaught 0
496 set g_onslaught_gen_health 10000
497 set g_onslaught_cp_health 1000
498
499 // assault
500 set g_assault 0
501
502 // race
503 set g_race 0
504 set g_race_qualifying 2
505 // Qualifying uses timelimit, and the one with the best time wins. Fraglimit is nonfunctional then.
506 // Normal race uses fraglimit as a limit for the laps.
507 // Special mode: g_race_qualifying 2. First runs a qualifying, after
508 // ready-restart it turns into a race. TODO not done yet (e.g. timing display)
509 set g_race_teams 0 // when 2, 3, or 4, the race is played as a team game (the team members can add up their laps)
510
511 // server game balance settings
512 set g_balance_armor_regen 0
513 set g_balance_armor_rot 0.1
514 set g_balance_armor_regenlinear 0
515 set g_balance_armor_rotlinear 0
516 set g_balance_armor_stable 100
517 set g_balance_armor_limit 999
518 set g_balance_armor_start 0
519 set g_balance_armor_blockpercent 0.6
520 set g_balance_health_regen 0.1
521 set g_balance_health_rot 0.1
522 set g_balance_health_regenlinear 0
523 set g_balance_health_rotlinear 0
524 set g_balance_health_stable 100
525 set g_balance_health_limit 999
526 set g_balance_health_start 150
527 set g_balance_selfdamagepercent 0.6
528 set g_balance_weaponswitchdelay 0.15
529 // powerup balance settings
530 set g_balance_powerup_invincible_takedamage 0.2
531 set g_balance_powerup_invincible_time 30
532 set g_balance_powerup_strength_damage 3
533 set g_balance_powerup_strength_force 4
534 set g_balance_powerup_strength_time 30
535 set g_balance_powerup_strength_selfdamage 1.5
536 set g_balance_powerup_strength_selfforce 1.5
537
538 // weapon balance settings follow
539 exec weapons.cfg
540
541 set g_balance_falldamage_deadminspeed 150
542 set g_balance_falldamage_minspeed 1400
543 set g_balance_falldamage_factor 0.15
544 set g_balance_falldamage_maxdamage 25
545
546 set g_balance_pause_armor_rot 5
547 set g_balance_pause_health_rot 5
548 set g_balance_pause_health_regen 5
549 set g_balance_pause_armor_rot_spawn 10
550 set g_balance_pause_health_rot_spawn 10
551 set g_balance_pause_health_regen_spawn 0
552
553 set g_footsteps 0 // serverside footstep sounds
554
555 // effects
556 r_picmipsprites 0 // Nexuiz uses sprites that should never be picmipped (team mate, typing, waypoints)
557 r_mipsprites 1
558 r_mipskins 1
559 r_shadow_realtime_world_lightmaps 1
560 seta r_ambient 4
561 cl_decals_fadetime 1
562 cl_decals_time 2
563 seta cl_nogibs 0
564 cl_stainmaps 0
565 cl_particles_smoke 1
566 r_glsl 1
567 r_glsl_deluxemapping 1
568 r_glsl_offsetmapping 0
569 r_glsl_offsetmapping_reliefmapping 0
570 r_glsl_offsetmapping_scale 0.02
571 // execute normal.cfg to make sure that all effect settings are reset
572 alias menu_sync "" // will be re-aliased later
573 exec normal.cfg
574
575 // misc
576 fs_empty_files_in_pack_mark_deletions 1 // makes patches able to delete files
577 scr_conalpha 0.8
578 scr_conbrightness 0.2
579 scr_screenshot_jpeg 1
580 scr_screenshot_jpeg_quality 0.9
581 sv_maxvelocity 1000000000
582 cl_sound_wizardhit ""
583 cl_sound_hknighthit ""
584 cl_sound_tink1 weapons/tink1.wav
585 cl_sound_ric1 weapons/ric1.wav
586 cl_sound_ric2 weapons/ric2.wav
587 cl_sound_ric3 weapons/ric3.wav
588 cl_sound_r_exp3 ""
589 sv_sound_land ""
590 sv_sound_watersplash ""
591
592 // startmap_dm is used when running with the -listen or -dedicated commandline options
593 alias startmap_dm "set _sv_init 1; map aggressor"
594
595 // aliases:
596 alias +attack2 +button3
597 alias -attack2 -button3
598 alias +zoom +button4
599 alias -zoom -button4
600 alias +crouch +button5
601 alias -crouch -button5
602 alias weapnext "_weapnext_${_supports_weaponpriority}${sbar_hudselector}${cl_weaponpriority_useforcycling}"
603 alias _weapnext_000 "impulse 10"
604 alias _weapnext_001 "impulse 10"
605 alias _weapnext_010 "impulse 10"
606 alias _weapnext_011 "impulse 10"
607 alias _weapnext_100 "impulse 10"
608 alias _weapnext_101 "impulse 15"
609 alias _weapnext_110 "impulse 18"
610 alias _weapnext_111 "impulse 15"
611 alias weaplast "impulse 11"
612 alias weapprev "_weapprev_${_supports_weaponpriority}${sbar_hudselector}${cl_weaponpriority_useforcycling}"
613 alias _weapprev_000 "impulse 12"
614 alias _weapprev_001 "impulse 12"
615 alias _weapprev_010 "impulse 12"
616 alias _weapprev_011 "impulse 12"
617 alias _weapprev_100 "impulse 12"
618 alias _weapprev_101 "impulse 16"
619 alias _weapprev_110 "impulse 19"
620 alias _weapprev_111 "impulse 16"
621 set _supports_weaponpriority 0 // set to 1 by csqc if supported, and to 0 on disconnect
622 alias weapbest "impulse 13"
623
624 // movement
625 bind w +forward
626 bind a +moveleft
627 bind s +back
628 bind d +moveright
629 bind UPARROW +forward
630 bind LEFTARROW +moveleft
631 bind DOWNARROW +back
632 bind RIGHTARROW +moveright
633 bind SHIFT +crouch
634 bind ENTER +jump
635 bind SPACE +jump
636
637 // weapons
638 bind 1 "impulse 1"
639 bind 2 "impulse 2"
640 bind 3 "impulse 3"
641 bind 4 "impulse 4"
642 bind 5 "impulse 5"
643 bind 6 "impulse 6"
644 bind 7 "impulse 7"
645 bind 8 "impulse 8"
646 bind 9 "impulse 9"
647 bind 0 "impulse 14" // cycles the superweapons
648 bind MOUSE1 +attack
649 bind MOUSE2 +attack2
650 bind MOUSE3 +zoom
651 bind MOUSE4 weaplast
652 bind MOUSE5 +hook
653 bind MWHEELUP weapnext
654 bind MWHEELDOWN weapprev
655 bind BACKSPACE dropweapon
656 bind g dropweapon
657 bind f +use
658
659 // misc
660 bind e +hook
661 bind ` toggleconsole
662 bind ~ toggleconsole
663 bind TAB +showscores
664 bind ESCAPE togglemenu
665 bind r messagemode2
666 bind t messagemode
667 bind y messagemode2
668 bind i +show_info
669 bind PAUSE pause
670 bind F10 quit
671 bind F11 disconnect
672 bind F12 screenshot
673 bind F4 ready
674 bind m radar
675
676 // Gamepad defaults. Tested with Logitech Rumblepad 2, I hope similar ones works as well.
677 bind JOY1 "+crouch"
678 bind JOY2 "+jump"
679 bind JOY3 "weapprev"
680 bind JOY4 "weapnext"
681 bind JOY5 "+attack2"
682 bind JOY6 "+attack"
683 bind JOY7 "+zoom"
684 bind JOY8 "dropweapon"
685 bind JOY9 "menu_showteamselect"
686 bind JOY10 "+show_info"
687 bind JOY11 "+showscores"
688 bind JOY12 "+con_chat_maximize"
689 set joyadvanced "1"
690 set joyadvaxisr "2"
691 set joyadvaxisx "3"
692 set joyadvaxisy "1"
693 set joyadvaxisz "4"
694 set joysidesensitivity "1.0"
695 set joypitchsensitivity "0.9"
696 set joyyawsensitivity "-1.8"
697 // SDL only
698 set joy_deadzoneforward "0.05"
699 set joy_deadzonepitch "0.05"
700 set joy_deadzoneside "0.05"
701 set joy_deadzoneup "0.05"
702 set joy_deadzoneyaw "0.05"
703 set joy_sensitivitypitch "0.9"
704 set joy_sensitivityyaw "-1.8"
705
706 // team say
707 bind kp_ins messagemode
708 bind kp_del messagemode2
709 bind kp_end "+userbind 1"
710 bind kp_downarrow "+userbind 2"
711 bind kp_pgdn "+userbind 3"
712 bind kp_leftarrow "+userbind 4"
713 bind kp_5 "+userbind 6"
714 bind kp_rightarrow "+userbind 7"
715 bind kp_home "+userbind 9"
716 bind kp_uparrow "+userbind 10"
717 bind kp_pgup "+userbind 11"
718 bind kp_multiply "+userbind 12"
719 bind kp_slash "+userbind 13"
720 bind kp_enter "+userbind 15"
721 bind kp_plus "+userbind 16"
722 bind kp_minus "+userbind 17"
723
724 // these commands can be voted
725 set sv_vote_commands "restart fraglimit chmap gotomap endmatch reducematchtime extendmatchtime allready kick"
726 set sv_vote_only_commands ""
727 set sv_vote_master_commands "" // maybe add kickban here (but then sv_vote_master 0)
728 set rcon_restricted_commands "restart fraglimit chmap gotomap endmatch reducematchtime extendmatchtime allready kick kickban \"sv_cmd bans\" \"sv_cmd unban\" status \"sv_cmd teamstatus\""
729 // users can call a vote for the above commands
730 set sv_vote_call 1
731 // users can call a vote to become master
732 set sv_vote_master 1
733 // when set, users can use "vdo login (password)" to log in as master
734 set sv_vote_master_password ""
735 // set to 1 to allow to change you vote/mind
736 set sv_vote_change 0
737 // set to 1 to count votes once after timeout or to 0 to count with every vote
738 set sv_vote_singlecount 0
739 // a vote will timeout after this many seconds
740 set sv_vote_timeout 60
741 // a player can not call a vote again for this many seconds
742 set sv_vote_wait 120
743 // which quotient of the PLAYERS constitute a majority? (try: 0.667, 0.75 when using the above)
744 set sv_vote_majority_factor 0.5
745 // which quotient of the VOTERS constitute a majority too? (0 = off, otherwise it must be higher than or equal to sv_vote_majority_factor)
746 set sv_vote_simple_majority_factor 0
747 // note: set these two equal to JUST support simple majorities
748 // when disabled, don't allow game type changes
749 set sv_vote_override_mostrecent 0
750 alias vhelp "cmd vote help"
751 alias vstatus "cmd vote status"
752 alias vcall "cmd vote call $*"
753         alias vmap "vcall gotomap $1"
754 alias vstop "cmd vote stop"
755 alias vmaster "cmd vote master"
756 alias vlogin "cmd vote login $*"
757 alias vdo "cmd vote do $*"
758         alias vdomap "vdo gotomap $1"
759 alias vyes "cmd vote yes"
760 alias vno "cmd vote no"
761 alias vdontcare "cmd vote dontcare"
762 alias vabstain "cmd vote abstain"
763 alias lsmaps "cmd lsmaps" // lists all maps on server (for vmap, suggestmap)
764 bind F1 vyes
765 bind F2 vno
766
767 //used for spectate/observer mode
768 alias spec "cmd spectate"
769 bind F3 spec
770
771 // NixNex (No-Items x Nexuiz) - at each time, everyone uses the same weapon,
772 // and in regular intervals, this weapon is cycled
773 set g_nixnex 0
774 set g_nixnex_with_laser 0
775 // TODO these need balancing:
776 set g_balance_nixnex_roundtime 25
777 set g_balance_nixnex_incrtime 1.6
778 // initial ammo
779 set g_balance_nixnex_ammo_shells 15
780 set g_balance_nixnex_ammo_nails 45
781 set g_balance_nixnex_ammo_rockets 15
782 set g_balance_nixnex_ammo_cells 15
783 // ammo increment per second
784 set g_balance_nixnex_ammoincr_shells 2
785 set g_balance_nixnex_ammoincr_nails 6
786 set g_balance_nixnex_ammoincr_rockets 2
787 set g_balance_nixnex_ammoincr_cells 2
788
789 // score log
790 set sv_logscores_console 0              // print scores to server console
791 set sv_logscores_file 0                 // print scores to file
792 set sv_logscores_filename scores.log    // filename
793 set sv_logscores_bots 0                 // exclude bots by default
794
795 // spam (frag/capture) log
796 set sv_eventlog 0 // the master switch for efficiency reasons
797 set sv_eventlog_console 1
798 set sv_eventlog_files 0
799 set sv_eventlog_files_timestamps 1
800 seta sv_eventlog_files_counter 0
801 set sv_eventlog_files_nameprefix nexuiz
802 set sv_eventlog_files_namesuffix .log
803
804 set nextmap "" // override the maplist when switching to the next map
805 set lastlevel ""
806 set quit_when_empty 0 // set to 1, then the server exits when the next level would start but is empty
807 set quit_and_redirect "" // set to an IP to redirect all players at the end of the match to another server. Set to "self" to let all players reconnect at the end of the match (use it to make seamless engine updates)
808
809 // singleplayer campaign
810 set g_campaign 0
811 seta g_campaign_name ""
812 seta g_campaign_index 0
813 set g_campaign_skill 0
814
815 alias singleplayer_start "g_campaign_index 0; set scmenu_campaign_goto 0"
816 alias singleplayer_continue "set scmenu_campaign_goto -1"
817 alias singleplayer_levellist "set scmenu_campaign_dump 1; togglemenu; wait; togglemenu"
818
819 // Green's fullbright skins
820 alias player_fbskin_green "playermodel models/player/nexus.zym; playerskin 6; color 3 3"
821 alias player_fbskin_red "playermodel models/player/nexus.zym; playerskin 6; color 4 4"
822 alias player_fbskin_orange "playermodel models/player/nexus.zym; playerskin 6; color 14 14"
823 alias player_fbskin_off "playermodel models/player/nexus.zym; playerskin 0"
824 alias sv_defaultplayer_fbskin_green "g_fullbrightplayers 1; sv_defaultcharacter 1; sv_defaultplayermodel models/player/nexus.zym; sv_defaultplayerskin 6; sv_defaultplayercolors 51"
825 alias sv_defaultplayer_fbskin_red "g_fullbrightplayers 1; sv_defaultcharacter 1; sv_defaultplayermodel models/player/nexus.zym; sv_defaultplayerskin 6; sv_defaultplayercolors 68"
826 alias sv_defaultplayer_fbskin_orange "g_fullbrightplayers 1; sv_defaultcharacter 1; sv_defaultplayermodel models/player/nexus.zym; sv_defaultplayerskin 6; sv_defaultplayercolors 238"
827 alias sv_defaultplayer_fbskin_off "g_fullbrightplayers 0; sv_defaultcharacter 0; sv_defaultplayerskin 0; sv_defaultplayercolors \"\""
828
829 seta sv_servermodelsonly 1
830
831 cl_curl_enabled 1
832 cl_curl_maxspeed 300
833 sv_curl_defaulturl "http://www.nexuiz.com/contentdownload/getmap.php?file="
834
835 set sv_motd ""
836
837 seta cl_shownames 1 // show player names pointed to (0: never, 1: teamplay only, 2: always)
838 set sv_allow_shownames 1
839
840 net_banlist ""
841 seta _alientrap_net_banlist ""
842
843 set g_waypoints_for_items 1 // make waypoints out of items,  values: 0 = never, 1 = unless the mapper prevents it by worldspawn.spawnflags & 1, 2 = always
844
845 set g_projectiles_newton_style 2
846 // possible values:
847 //   0: absolute velocity projectiles (like Quake)
848 //   1: relative velocity projectiles, "Newtonian" (like Tribes 2)
849 //   2: relative velocity projectiles, but aim is precorrected so projectiles hit the crosshair (note: strafe rockets then are SLOWER than ones shot while standing, happens in 1 too when aiming correctly which is hard)
850 //   3: absolute velocity + player velocity component in shot direction (note: does NOT yield the right relative velocity, but may be good enough, but it is somewhat prone to sniper rockets)
851 //   4: just add the player velocity length to the absolute velocity (tZork's sniper rockets)
852
853 seta g_maplist_votable 5
854 seta g_maplist_votable_keeptwotime 15
855 seta g_maplist_votable_timeout 30 // note: must be below 50 seconds!
856 seta g_maplist_votable_suggestions 2
857 seta g_maplist_votable_suggestions_override_mostrecent 0
858 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
859 seta g_maplist_votable_abstain 0 // when 1, you can abstain from your vote
860 seta g_maplist_votable_screenshot_dir "maps" // where to look for map screenshots
861 seta g_maplist_textonly 0 // use old style centerprint
862 alias suggestmap "cmd suggestmap $1"
863
864 set g_chat_flood_spl 3            // seconds between lines to not count as flooding
865 set g_chat_flood_lmax 2           // maximum number of lines per chat message at once
866 set g_chat_flood_burst 2          // allow bursts of so many chat lines
867 set g_chat_flood_spl_team 1       // \
868 set g_chat_flood_lmax_team 2      //  } same for say_team
869 set g_chat_flood_burst_team 2     // /
870 set g_chat_flood_notify_flooder 1 // when 0, the flooder still can see his own message
871 set g_chat_teamcolors 0           // colorize nicknames in team color for chat
872
873 set g_waypointsprite_normdistance 512
874 set g_waypointsprite_minscale 1
875 set g_waypointsprite_minalpha 0.4
876 set g_waypointsprite_distancealphaexponent 2
877 set g_waypointsprite_timealphaexponent 1
878 set g_waypointsprite_deployed_lifetime 10
879 set g_waypointsprite_deadlifetime 1
880 set g_waypointsprite_limitedrange 5120
881 set g_waypointsprite_stuffbinds 0
882 set g_waypointsprite_scale 1
883 alias "g_waypointsprite_personal"       "impulse 30"
884 alias "g_waypointsprite_personal_p"     "impulse 31"
885 alias "g_waypointsprite_personal_d"     "impulse 32"
886 alias "g_waypointsprite_team_helpme"    "impulse 33"
887 alias "g_waypointsprite_team_here"      "impulse 34"
888 alias "g_waypointsprite_team_here_p"    "impulse 35"
889 alias "g_waypointsprite_team_here_d"    "impulse 36"
890 alias "g_waypointsprite_team_danger"    "impulse 37"
891 alias "g_waypointsprite_team_danger_p"  "impulse 38"
892 alias "g_waypointsprite_team_danger_d"  "impulse 39"
893 alias "g_waypointsprite_clear_personal" "impulse 47"
894 alias "g_waypointsprite_clear"          "impulse 48"
895 alias "g_waypointsprite_toggle"         "impulse 49"
896 // key for that?
897 seta cl_hidewaypoints 0
898
899 // command extension
900 alias qc_cmd               "sv_cmd $*" // menu QC will override this to menu_cmd
901 alias adminmsg             "sv_cmd adminmsg $*"
902 alias teamstatus           "cmd teamstatus; sv_cmd teamstatus" // yes, it is broken on listen servers that way, but well, who cares :P
903 alias printstats           "sv_cmd printstats" // print status on demand
904 alias g_maplist_add        "qc_cmd maplist add $*"
905 alias g_maplist_remove     "qc_cmd maplist remove $*"
906 alias g_maplist_putfirst   "qc_cmd maplist remove $* ; qc_cmd maplist add $*"
907 alias g_maplist_shufflenow "qc_cmd maplist shuffle"
908 alias gametype             "sv_cmd gametype $*"
909
910 // key hunt
911 set g_keyhunt 0
912 set g_balance_keyhunt_delay_return 60
913 set g_balance_keyhunt_delay_round 5
914 set g_balance_keyhunt_delay_tracking 10
915 set g_balance_keyhunt_delay_fadeout 2
916 set g_balance_keyhunt_delay_collect 1.5
917 set g_balance_keyhunt_delay_drop 0.4
918 set g_balance_keyhunt_maxdist 150
919 set g_balance_keyhunt_score_collect 3
920 set g_balance_keyhunt_score_carrierfrag 2
921 set g_balance_keyhunt_score_capture 100
922 set g_balance_keyhunt_score_push 60
923 set g_balance_keyhunt_score_destroyed 50
924 set g_balance_keyhunt_score_destroyed_ownfactor 1
925 set g_balance_keyhunt_dropvelocity 300
926 set g_balance_keyhunt_throwvelocity 400
927 set g_balance_keyhunt_protecttime 0.8
928 set g_balance_keyhunt_damageforcescale 1
929 set g_keyhunt_teams_override 0
930 set g_keyhunt_teams 0
931
932 // so it can be stuffcmd-ed still
933 set cl_gravity 800 // but ignored anyway
934
935 set g_ban_default_bantime 5400 // 90 minutes
936 set g_ban_default_masksize 3   // whole 255.255.255.0 networks (set to 4 for single IPs)
937 set g_banned_list ""           // format: 1 ip remainingtime ip remainingtime ...
938 alias bans "sv_cmd bans"
939 alias ban "sv_cmd ban $*"         // usage: ban address(maybe incomplete, like 1.2.3) bantime(seconds)
940 alias kickban "sv_cmd kickban $*" // usage: kickban # playerno bantime(seconds) masksize(bytes)
941 alias unban "sv_cmd unban $*"     // usage: unban 3 (number from bans)
942
943 r_labelsprites_scale 0.40625 // labels sprites get displayed at 0.5x from 640x480 to 1280x1024, and at 1x from 1600x1200 onwards
944
945 // settemp subsystem. Do not touch. Usage: settemp variable value, next map resets it.
946 set settemp_list 0
947 set settemp_var _settemp_x
948 alias settemp "settemp_list \"1 $1 $settemp_var $settemp_list\"; set $settemp_var \"${$1}\"; settemp_var ${settemp_var}x; $1 \"$2\""
949 alias settemp_restore "_settemp_restore_${settemp_list asis}"
950 alias _settemp_restore_0 "set settemp_var _settemp_x; set settemp_list 0"
951 alias _settemp_restore_1 "$1 \"${$2}\"; _settemp_restore_${3- asis}"
952
953 // usercommands. These can be edited and bound by the menu.
954 seta "userbind1_press" "say_team quad soon";  seta "userbind1_release" "";  seta "userbind1_description" "team: quad soon"
955 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"
956 seta "userbind3_press" "say_team took item (l:%l^7); g_waypointsprite_team_here";  seta "userbind3_release" "";  seta "userbind3_description" "team: took item, icon"
957 seta "userbind4_press" "say_team negative";  seta "userbind4_release" "";  seta "userbind4_description" "team: negative"
958 seta "userbind5_press" "say_team positive";  seta "userbind5_release" "";  seta "userbind5_description" "team: positive"
959 seta "userbind6_press" "say_team need help (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_helpme; cmd voice needhelp";  seta "userbind6_release" "";  seta "userbind6_description" "team: need help, icon"
960 seta "userbind7_press" "say_team enemy seen (l:%y^7); g_waypointsprite_team_danger_p; cmd voice incoming";  seta "userbind7_release" "";  seta "userbind7_description" "team: enemy seen, icon"
961 seta "userbind8_press" "say_team flag seen (l:%y^7); g_waypointsprite_team_here_p; cmd voice seenflag";  seta "userbind8_release" "";  seta "userbind8_description" "team: flag seen, icon"
962 seta "userbind9_press" "say_team defending (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here";  seta "userbind9_release" "";  seta "userbind9_description" "team: defending, icon"
963 seta "userbind10_press" "say_team roaming (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here";  seta "userbind10_release" "";  seta "userbind10_description" "team: roaming, icon"
964 seta "userbind11_press" "say_team attacking (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here";  seta "userbind11_release" "";  seta "userbind11_description" "team: attacking, icon"
965 seta "userbind12_press" "say_team killed flagcarrier (l:%y^7); g_waypointsprite_team_p"; seta "userbind12_release" ""; seta "userbind12_description" "team: killed flag, icon"
966 seta "userbind13_press" "say_team dropped flag (l:%d^7); g_waypointsprite_team_here_d"; seta "userbind13_release" ""; seta "userbind13_description" "team: dropped flag, icon"
967 seta "userbind14_press" "say_team dropped gun %w (l:%l^7); g_waypointsprite_team_here; wait; dropweapon"; seta "userbind14_release" ""; seta "userbind14_description" "team: drop, icon"
968 seta "userbind15_press" "say :-) / nice one"; seta "userbind15_release" ""; seta "userbind15_description" "chat: nice one"
969 seta "userbind16_press" "say good game"; seta "userbind16_release" ""; seta "userbind16_description" "chat: good game"
970 seta "userbind17_press" "say hi / good luck and have fun"; seta "userbind17_release" ""; seta "userbind17_description" "chat: hi / good luck"
971 seta "userbind18_press" "+showscores; +con_chat_maximize"; seta "userbind18_release" "-showscores; -con_chat_maximize"; seta "userbind18_description" "scoreboard / chat history"
972 seta "userbind19_press" "toggle cl_capturevideo"; seta "userbind19_release" ""; seta "userbind19_description" "toggle recording .avi"
973 seta "userbind20_press" "toggle vid_fullscreen; vid_restart"; seta "userbind20_release" ""; seta "userbind20_description" "toggle fullscreen"
974 seta "userbind21_press" ""; seta "userbind21_release" ""; seta "userbind21_description" ""
975 seta "userbind22_press" ""; seta "userbind22_release" ""; seta "userbind22_description" ""
976 seta "userbind23_press" ""; seta "userbind23_release" ""; seta "userbind23_description" ""
977 seta "userbind24_press" ""; seta "userbind24_release" ""; seta "userbind24_description" ""
978 seta "userbind25_press" ""; seta "userbind25_release" ""; seta "userbind25_description" ""
979 seta "userbind26_press" ""; seta "userbind26_release" ""; seta "userbind26_description" ""
980 seta "userbind27_press" ""; seta "userbind27_release" ""; seta "userbind27_description" ""
981 seta "userbind28_press" ""; seta "userbind28_release" ""; seta "userbind28_description" ""
982 seta "userbind29_press" ""; seta "userbind29_release" ""; seta "userbind29_description" ""
983 seta "userbind30_press" ""; seta "userbind30_release" ""; seta "userbind30_description" ""
984 seta "userbind31_press" ""; seta "userbind31_release" ""; seta "userbind31_description" ""
985 seta "userbind32_press" ""; seta "userbind32_release" ""; seta "userbind32_description" ""
986 alias _userbind_call "${$1}"
987 alias +userbind "_userbind_call userbind${1}_press"
988 alias -userbind "_userbind_call userbind${1}_release"
989
990 seta menu_skin "wickedz"
991 set menu_slowmo 1
992
993 // loadfont console     gfx/vera-mono
994 // loadfont sbar        gfx/vera-mono
995 loadfont notify      gfx/vera-sans
996 loadfont chat        gfx/vera-sans
997 // loadfont centerprint gfx/vera-mono
998 // loadfont infobar     gfx/vera-mono
999 loadfont user0       gfx/vera-sans
1000 r_textbrightness 0.2
1001 r_textcontrast 0.8
1002 r_textshadow 1
1003
1004 // good settings for these fonts
1005 con_chat 5
1006 con_chatpos -7
1007 con_chatsize 10
1008 con_chatwidth 0.6
1009 con_notifysize 10
1010 sbar_alpha_bg 0.4
1011 sbar_flagstatus_pos 115
1012
1013 // for menu server list (eventually make them have engine support?)
1014 seta menu_slist_showfull 1
1015 seta menu_slist_showempty 1
1016
1017 // for menu weapon arena
1018 set menu_weaponarena_with_laser 0
1019
1020 // Q3A
1021 set sv_q3acompat_machineshotgunswap 0 // settemp this in mapinfo for instant Q3A map conversion
1022
1023 seta menu_maxplayers 8 // maxplayers value when the menu starts a game
1024
1025 // useful vote aliases
1026 set timelimit_increment 5
1027 set timelimit_decrement 5
1028 set timelimit_min 5
1029 set timelimit_max 60
1030 alias extendmatchtime "sv_cmd rpn /timelimit timelimit timelimit_max timelimit timelimit_increment add bound def"
1031 alias reducematchtime "sv_cmd rpn /timelimit timelimit timelimit_decrement sub timelimit_min timelimit bound def"
1032 alias endmatch "timelimit -1"
1033
1034 // useful keybind to maximize the chat area temporarily
1035 set _backup_con_chatvars_set 0
1036 alias _restore_con_chatvars_0 ""
1037 alias _restore_con_chatvars_1 "set _backup_con_chatvars_set 0; con_chatpos $_backup_con_chatpos; con_chat $_backup_con_chat; con_notify $_backup_con_notify; con_chattime $_backup_con_chattime; cl_deathscoreboard $_backup_cl_deathscoreboard; sbar_flagstatus_right $_backup_sbar_flagstatus_right; scr_centertime $_backup_scr_centertime;r_track_sprites $_backup_r_track_sprites"
1038 alias _restore_con_chatvars "_restore_con_chatvars_$_backup_con_chatvars_set"
1039 alias _backup_con_chatvars_0 "set _backup_con_chatvars_set 1; set _backup_con_chatpos $con_chatpos; set _backup_con_chat $con_chat; set _backup_con_notify $con_notify; set _backup_con_chattime $con_chattime; set _backup_cl_deathscoreboard $cl_deathscoreboard; set _backup_sbar_flagstatus_right $sbar_flagstatus_right; set _backup_scr_centertime $scr_centertime;set _backup_r_track_sprites $r_track_sprites"
1040 alias _backup_con_chatvars_1 ""
1041 alias _backup_con_chatvars "_backup_con_chatvars_$_backup_con_chatvars_set"
1042 alias +con_chat_maximize "_backup_con_chatvars; con_chatpos -7; con_chat 100; con_notify 0; con_chattime 3600; cl_deathscoreboard 0; sbar_flagstatus_right 1; scr_centertime 0; r_track_sprites 0"
1043 alias -con_chat_maximize "_restore_con_chatvars"
1044
1045 // tab completion
1046 set con_completion_playdemo *.dem
1047 set con_completion_timedemo *.dem
1048 set con_completion_ply      *.dem
1049 set con_completion_tdem     *.dem
1050 set con_completion_exec     *.cfg
1051 set con_completion_chmap    map
1052 set con_completion_gotomap  map
1053 set con_completion_vmap     map
1054 set con_completion_vdomap   map
1055
1056 // these non-saved engine cvars shall be savedG
1057 seta cl_port $cl_port
1058 seta r_showsurfaces $r_showsurfaces
1059 seta r_ambient $r_ambient
1060 seta skill $skill
1061 seta gl_finish $gl_finish
1062 seta v_kicktime $v_kicktime
1063
1064 // ticrate
1065 // engine default is too CPU intensive on 16p servers, so let's go back
1066 sys_ticrate 0.05
1067
1068 // delay for "kill" to prevent abuse
1069 set g_balance_kill_delay 5
1070
1071 // this feature is currently buggy in the engine (it appears to PREVENT any dropping in lots of maps, leading to weirdly aligned entities, and in some cases even CAUSES them to drop through solid, like in facing worlds nex)
1072 sv_gameplayfix_droptofloorstartsolid 0
1073
1074 gl_texturecompression_color 1
1075 gl_texturecompression_gloss 1
1076 gl_texturecompression_glow 1
1077 gl_texturecompression_lightcubemaps 1
1078 gl_texturecompression_q3bsplightmaps 0
1079 gl_texturecompression_sky 1
1080
1081 set menu_mouse_absolute 0 // TODO make this seta if the engine understands this right
1082 seta menu_mouse_speed 1
1083 set menu_use_default_hostname 1
1084 alias sethostname "set menu_use_default_hostname 0; hostname $*"
1085
1086 // force fog for people who turn it off in game (set this to like 5 if you suspect people are "cheating" that way)
1087 set sv_foginterval 0
1088
1089 // Audio track names (for old-style "cd loop NUMBER" usage)
1090 cd remap digital-pursuit breakdown-easy brainsukker chaos-fog infight neuronal-diving subcities thru-the-mirror calling-bogus beast-of-insanity
1091 set sv_intermission_cdtrack brainsukker
1092 set menu_cdtrack digital-pursuit
1093
1094 // maxidle (in seconds): kick players idle for more than that amount of time
1095 set sv_maxidle 0
1096 // when sv_maxidle is not 0, assume spectators are idle too
1097 set sv_maxidle_spectatorsareidle 0
1098
1099 // CTF capture limit placeholder cvar
1100 set capturelimit 0
1101
1102 // sbar: font size
1103 seta sbar_fontsize 11
1104 seta sbar_width 480
1105 alias sbar_font "loadfont user1 $*; loadfont user2 ${*}-big; sbar_columns_set"
1106 seta sbar_columns default
1107 sbar_font gfx/vera-sans
1108 seta sbar_showbinds 1 // 0 disables display of keybinds, 1 enables it, 2 displays longer strings
1109 seta sbar_showbinds_limit 2 // display so many found keybinds, 0 for unlimited
1110
1111 // these entities are not referenced by anything directly, they just represent
1112 // teams and are found by find() when needed
1113 prvm_leaktest_ignore_classnames "ctf_team dom_team tdm_team"
1114
1115 sv_allowdownloads_inarchive 1 // for csprogs.dat
1116
1117 set g_jump_grunt 0 // Do you make a grunting noise every time you jump? Is it the same grunting noise every time?
1118
1119 alias allready "sv_cmd allready"
1120
1121 // note: these cvars use weapon NUMBERS. Use the menu to edit this cvar, or look the numbers up in qcsrc/common/constants.qh.
1122 seta cl_weaponpriority "14 13 9 8 11 7 6 5 4 3 2 1 10 12" // default porto and hook as LOW priority, use the weapon key numbers otherwise
1123 seta cl_weaponpriority_useforcycling 0
1124 // impulse 200, 210, 220:
1125 seta cl_weaponpriority0 "14 9 8 4"   // explosives    (RL Hagar Mortar)
1126 // impulse 201, 211, 221:
1127 seta cl_weaponpriority1 "13 7 6 5 1" // energy        (Nex Crylink Electro Laser)
1128 seta cl_weaponpriority2 "7 3"        // hitscan exact (Nex MG)
1129 seta cl_weaponpriority3 "7 3 2"      // hitscan all   (Nex MG Shotgun)
1130 seta cl_weaponpriority4 "13 8 6 5 2" // spam          (Hagar Crylink Electro Shotgun)
1131 seta cl_weaponpriority5 "1 12 10"    // for moving    (Laser Hook Port-O-Launch)
1132 seta cl_weaponpriority6 ""
1133 seta cl_weaponpriority7 ""
1134 seta cl_weaponpriority8 ""
1135 // impulse 209, 219, 229:
1136 seta cl_weaponpriority9 ""
1137
1138 // NOTE: this only replaces weapons on the map
1139 // use g_start_weapon_* to also replace the on-startup weapons!
1140 // example: g_weaponreplace_nex "nex minstanex", then Nexes become MinstaNexes 50% of the times
1141 // set the cvars to "0" to totally disable a weapon
1142 set g_weaponreplace_laser ""
1143 set g_weaponreplace_shotgun ""
1144 set g_weaponreplace_uzi ""
1145 set g_weaponreplace_grenadelauncher ""
1146 set g_weaponreplace_electro ""
1147 set g_weaponreplace_crylink ""
1148 set g_weaponreplace_nex ""
1149 set g_weaponreplace_hagar ""
1150 set g_weaponreplace_rocketlauncher ""
1151 set g_weaponreplace_porto ""
1152 set g_weaponreplace_minstanex ""
1153 set g_weaponreplace_hook ""
1154 set g_weaponreplace_seeker ""
1155 set g_weaponreplace_hlac ""
1156
1157 seta sv_status_privacy 1 // hide IP addresses from "status" replies shown to clients
1158
1159 // workaround for broken subdivisions in DP
1160 // remove this once DP can subdivide nearby/touching patches the same way
1161 r_subdivisions_mintess 3
1162 r_subdivisions_maxtess 3
1163 r_subdivisions_tolerance 1000000
1164
1165 seta cl_teamradar 1
1166 seta cl_teamradar_background_alpha 0.4 // set to -1 to disable
1167 seta cl_teamradar_foreground_alpha 0.8 // alpha of the map
1168 seta cl_teamradar_scale 4096
1169 seta cl_teamradar_rotation 0 // rotation mode: you set what points up. 0 = player, 1 = west, 2 = south, 3 = east, 4 = north
1170 seta cl_teamradar_size "128 128"
1171 seta cl_teamradar_position "0 0" // 1 1 would be lower right corner, 0.5 0.5 the center (ARGH) :P
1172 seta cl_teamradar_zoommode 0 // zoom mode: 0 = zoomed by default, 1 = zoomed when +zoom, 2 = always zoomed, 3 = always zoomed out
1173 alias cl_teamradar_rotate "toggle cl_teamradar_rotation 0 1 2 3 4"
1174
1175 set g_maplist_allow_hidden 1 // allow hidden maps to be, e.g., voted for and in the maplist
1176
1177 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
1178         if_dedicated set g_start_delay 15
1179
1180 alias ons_map           "cl_cmd radar" // legacy alias
1181 alias radar             "cl_cmd radar"
1182 alias sbar_columns_set  "cl_cmd sbar_columns_set $*"
1183 alias sbar_columns_help "cl_cmd sbar_columns_help $*"
1184
1185 alias _gl_flashblend_update_00 "gl_flashblend 1"
1186 alias _gl_flashblend_update_10 "gl_flashblend 0"
1187 alias _gl_flashblend_update_01 "gl_flashblend 0"
1188 alias _gl_flashblend_update_11 "gl_flashblend 0"
1189 alias gl_flashblend_update "_gl_flashblend_update_$r_shadow_realtime_dlight$r_showsurfaces"
1190
1191 set sv_clones 0 // number of clones a player may make (reset by the "kill" command) a04191b92fbd93aa67214ef7e72d6d2e
1192
1193 set cl_handicap 1 // the higher, the more damage you will receive (client setting)
1194
1195 exec turrets.cfg
1196
1197 // must be at the bottom of this file:
1198 // alias for switching the teamselect menu
1199 alias menu_showteamselect "menu_cmd directmenu TeamSelect"
1200 alias menu_sync "menu_cmd sync"
1201 bind f5 menu_showteamselect
1202
1203 set g_bugrigs 0
1204 set g_bugrigs_planar_movement 1 // BROTRR bug emulation
1205 set g_bugrigs_planar_movement_car_jumping 1 // my own bug
1206 set g_bugrigs_reverse_speeding 1 // BROTRR bug emulation
1207 set g_bugrigs_reverse_spinning 1 // BROTRR bug emulation
1208 set g_bugrigs_reverse_stopping 1 // BROTRR bug emulation
1209 set g_bugrigs_air_steering 1 // NFS bug emulation
1210 set g_bugrigs_angle_smoothing 5 // smooth the car angle a bit, looks nice
1211 set g_bugrigs_friction_floor 50 // units/sec friction on floor
1212 set g_bugrigs_friction_brake 950 // units/sec friction for braking
1213 set g_bugrigs_friction_air 0.00001 // (very small) v <- v - v^2 * g_bugrigs_friction_air
1214 set g_bugrigs_accel 800 // acceleration
1215 set g_bugrigs_speed_ref 400 // reference speed for accel and steer responsiveness
1216 set g_bugrigs_speed_pow 2 // reference power for accel and steer responsiveness
1217 set g_bugrigs_steer 1 // steering amount
1218
1219 set g_touchexplode 0
1220 set g_touchexplode_radius 50
1221 set g_touchexplode_damage 10
1222 set g_touchexplode_edgedamage 0
1223 set g_touchexplode_force 150