add completion for "exec"
[divverent/nexuiz.git] / data / default.cfg
1 // changes a cvar and reports it to the server (for the menu to notify the
2 // server about changes)
3 alias setreport "set $1 $2 ; sendcvar $1"
4
5 // Nexuiz version (formatted for humans)
6 set g_nexuizversion 2.3svn
7
8 // Nexuiz version (formatted for machines)
9 // used to determine if a client version is compatible
10 // this doesn't have to be bumped with every release
11 // bump when clients become incompatible or any other perfectly good reason
12 // (e.g. game data incompatibility, engine version incompatibility, etc
13 // note: this automatically filters the server browser, clients of the new
14 // version won't see old servers, and clients of the old version won't see new
15 // servers either
16 //
17 // e.g. Nexuiz 1.5.1 RC1 will be 15101
18 gameversion 20000
19
20 // say aliases
21 alias asay_ctf_flagcarrier "say_team flag carrier at %y"
22 alias asay_ctf_haveflag "say_team (%l) have the flag"
23 alias asay_willgo "say_team will go to %y"
24 alias asay_support "say_team (%l) need help, %h%%"
25 alias asay_killed "say_team got killed at %d"
26 alias asay_noammo "say_team (%l) need %W for %w"
27 alias asay_drop "say_team (%l) dropped %w ; impulse 17"
28
29 // other aliases
30 alias +hook +button6
31 alias -hook -button6
32 alias ready "cmd ready"
33
34 alias bsp "ls maps/*.bsp"
35 alias mapcfg "ls maps/*.mapcfg"
36 alias chmap "exec $exit_cfg ; exec game_reset.cfg; exec maps/$1.mapcfg"
37 alias gotomap "sv_cmd gotomap \"$1\""
38 alias reset "exec game_reset.cfg"
39
40 alias dem "ls demos/*.dem"
41 alias rec "record demos/$1"
42 alias ply "playdemo demos/$1"
43 alias tdem "timedemo demos/$1"
44
45 alias dropweapon "impulse 17"
46 alias +show_info +button7
47 alias -show_info -button7
48
49 alias team_red "cmd selectteam red; cmd join"
50 alias team_blue "cmd selectteam blue; cmd join"
51 alias team_pink "cmd selectteam pink; cmd join"
52 alias team_yellow "cmd selectteam yellow; cmd join"
53 alias team_auto "cmd selectteam auto; cmd join"
54 bind f6 team_auto
55
56 // merge lightmaps up to 1024x1024 textures
57 // the default of 2048x2048 is too heavy for my rig (SavageX)
58 mod_q3bsp_lightmapmergepower 3
59
60 // player defaults
61 _cl_color 102
62 _cl_name Player
63 _cl_playermodel models/player/marine.zym
64 _cl_playerskin 0
65 crosshair 5
66 fov 90
67 seta cl_zoomfactor 5  // how much +zoom will zoom (1-16)
68 seta cl_zoomspeed 3.5 // how fast it will zoom (0.5-16), negative values mean instant zoom
69 freelook 1
70 sensitivity 6
71 seta scmenu_mouse_speed 1
72 set scmenu_directmenu ""
73 v_gamma 1.125000
74 viewsize 110
75 bgmvolume 1
76 volume 0.5
77 // fullscreen 800x600x32bit
78 vid_bitsperpixel 32
79 vid_fullscreen 1
80 vid_width 1024
81 vid_height 768
82 // 2D resolution 800x600
83 vid_conwidth 800
84 vid_conheight 600
85 set sbar_hudselector 0 // use the old nexuiz hud layout
86 v_deathtilt 0 // needed for spectators (who are dead to avoid prediction)
87
88 // these settings determine how much the view is affected by movement/damage
89 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
90 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
91 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
92 cl_rollangle 0 // amount of view tilt when strafing, default is 2.0
93 v_kicktime 0   // how long damage kicks of the view last, default is 0.5 seconds
94 gl_polyblend 1 // whether to use screen tints, default is 1
95
96 // nexuiz-linux-*.sh will use this
97 seta vid_x11_display ""
98 // This can have three possible settings:
99 //   ""            run as usual
100 //   ":n"          use DISPLAY=:n, create it if needed
101 //   ":n/layout"   use DISPLAY=:n, create it if needed with ServerLayout layout
102
103 cl_autodemo_nameformat demos/%Y-%m-%d_%H-%M
104
105 // server settings
106 hostname "Nexuiz Server"
107 set sv_mapchange_delay 5
108 set minplayers 0
109 sv_cullentities_trace 1
110 r_cullentities_trace 1
111
112 // restart server if all players hit "ready"-button
113 set sv_ready_restart 0
114
115 // use default physics
116 exec physicsQBR.cfg
117
118 seta sv_precacheplayermodels 1
119 seta sv_precacheweapons 0
120 seta sv_precacheitems 0
121 set sv_spectator_speed_multiplier 1.5
122 seta sv_spectate 1
123 seta sv_defaultcharacter 0
124 seta sv_defaultplayermodel models/player/nexus.zym
125 seta sv_defaultplayerskin 0
126 seta sv_defaultplayermodel_red "" // "" means see sv_defaultplayermodel
127 seta sv_defaultplayerskin_red 0
128 seta sv_defaultplayermodel_blue ""
129 seta sv_defaultplayerskin_blue 0
130 seta sv_defaultplayermodel_yellow ""
131 seta sv_defaultplayerskin_yellow 0
132 seta sv_defaultplayermodel_pink ""
133 seta sv_defaultplayerskin_pink 0
134 seta sv_defaultplayercolors "" // set to 16*shirt+pants to force a color, note: it does NOT depend on defaultcharacter! Set to "" to disable
135 set sv_autoscreenshot 0
136 net_messagetimeout 300
137 net_connecttimeout 30
138 sv_jumpstep 1 // step up stairs while jumping, makes it easier to reach ledges
139 set ekg 0
140
141 cl_movement 1
142 seta cl_autoswitch 1
143 cl_netinputpacketlosstolerance 0
144 cl_stairsmoothspeed 200
145 cl_forwardspeed $sv_maxspeed
146 cl_backspeed $sv_maxspeed
147 cl_sidespeed $sv_maxspeed
148 cl_upspeed $sv_maxspeed
149 cl_movement_accelerate $sv_accelerate
150 cl_movement_edgefriction $edgefriction
151 cl_movement_friction $sv_friction
152 cl_movement_jumpvelocity $sv_jumpvelocity
153 cl_movement_maxairspeed $sv_maxairspeed
154 cl_movement_maxspeed $sv_maxspeed
155 cl_movement_stepheight $sv_stepheight
156 cl_movement_track_canjump 0 // till DP bug gets fixed
157
158 seta cl_playerdetailreduction 0 // the higher, the less detailed
159
160 set bot_number 0 // number of bots in server
161 seta bot_usemodelnames 0 // whether bots should be named after the models
162 set bot_nofire 0 // makes bots not attack at all, mainly for testing in g_waypointeditor mode
163 seta bot_prefix [BOT]
164 seta bot_suffix ""
165 seta skill_auto 0 // when 1, "skill" gets adjusted to match the best player on the map
166 // general bot AI cvars
167 set bot_ai_strategyinterval 2
168 set bot_ai_enemydetectioninterval 0.5
169 set bot_ai_aimskill_blendrate 2
170 set bot_ai_aimskill_fixedrate 15
171 set bot_ai_aimskill_firetolerance_distdegrees 180
172 set bot_ai_aimskill_firetolerance_mindegrees 2
173 set bot_ai_aimskill_firetolerance_maxdegrees 45
174 set bot_ai_aimskill_mouse 1
175 set bot_ai_keyboard_distance 250
176 set bot_ai_keyboard_treshold 0.94
177 set bot_ai_aimskill_offset 1
178 set bot_ai_aimskill_think 1
179 // Better don't touch these, there are hard to tweak!
180 set bot_ai_aimskill_order_mix_1st 0.01
181 set bot_ai_aimskill_order_mix_2nd 0.1
182 set bot_ai_aimskill_order_mix_3th 0.01
183 set bot_ai_aimskill_order_mix_4th 0.05
184 set bot_ai_aimskill_order_mix_5th 0.01
185 set bot_ai_aimskill_order_filter_1st 0.2
186 set bot_ai_aimskill_order_filter_2nd 0.2
187 set bot_ai_aimskill_order_filter_3th 0.05
188 set bot_ai_aimskill_order_filter_4th 0.25
189 set bot_ai_aimskill_order_filter_5th 0.3
190
191 // waypoint editor enable
192 set g_waypointeditor 0
193 set bot_ignore_bots 0
194 set bot_join_empty 0
195 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)
196
197 alias g_waypointeditor_spawn "impulse 103"
198 alias g_waypointeditor_remove "impulse 104"
199 alias g_waypointeditor_relinkall "impulse 105"
200 alias g_waypointeditor_saveall "impulse 106"
201
202 locs_enable 0
203 pausable 0
204 set g_antilag 0
205 set g_shootfromeye 0
206 set g_shootfromcenter 0
207 set g_weapon_stay 0
208 set g_powerup_superhealth 1
209 set g_powerup_strength 1
210 set g_powerup_shield 1
211 set g_use_ammunition 1
212 set g_pickup_items 1
213 set g_instagib 0
214 set g_minstagib 0               // enable minstagib
215 set g_minstagib_extralives 2    // how many extra lives you will get per powerup
216 set g_minstagib_ammo_start 10   // starting ammo
217 set g_minstagib_ammo_drop 5     // how much ammo you'll get for weapons or cells
218 set g_minstagib_invis_alpha 0.05
219 set g_minstagib_speed_jumpheight 1.8
220 set g_minstagib_speed_moverate 1.25
221 set g_rocketarena 0
222 set g_vampire 0
223 set g_laserguided_missile 0
224 set g_midair 0
225 set g_midair_shieldtime 0.3
226 set g_spawnshieldtime 0
227 set g_spawnsound 1
228 set g_spawnpoints_autodrop 0
229 set g_forced_respawn 0
230 set g_fullbrightplayers 0
231 set g_fullbrightitems 0
232 set g_casings 0
233 set g_norecoil 0
234 set g_throughfloor 1
235 set g_maplist_mostrecent ""
236 seta g_maplist_mostrecent_count 3 // number of most recent maps that are blocked from being played again
237 seta g_maplist "aggressor aneurysm basement basementctf bleach bloodprison bluesky darkzone dieselpower dismal downer evilspace farewell final_rage reslimed ruiner runningman runningman_1on1remix runningmanctf silvercity skyway slimepit soylent starship stormkeep strength toxic warfare"
238 seta g_maplist_index 0 // this is used internally for saving position in maplist cycle
239 seta g_maplist_selectrandom 0 // if 1, a random map will be chosen as next map - DEPRECATED in favor of g_maplist_shuffle
240 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.
241 // timeout for kill credit when your damage knocks someone into a death trap
242 set g_maxpushtime 8.0
243
244 set g_cloaked 0
245 set g_player_alpha 1
246 set g_player_brightness 0 // set to 2 for brighter players
247 seta g_balance_cloaked_alpha 0.25
248
249 set welcome_message_time                8
250
251 set exit_cfg empty.cfg
252 alias clearmap  "disconnect; exec $exit_cfg"
253
254 seta g_grappling_hook 0
255 set g_balance_grapplehook_health 130
256 exec newhook.cfg
257
258 // this means that timelimit can be overidden globally and fraglimit can be overidden for each game mode: DM/TDM, Domination, CTF, and Runematch.
259 seta timelimit_override -1
260 seta fraglimit_override -1
261 seta g_ctf_capture_limit -1
262 seta g_domination_point_limit -1
263 seta g_runematch_point_limit -1
264 seta g_keyhunt_point_limit -1
265
266 // respawn delay
267 set g_respawn_delay 2
268 set g_respawn_waves 0
269 // when variables are set to 0, they take over the global setting...
270 // to force disable delay or waves, set them to 0.125
271 set g_ctf_respawn_delay 0
272 set g_ctf_respawn_waves 0
273 set g_dm_respawn_delay 0
274 set g_dm_respawn_waves 0
275 set g_dom_respawn_delay 0
276 set g_dom_respawn_waves 0
277 set g_lms_respawn_delay 0
278 set g_lms_respawn_waves 0
279 set g_rune_respawn_delay 0
280 set g_rune_respawn_waves 0
281 set g_tdm_respawn_delay 0
282 set g_tdm_respawn_waves 0
283 // honor g_respawn_mapsettings_delay and g_respawn_mapsettings_waves
284 set g_respawn_mapsettings 1
285
286 // maximum overtime
287 seta timelimit_maxovertime 5
288
289 // common team values
290 set  g_tdm                              0
291
292 seta teamplay_default                   4       // default teamplay setting in team games
293   // 1 = no friendly fire, self damage
294   // 2 = friendly fire and self damage enabled
295   // 3 = no friendly fire, but self damage enabled
296   // 4 = obey the following two cvars
297 seta g_mirrordamage 0.2              // for teamplay 4: mirror damage factor
298 seta g_friendlyfire 0.0              // for teamplay 4: fiendly fire factor
299
300 set deathmatch_force_teamplay           0       // always play TDM on dm maps
301 seta g_balance_teams                    0       // automatically balance out players entering instead of asking them for their preferred team
302 seta g_balance_teams_force              0       // automatically balance out teams when players move or disconnect
303 seta g_balance_teams_complain   0   // when 1, complain when team balance is off
304 seta g_balance_teams_prevent_imbalance  0       // prevent players from changing to larger teams
305 seta g_tdm_teams                        2       // how many teams are in team deathmatch
306 set g_changeteam_banned                 0       // not allowed to change team
307 set g_changeteam_fragtransfer           0       // % of frags you get to keep when you change teams (rounded down)
308
309 // dm
310 set g_dm 1 // actually, this is a dummy cvar just to make the menu happy
311
312 // ctf
313 set g_ctf                               0
314 set g_ctf_flag_returntime               30
315 set g_ctf_flagscore_capture             20
316 set g_ctf_flagscore_capture_team        0
317 set g_ctf_flagscore_pickup              1
318 set g_ctf_flagscore_return              5
319 set g_ctf_flagscore_return_rogue        10
320
321 // runematch
322 set g_runematch                                         0
323 set g_runematch_pointrate                               5
324 set g_runematch_pointamt                                        1
325 set g_runematch_shuffletime                             30 // how often runes change position
326 set g_runematch_respawntime                             15 // how soon after being dropped to respawn
327 set g_runematch_frags_killedby_runeholder               4
328 set g_runematch_frags_killed_runeholder                 5
329 set g_runematch_frags_norune                            0
330 set g_runematch_drop_runes_max                          2 // only drop up to 2 runes, the rest should respawn
331 set g_runematch_allow_same                              0 // allow matching rune-curse pairs
332 set g_runematch_rune_alpha                              0.78
333 set g_runematch_rune_effects                            544 // EF_ADDITIVE + EF_FULLBRIGHT
334 set g_runematch_rune_glow_size                          0
335 set g_runematch_rune_glow_color                         0
336 set g_runematch_rune_color_strength                     1.0 //1.5
337 // strength/weakness
338 set g_balance_rune_strength_damage                      2.0 //1.5
339 set g_balance_rune_strength_force                       1.5
340 set g_balance_curse_weak_damage                         0.5 //0.6
341 set g_balance_curse_weak_force                          0.6
342 set g_balance_rune_strength_combo_damage        0.9
343 set g_balance_rune_strength_combo_force                 1.0
344 // defense/vulner
345 set g_balance_rune_defense_takedamage                   0.5
346 set g_balance_curse_vulner_takedamage                   2.0
347 set g_balance_rune_defense_combo_takedamage             1.0
348 // vampire/empathy
349 set g_balance_rune_vampire_absorb                       0.4
350 set g_balance_curse_empathy_takedamage                  -0.4
351 set g_balance_rune_vampire_combo_absorb                 -0.1
352 set g_balance_rune_vampire_maxhealth                    500
353 set g_balance_curse_empathy_minhealth                   20
354 set g_balance_rune_vampire_combo_minhealth              40
355 // regen/venom
356 set g_balance_rune_regen_hpmod                          1.75
357 set g_balance_curse_venom_hpmod                         0.6
358 set g_balance_rune_regen_combo_hpmod                    0.9
359 set g_balance_rune_regen_regenrate                      3.0
360 set g_balance_curse_venom_rotrate                       3.0 //2
361 set g_balance_rune_regen_combo_regenrate        0.5
362 set g_balance_rune_regen_combo_rotrate                  1.5
363 set g_balance_rune_regen_limitmod                       1
364 set g_balance_curse_venom_limitmod                      1
365 set g_balance_rune_regen_combo_limitmod                 1
366 // speed/slow
367 set g_balance_rune_speed_atkrate                                0.66
368 set g_balance_curse_slow_atkrate                                1.5
369 set g_balance_rune_speed_combo_atkrate                  1.2
370 set g_balance_rune_speed_moverate                       1.25
371 set g_balance_curse_slow_moverate                       0.8
372 set g_balance_rune_speed_combo_moverate                 0.9
373 set g_balance_rune_speed_jumpheight                     1.4
374 set g_balance_curse_slow_jumpheight                     1.0
375 set g_balance_rune_speed_combo_jumpheight               1.0
376
377 // domination
378 set g_domination                        0
379 set g_domination_default_teams          2 // default number of teams for maps that aren't domination-specific
380 set g_domination_disable_frags          0 // players can't get frags normally, only get points from kills
381 set g_domination_point_amt              0 // override: how many points to get per ping
382 set g_domination_point_teamamt  0 // override: how many team points to get per ping
383 set g_domination_point_rate             0 // override: how often to give those points
384 set g_domination_point_capturetime      0.1 // how long it takes to capture a point (given no interference)
385 set g_domination_point_glow             0 // domination point glow (warning, slow)
386 //set g_domination_balance_team_points  1 // # of points received is based on team sizes
387
388 // last man standing
389 set g_lms 0
390 set g_lms_lives_override -1
391 set g_lms_start_health 250
392 set g_lms_start_armor 100
393 set g_lms_start_ammo_shells 50
394 set g_lms_start_ammo_nails 150
395 set g_lms_start_ammo_rockets 50
396 set g_lms_start_ammo_cells 50
397 set g_lms_regenerate 0
398 set g_lms_campcheck_interval 10
399 set g_lms_campcheck_message "^1Don't camp!"
400 set g_lms_campcheck_damage 100
401 set g_lms_campcheck_distance 1800
402 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
403 set g_lms_join_anytime 1                // if true, new players can join, but get same amount of lives as the worst player
404
405 // arena
406 set g_arena 0
407 set g_arena_maxspawned 2        // maximum number of players to spawn at once (the rest is spectating, waiting for their turn)
408 set g_arena_roundbased 1        // if disabled, the next player will spawn as soon as someone dies
409 set g_arena_warmup 5            // time, newly spawned  players have to prepare themselves in round based matches
410 set g_arena_powerups 0          // enables powerups (superhealth, strength and shield), which are removed by default
411
412 // onslaught
413 set g_onslaught 0
414
415 // assault
416 set g_assault 0
417
418 // server game balance settings
419 set g_balance_armor_regen 0
420 set g_balance_armor_rot 0.1
421 set g_balance_armor_regenlinear 0
422 set g_balance_armor_rotlinear 0
423 set g_balance_armor_stable 100
424 set g_balance_armor_limit 999
425 set g_balance_armor_start 0
426 set g_balance_armor_blockpercent 0.6
427 set g_balance_health_regen 0.1
428 set g_balance_health_rot 0.1
429 set g_balance_health_regenlinear 0
430 set g_balance_health_rotlinear 0
431 set g_balance_health_stable 100
432 set g_balance_health_limit 999
433 set g_balance_health_start 150
434 set g_balance_selfdamagepercent 0.6
435 set g_balance_weaponswitchdelay 0.15
436 // powerup balance settings
437 set g_balance_powerup_invincible_takedamage 0.2
438 set g_balance_powerup_invincible_time 30
439 set g_balance_powerup_strength_damage 3
440 set g_balance_powerup_strength_force 4
441 set g_balance_powerup_strength_time 30
442
443 // weapon balance settings follow
444 exec weapons.cfg
445
446 set g_balance_falldamage_deadminspeed 150
447 set g_balance_falldamage_minspeed 1400
448 set g_balance_falldamage_factor 0.15
449 set g_balance_falldamage_maxdamage 25
450
451 set g_balance_pause_armor_rot 5
452 set g_balance_pause_health_rot 5
453 set g_balance_pause_health_regen 5
454 set g_balance_pause_armor_rot_spawn 10
455 set g_balance_pause_health_rot_spawn 10
456 set g_balance_pause_health_regen_spawn 0
457
458 set g_footsteps 0 // serverside footstep sounds
459
460 // effects
461 r_picmipsprites 0 // Nexuiz uses sprites that should never be picmipped (team mate, typing, waypoints)
462 r_mipsprites 1
463 r_mipskins 1
464 r_shadow_realtime_world_lightmaps 1
465 seta r_ambient 0
466 cl_decals_fadetime 1
467 cl_decals_time 2
468 seta cl_nogibs 0
469 cl_stainmaps 0
470 cl_particles_explosions_smokes 1
471 r_glsl 1
472 r_glsl_deluxemapping 1
473 r_glsl_offsetmapping 0
474 r_glsl_offsetmapping_reliefmapping 0
475 r_glsl_offsetmapping_scale 0.02
476 // execute normal.cfg to make sure that all effect settings are reset
477 alias menu_sync "" // will be re-aliased later
478 exec normal.cfg
479
480 // misc
481 fs_empty_files_in_pack_mark_deletions 1 // makes patches able to delete files
482 scr_conalpha 0.8
483 scr_conbrightness 0.2
484 scr_screenshot_jpeg 1
485 scr_screenshot_jpeg_quality 0.9
486 sv_maxvelocity 1000000000
487 cl_sound_wizardhit ""
488 cl_sound_hknighthit ""
489 cl_sound_tink1 weapons/tink1.wav
490 cl_sound_ric1 weapons/ric1.wav
491 cl_sound_ric2 weapons/ric2.wav
492 cl_sound_ric3 weapons/ric3.wav
493 cl_sound_r_exp3 ""
494 sv_sound_land ""
495 sv_sound_watersplash ""
496 sv_clmovement_waitforinput 4
497
498 // disable joysticks
499 // set them to "" first so this won't override the default value to 0 to make sure the menu can detect whether joystick is supported
500 set joystick ""
501 set joystick 0
502 set joy_enable ""
503 set joy_enable 0
504
505 // startmap_dm is used when running with the -listen or -dedicated commandline options
506 alias startmap_sp "set _sv_init 1; map aggressor"
507 alias startmap_dm "set _sv_init 1; map aggressor"
508
509 // aliases:
510 alias +attack2 +button3
511 alias -attack2 -button3
512 alias +zoom +button4
513 alias -zoom -button4
514 alias +crouch +button5
515 alias -crouch -button5
516 alias weapnext "impulse 10"
517 alias weaplast "impulse 11"
518 alias weapprev "impulse 12"
519
520 // movement
521 bind w +forward
522 bind a +moveleft
523 bind s +back
524 bind d +moveright
525 bind UPARROW +forward
526 bind LEFTARROW +moveleft
527 bind DOWNARROW +back
528 bind RIGHTARROW +moveright
529 bind SHIFT +crouch
530 bind ENTER +jump
531 bind SPACE +jump
532
533 // weapons
534 bind 1 "impulse 1"
535 bind 2 "impulse 2"
536 bind 3 "impulse 3"
537 bind 4 "impulse 4"
538 bind 5 "impulse 5"
539 bind 6 "impulse 6"
540 bind 7 "impulse 7"
541 bind 8 "impulse 8"
542 bind 9 "impulse 9"
543 bind 0 "impulse 210"
544 bind MOUSE1 +attack
545 bind MOUSE2 +attack2
546 bind MOUSE3 +zoom
547 bind MOUSE4 weaplast
548 bind MOUSE5 +hook
549 bind MWHEELUP weapnext
550 bind MWHEELDOWN weapprev
551 bind BACKSPACE dropweapon
552 bind g dropweapon
553 bind f +use
554
555 // misc
556 bind e +hook
557 bind ` toggleconsole
558 bind ~ toggleconsole
559 bind TAB +showscores
560 bind ESCAPE togglemenu
561 bind r messagemode2
562 bind t messagemode
563 bind y messagemode2
564 bind i +show_info
565 bind PAUSE pause
566 bind F10 quit
567 bind F11 disconnect
568 bind F12 screenshot
569 bind F4 ready
570
571 // team say
572 bind kp_ins messagemode
573 bind kp_del messagemode2
574 bind kp_end "say_team quad soon"
575 bind kp_downarrow "say_team free item %x^7 (%y^7);g_waypointsprite_team_here_p"
576 bind kp_pgdn "say_team took item (%l^7);g_waypointsprite_team_here"
577 bind kp_leftarrow "say_team negative"
578 bind kp_5 "say_team need help (%l^7) (%h^7 %a^7 %w^7);g_waypointsprite_team_helpme"
579 bind kp_rightarrow "say_team enemy seen (%y^7);g_waypointsprite_team_danger_p"
580 bind kp_home "say_team defending (%l^7) (%h^7 %a^7 %w^7);g_waypointsprite_team_here"
581 bind kp_uparrow "say_team roaming (%l^7) (%h^7 %a^7 %w^7);g_waypointsprite_team_here"
582 bind kp_pgup "say_team attacking (%l^7) (%h^7 %a^7 %w^7);g_waypointsprite_team_here"
583 bind kp_multiply "say_team killed flagcarrier (%y^7);g_waypointsprite_team_p"
584 bind kp_slash "say_team dropped flag (%d^7);g_waypointsprite_team_here_d"
585 bind kp_enter "say :-) / nice one"
586 bind kp_plus "say good game"
587 bind kp_minus "say hi / good luck and have fun"
588
589 // these commands can be voted
590 set sv_vote_commands "restart timelimit fraglimit chmap gotomap g_grappling_hook sv_defaultplayer_fbskin_green sv_defaultplayer_fbskin_red sv_defaultplayer_fbskin_orange sv_defaultplayer_fbskin_off endmatch reducematchtime extendmatchtime"
591 // users can call a vote for the above commands
592 set sv_vote_call 1
593 // users can call a vote to become master
594 set sv_vote_master 1
595 // when set, users can use "vdo login (password)" to log in as master
596 set sv_vote_master_password ""
597 // set to 1 to allow to change you vote/mind
598 set sv_vote_change 0
599 // set to 1 to count votes once after timeout or to 0 to count with every vote
600 set sv_vote_singlecount 0
601 // a vote will timeout after this many seconds
602 set sv_vote_timeout 60
603 // a player can not call a vote again for this many seconds
604 set sv_vote_wait 120
605 // a simple majority suffices to accept a vote (meaning: YES votes > NO votes, otherwise: YES votes > half of the players)
606 set sv_vote_simple_majority 0
607 // when disabled, don't allow game type changes
608 set sv_vote_change_gametype 0
609 // when enabled, votes may override the most recent map list and change to such a map anyway
610 set sv_vote_override_mostrecent 0
611 alias vhelp "cmd vote help"
612 alias vstatus "cmd vote status"
613 alias vcall "cmd vote call $*"
614 alias vstop "cmd vote stop"
615 alias vmaster "cmd vote master"
616 alias vdo "cmd vote do $*"
617 alias vyes "cmd vote yes"
618 alias vno "cmd vote no"
619 bind F1 vyes
620 bind F2 vno
621
622 //used for spectate/observer mode
623 alias spec "cmd spectate"
624 bind F3 spec
625
626 // alias for switching the teamselect menu
627 alias menu_showteamselect "menu_cmd directmenu TeamSelect"
628 alias menu_sync "menu_cmd sync"
629 bind f5 menu_showteamselect
630
631 // NixNex (No-Items x Nexuiz) - at each time, everyone uses the same weapon,
632 // and in regular intervals, this weapon is cycled
633 set g_nixnex 0
634 set g_nixnex_with_laser 0
635 // TODO these need balancing:
636 set g_balance_nixnex_roundtime 25
637 set g_balance_nixnex_incrtime 1.6
638 // initial ammo
639 set g_balance_nixnex_ammo_shells 15
640 set g_balance_nixnex_ammo_nails 45
641 set g_balance_nixnex_ammo_rockets 15
642 set g_balance_nixnex_ammo_cells 15
643 // ammo increment per second
644 set g_balance_nixnex_ammoincr_shells 2
645 set g_balance_nixnex_ammoincr_nails 6
646 set g_balance_nixnex_ammoincr_rockets 2
647 set g_balance_nixnex_ammoincr_cells 2
648
649 // score log
650 set sv_logscores_console 0              // print scores to server console
651 set sv_logscores_file 0                 // print scores to file
652 set sv_logscores_filename scores.log    // filename
653 set sv_logscores_bots 0                 // exclude bots by default
654
655 // spam (frag/capture) log
656 set sv_eventlog 0 // the master switch for efficiency reasons
657 set sv_eventlog_console 1
658 set sv_eventlog_files 0
659 seta sv_eventlog_files_counter 0
660 set sv_eventlog_files_nameprefix nexuiz
661 set sv_eventlog_files_namesuffix .log
662
663 set nextmap "" // override the maplist when switching to the next map
664 set lastlevel ""
665 set quit_when_empty 0 // set to 1, then the server exits when the next level would start but is empty
666 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)
667
668 // singleplayer campaign
669 set g_campaign 0
670 seta g_campaign_name ""
671 seta g_campaign_index 0
672 set g_campaign_skill 0
673
674 alias singleplayer_start "g_campaign_index 0; set scmenu_campaign_goto 0"
675 alias singleplayer_continue "set scmenu_campaign_goto -1"
676 alias singleplayer_levellist "set scmenu_campaign_dump 1; togglemenu; wait; togglemenu"
677
678 // Green's fullbright skins
679 alias player_fbskin_green "playermodel models/player/nexus.zym;playerskin 6;color 3 3"
680 alias player_fbskin_red "playermodel models/player/nexus.zym;playerskin 6;color 4 4"
681 alias player_fbskin_orange "playermodel models/player/nexus.zym;playerskin 6;color 14 14"
682 alias player_fbskin_off "playermodel models/player/nexus.zym;playerskin 0"
683 alias sv_defaultplayer_fbskin_green "g_fullbrightplayers 1;sv_defaultcharacter 1;sv_defaultplayermodel models/player/nexus.zym;sv_defaultplayerskin 6;sv_defaultplayercolors 51"
684 alias sv_defaultplayer_fbskin_red "g_fullbrightplayers 1;sv_defaultcharacter 1;sv_defaultplayermodel models/player/nexus.zym;sv_defaultplayerskin 6;sv_defaultplayercolors 68"
685 alias sv_defaultplayer_fbskin_orange "g_fullbrightplayers 1;sv_defaultcharacter 1;sv_defaultplayermodel models/player/nexus.zym;sv_defaultplayerskin 6;sv_defaultplayercolors 238"
686 alias sv_defaultplayer_fbskin_off "g_fullbrightplayers 0;sv_defaultcharacter 0;sv_defaultplayerskin 0;sv_defaultplayercolors \"\""
687
688 seta sv_servermodelsonly 1
689
690 cl_curl_enabled 1
691 cl_curl_maxspeed 300
692 sv_curl_defaulturl "http://www.nexuiz.com/contentdownload/getmap.php?file="
693
694 set sv_motd ""
695
696 seta cl_shownames 1 // show player names pointed to (0: never, 1: teamplay only, 2: always)
697 set sv_allow_shownames 1
698
699 net_banlist ""
700 seta _alientrap_net_banlist ""
701
702 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
703
704 set g_projectiles_newton_style 2
705 // possible values:
706 //   0: absolute velocity projectiles (like Quake)
707 //   1: relative velocity projectiles, "Newtonian" (like Tribes 2)
708 //   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)
709 //   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)
710 //   4: just add the player velocity length to the absolute velocity (tZork's sniper rockets)
711
712 seta g_maplist_votable 5
713 seta g_maplist_votable_keeptwotime 15
714 seta g_maplist_votable_timeout 30 // note: must be below 50 seconds!
715 seta g_maplist_votable_suggestions 2
716 seta g_maplist_votable_suggestions_change_gametype 0
717 seta g_maplist_votable_suggestions_override_mostrecent 0
718 seta g_maplist_votable_nodetail 0 // nodetail only shows total count instead of all vote counts per map, so votes don't influence others that much
719 seta g_maplist_votable_abstain 0 // when 1, you can abstain from your vote
720 alias suggestmap "cmd suggestmap $1"
721
722 set g_chat_flood_spl 0                   // seconds between lines to not count as flooding
723 set g_chat_flood_lmax 0                  // maximum number of lines per chat message at once
724 set g_chat_flood_burst 0                 // allow bursts of so many chat lines
725 set g_chat_flood_spl_team 0              // \
726 set g_chat_flood_lmax_team 0             //  } same for say_team
727 set g_chat_flood_burst_team 0            // /
728 set g_chat_flood_notify_flooder 1        // when 0, the flooder still can see his own message
729 set g_chat_teamcolors 0                  // colorize nicknames in team color for chat
730
731 set g_waypointsprite_normdistance 512
732 set g_waypointsprite_minscale 1
733 set g_waypointsprite_minalpha 0.4
734 set g_waypointsprite_distancealphaexponent 2
735 set g_waypointsprite_timealphaexponent 1
736 set g_waypointsprite_deployed_lifetime 10
737 set g_waypointsprite_deadlifetime 1
738 set g_waypointsprite_limitedrange 5120
739 set g_waypointsprite_stuffbinds 0
740 alias "g_waypointsprite_personal"       "impulse 30"
741 alias "g_waypointsprite_personal_p"     "impulse 31"
742 alias "g_waypointsprite_personal_d"     "impulse 32"
743 alias "g_waypointsprite_team_helpme"    "impulse 33"
744 alias "g_waypointsprite_team_here"      "impulse 34"
745 alias "g_waypointsprite_team_here_p"    "impulse 35"
746 alias "g_waypointsprite_team_here_d"    "impulse 36"
747 alias "g_waypointsprite_team_danger"    "impulse 37"
748 alias "g_waypointsprite_team_danger_p"  "impulse 38"
749 alias "g_waypointsprite_team_danger_d"  "impulse 39"
750 alias "g_waypointsprite_clear_personal" "impulse 47"
751 alias "g_waypointsprite_clear"          "impulse 48"
752 alias "g_waypointsprite_toggle"         "impulse 49"
753 // key for that?
754 seta cl_hidewaypoints 0
755
756 // command extension
757 alias qc_cmd               "sv_cmd $*" // menu QC will override this to menu_cmd
758 alias adminmsg             "sv_cmd adminmsg $*"
759 alias teamstatus           "sv_cmd teamstatus"
760 alias printstats           "sv_cmd printstats" // print status on demand
761 alias g_maplist_add        "qc_cmd maplist add $*"
762 alias g_maplist_remove     "qc_cmd maplist remove $*"
763 alias g_maplist_putfirst   "qc_cmd maplist remove $* ; qc_cmd maplist add $*"
764 alias g_maplist_shufflenow "qc_cmd maplist shuffle"
765
766 // key hunt
767 set g_keyhunt 0
768 set g_balance_keyhunt_delay_return 60
769 set g_balance_keyhunt_delay_round 5
770 set g_balance_keyhunt_delay_tracking 10
771 set g_balance_keyhunt_delay_fadeout 2
772 set g_balance_keyhunt_delay_collect 1.5
773 set g_balance_keyhunt_delay_drop 0.4
774 set g_balance_keyhunt_maxdist 150
775 set g_balance_keyhunt_score_collect 3
776 set g_balance_keyhunt_score_carrierfrag 2
777 set g_balance_keyhunt_score_capture 100
778 set g_balance_keyhunt_score_push 60
779 set g_balance_keyhunt_score_destroyed 50
780 set g_balance_keyhunt_score_destroyed_ownfactor 1
781 set g_balance_keyhunt_dropvelocity 300
782 set g_balance_keyhunt_throwvelocity 400
783 set g_balance_keyhunt_protecttime 0.8
784 set g_balance_keyhunt_damageforcescale 1
785 set g_keyhunt_teams_override 0
786 set g_keyhunt_teams 0 // mapcfgs NEED to specify this!
787
788 // so it can be stuffcmd-ed still
789 set cl_gravity 800 // but ignored anyway
790
791 set g_ban_default_bantime 5400 // 90 minutes
792 set g_ban_default_masksize 3   // whole 255.255.255.0 networks (set to 4 for single IPs)
793 set g_banned_list ""           // format: 1 ip remainingtime ip remainingtime ...
794 alias bans "sv_cmd bans"
795 alias ban "sv_cmd ban $*"         // usage: ban address(maybe incomplete, like 1.2.3) bantime(seconds)
796 alias kickban "sv_cmd kickban $*" // usage: kickban # playerno bantime(seconds) masksize(bytes)
797 alias unban "sv_cmd unban $*"     // usage: unban 3 (number from bans)
798
799 r_labelsprites_scale 0.40625 // labels sprites get displayed at 0.5x from 640x480 to 1280x1024, and at 1x from 1600x1200 onwards
800
801 // settemp subsystem. Do not touch. Usage: settemp variable value; next map resets it.
802 set settemp_list 0
803 set settemp_var _settemp_x
804 alias settemp "settemp_list \"1 $1 $settemp_var $settemp_list\"; set $settemp_var \"${$1}\"; settemp_var ${settemp_var}x; $1 \"$2\""
805 alias settemp_restore "_settemp_restore_${settemp_list asis}"
806 alias _settemp_restore_0 "set settemp_var _settemp_x; set settemp_list 0"
807 alias _settemp_restore_1 "$1 \"${$2}\"; _settemp_restore_${3- asis}"
808
809 // usercommands. These can be edited and bound by the menu.
810 seta "userbind1_press" "";  seta "userbind1_release" "";  seta "userbind1_description" ""
811 seta "userbind2_press" "";  seta "userbind2_release" "";  seta "userbind2_description" ""
812 seta "userbind3_press" "";  seta "userbind3_release" "";  seta "userbind3_description" ""
813 seta "userbind4_press" "";  seta "userbind4_release" "";  seta "userbind4_description" ""
814 seta "userbind5_press" "";  seta "userbind5_release" "";  seta "userbind5_description" ""
815 seta "userbind6_press" "";  seta "userbind6_release" "";  seta "userbind6_description" ""
816 seta "userbind7_press" "";  seta "userbind7_release" "";  seta "userbind7_description" ""
817 seta "userbind8_press" "";  seta "userbind8_release" "";  seta "userbind8_description" ""
818 seta "userbind9_press" "";  seta "userbind9_release" "";  seta "userbind9_description" ""
819 seta "userbind10_press" ""; seta "userbind10_release" ""; seta "userbind10_description" ""
820 seta "userbind11_press" ""; seta "userbind11_release" ""; seta "userbind11_description" ""
821 seta "userbind12_press" ""; seta "userbind12_release" ""; seta "userbind12_description" ""
822 seta "userbind13_press" ""; seta "userbind13_release" ""; seta "userbind13_description" ""
823 seta "userbind14_press" ""; seta "userbind14_release" ""; seta "userbind14_description" ""
824 seta "userbind15_press" ""; seta "userbind15_release" ""; seta "userbind15_description" ""
825 seta "userbind16_press" ""; seta "userbind16_release" ""; seta "userbind16_description" ""
826 alias _userbind_call "${$1}"
827 alias +userbind "_userbind_call userbind${1}_press"
828 alias -userbind "_userbind_call userbind${1}_release"
829
830 seta menu_skin ""
831
832 // loadfont console     gfx/vera-mono
833 // loadfont sbar        gfx/vera-mono
834 loadfont notify      gfx/vera-sans
835 loadfont chat        gfx/vera-sans
836 // loadfont centerprint gfx/vera-mono
837 // loadfont infobar     gfx/vera-mono
838 loadfont user0       gfx/vera-sans
839 r_textbrightness 0.2
840 r_textcontrast 0.8
841 r_textshadow 1
842
843 // good settings for these fonts
844 con_chat 5
845 con_chatpos -7
846 con_chatsize 10
847 con_chatwidth 0.6
848 con_notifysize 10
849 sbar_alpha_bg 0.4
850 sbar_flagstatus_pos 115 
851
852 // for menu server list (eventually make them have engine support?)
853 seta menu_slist_showfull 1
854 seta menu_slist_showempty 1
855
856 // Q3A
857 set sv_q3acompat_machineshotgunswap 0 // settemp this in mapinfo for instant Q3A map conversion
858
859 seta menu_maxplayers 8 // maxplayers value when the menu starts a game
860
861 // useful vote aliases
862 set timelimit_increment 5
863 set timelimit_decrement 5
864 set timelimit_min 5
865 set timelimit_max 60
866 alias extendmatchtime "sv_cmd rpn /timelimit timelimit timelimit_max timelimit timelimit_increment add bound def"
867 alias reducematchtime "sv_cmd rpn /timelimit timelimit timelimit_decrement sub timelimit_min timelimit bound def"
868 alias endmatch "timelimit -1"
869
870 // useful keybind to maximize the chat area temporarily
871 set _backup_con_chatvars_set 0
872 alias _restore_con_chatvars_0 ""
873 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"
874 alias _restore_con_chatvars "_restore_con_chatvars_$_backup_con_chatvars_set"
875 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"
876 alias _backup_con_chatvars_1 ""
877 alias _backup_con_chatvars "_backup_con_chatvars_$_backup_con_chatvars_set"
878 alias +con_chat_maximize "_backup_con_chatvars; con_chatpos -7; con_chat 100; con_notify 0; con_chattime 3600; cl_deathscoreboard 0"
879 alias -con_chat_maximize "_restore_con_chatvars"
880
881 // tab completion
882 set con_completion_playdemo *.dem
883 set con_completion_timedemo *.dem
884 set con_completion_exec     *.cfg