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