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