1
############################################################################################
2
# IMPORTANT: Users should NOT edit this file. Instead, copy the
3
# lines you want to change into a new file named autoexec.cfg
4
# ( either here or in your var directory ).
5
# This file will be overwritten when you upgrade, autoexec.cfg won't.
6
# Be sure to save the file as plain text, not rich text, especially
7
# if you're using TextEdit on a Mac.
8
############################################################################################
10
############################################################################################
14
############################################################################################
16
RESOURCE_REPOSITORY_SERVER http://tr2norigins.net/resource/ # default resource repository, determined by the server
17
RESOURCE_REPOSITORY_CLIENT http://tr2norigins.net/resource/ # fallback resource repository determined on the client (no use changing it on the server)
20
ARENA_AXES 4 # sets the number of possible driving directions (used only when map is axes-independent)
21
MAP_FILE Anonymous/polygon/regular/square-1.0.1.aamap.xml # sets the file path for the map, and if required, the URI to download the map from, in parenthesis
23
############################################################################################
25
############################################################################################
28
#MAP_FILE Your_mom/clever/repeat-0.3.2.aamap.xml # square with obstacles
30
#MAP_FILE Your_mom/clever/inaktek-0.7.2.aamap.xml # octagon with obstacles
31
#ARENA_AXES 8 # set automatically by map to this value
33
#MAP_FILE Luke-Jr/HexaTRON/HexaTRON-0.4.3.aamap.xml # hexagonal flower
34
#ARENA_AXES 6 # set automatically by map to this value
36
#MAP_FILE Anonymous/polygon/regular/40-gon-0.1.1.aamap.xml # almost circular
37
#MAP_FILE Anonymous/polygon/regular/diamond-1.0.2.aamap.xml # like the square, but corners cut off
39
#MAP_FILE Z-Man/fortress/zonetest-0.1.0.aamap.xml # test map for fortress zones
40
#MAP_FILE Z-Man/fortress/for_old_clients-0.1.0.aamap.xml # fortress map compatible with older clients
42
# for full compatibility of the for_old_clients map, you have to also follow the
43
# setting instructions in the comments inside the xml file.
45
############################################################################################
49
############################################################################################
51
BACKWARD_COMPATIBILITY 1000 # Maximum number of network protocol versions backward compatibility ( will be clamped to maximal supported value; set to zero to not accept logins from older clients )
52
NEW_FEATURE_DELAY 0 # Disable features that only came in during the last X protocol versions.
54
MAX_CLIENTS 16 # maximum number of clients that can connect to this machine
55
MAX_CLIENTS_SAME_IP_SOFT 4 # maximum number of clients from the same IP (soft limit, more users from the same IP will be kicked when the server is full and someone new connects)
56
MAX_CLIENTS_SAME_IP_HARD 8 # maximum number of clients from the same IP (hard limit, more logins will be ignored)
58
MAX_PLAYERS_SAME_IP 4 # maximum number of players from the same IP (note that each client can legally host up to four players)
62
NETWORK_MIN_BAN 120 # when a banned client tries to connect, update the remaining ban-time to be at least this many seconds
64
# autoban players for NETWORK_AUTOBAN_FACTOR * ( kph - NETWORK_AUTOBAN_OFFSET ) minutes
65
# when they get kicked; kph is the average number of kicks per hour that the player
66
# got in the past. It's useful to read the full docs on these.
67
NETWORK_AUTOBAN_FACTOR 10
68
NETWORK_AUTOBAN_OFFSET 5
69
NETWORK_AUTOBAN_MAX_KPH 30 # maximal value the kicks per hour can actually have (influences the measurement process )
71
# automatic kicking of spectators
72
NETWORK_SPECTATOR_TIME 0 # if > 0, this is the maximal time in seconds a client without players is tolerated
74
# protection against milking cheats (where friends pretend they are enemies
75
# and kill each other for points)
77
ALLOW_ENEMIES_SAME_IP 0 # if set to 1, this allows two players that apparently come from the same machine to fight for points with each other
78
ALLOW_ENEMIES_SAME_CLIENT 0 # if set to 1, this allows two players that play on the same client to fight for points with each other
80
ALLOW_CONTROL_DURING_CHAT 0 # if set to 1, this allows a player to issue cycle and camera control commands during chat (losing the chatbot and the yellow chat pyramid). This feature was buggy and has been disabled for 0.2.8.0.
82
ALLOW_IMPOSTERS 0 # allow two players to have the same name
84
############################################################################################
88
############################################################################################
90
CYCLE_TURN_MEMORY 3 # number of pending turn commands a cycle memorizes before opposing turns cancel each other
92
# speed; it's a good idea to read the full documentation for the acceleration settings.
93
CYCLE_SPEED 30.0 # basic cycle speed (m/s)
94
CYCLE_SPEED_MIN .25 # minimal cycle speed as ratio to CYCLE_SPEED
95
CYCLE_SPEED_DECAY_BELOW 5.0 # rate of cycle speed approaching the value of CYCLE_SPEED from below
96
CYCLE_SPEED_DECAY_ABOVE .1 # rate of cycle speed approaching the value of CYCLE_SPEED from above
97
CYCLE_START_SPEED 20.0 # speed at startup
98
CYCLE_ACCEL 15.0 # wall acceleration multiplicator
99
CYCLE_ACCEL_SELF 1.0 # multiplicator to CYCLE_ACCEL for your own wall
100
CYCLE_ACCEL_TEAM 1.0 # multiplicator to CYCLE_ACCEL for your temmates' walls
101
CYCLE_ACCEL_ENEMY 1.0 # multiplicator to CYCLE_ACCEL for your enemies' walls
102
CYCLE_ACCEL_RIM 0.0 # multiplicator to CYCLE_ACCEL for the rim walls
103
CYCLE_ACCEL_SLINGSHOT 1.0 # multiplicator to CYCLE_ACCEL if you're between your wall and another wall
104
CYCLE_ACCEL_TUNNEL 1.0 # multiplicator to CYCLE_ACCEL if you're between two walls that are not your own
105
CYCLE_ACCEL_OFFSET 2.0 # acceleration offset. Must be positive or smaller than -CYCLE_WALL_NEAR, otherwise there is a risk of a division by zero.
106
CYCLE_WALL_NEAR 6.0 # the distance from a wall below which wall-acceleration kicks in
107
CYCLE_SOUND_SPEED 30.0 # sound speed divisor
108
CYCLE_BRAKE 30.0 # deceleration by braking (set to zero to disable brakes and to a negative value to turn brakes into a turbo)
110
# When you break from a wall, your speed is modified to SPEED * CYCLE_BOOST_? + CYCLE_BOOSTFACTOR_?,
111
# where ? is the type of wall you're breaking away from. The speed change isn't taken verbatim,
112
# but it's modified by the same formula the regular, continuous acceleration is modified with
113
# depending on the distance to the wall. The value given above is the maximal change, achieved if
114
# you're as close to the cycle as possible.
116
CYCLE_BOOST_SELF 0.0 # Speed boost when breaking from your own wall
117
CYCLE_BOOST_TEAM 0.0 # Speed boost when breaking from a teammate's wall
118
CYCLE_BOOST_ENEMY 0.0 # Speed boost when breaking from an enemy wall
119
CYCLE_BOOST_RIM 0.0 # Speed boost when breaking from the rim wall
120
CYCLE_BOOSTFACTOR_SELF 1.0 # Factor your speed is multiplied with when breaking from your own wall
121
CYCLE_BOOSTFACTOR_TEAM 1.0 # Factor your speed is multiplied with when breaking from a teammate's wall
122
CYCLE_BOOSTFACTOR_ENEMY 1.0 # Factor your speed is multiplied with when breaking from an enemy wall
123
CYCLE_BOOSTFACTOR_RIM 1.0 # Factor your speed is multiplied with when breaking from the rim wall
126
CYCLE_DELAY .1 # minimum time between turns in seconds. Never enable the topology police if this is set lower than 0.001. Only values bigger than zero are supported.
127
CYCLE_DELAY_TIMEBASED 1.0 # turn delays will be based on the time since the last turn if this is set to 1 (default) and the distance if this is set to 0. Intermediate values and values out of these bounds are supported as well.
128
CYCLE_TURN_SPEED_FACTOR .95 # at every turn a cycle's speed is multiplied by this value
130
# rubber settings; it's a good idea to read the full documentation
131
CYCLE_RUBBER 10.0 # niceness when hitting a wall
132
CYCLE_PING_RUBBER 3.0 # niceness when hitting a wall: bonus for higher ping players
133
CYCLE_RUBBER_TIMEBASED 0.0 # rubber usage is based on distance travelled if this is set to 0 (default) and the time passed if this is set to 1. Intermediate values and values out of these bounds are supported as well.
135
CYCLE_RUBBER_SPEED 40.0 # logarithmic speed of wall approximation when rubber is in effect ( every second, you get closer to the wall by a factor of ~0.4^{this value} )
136
CYCLE_RUBBER_MINDISTANCE .001 # The minimal distance rubber code keeps cycles from walls
137
CYCLE_RUBBER_MINDISTANCE_RATIO .0001 # Additional distance for every length unit of the wall you have in front of you
138
CYCLE_RUBBER_MINDISTANCE_RESERVOIR .005 # Addidional distance if you have an empty rubber meter (gets faded out gradually as you use up all your rubber)
139
CYCLE_RUBBER_MINDISTANCE_UNPREPARED .005 # Additional distance for unprepared grinds; it gets applied when the cycle's last turn was just a fraction of a second ago and faded out preparation times larger than CYCLE_RUBBER_MINDISTANCE_PREPARATION.
140
CYCLE_RUBBER_MINDISTANCE_PREPARATION .2 # Timescale in seconds a cycle's last turn time is compared with to determine the effect of CYCLE_RUBBER_MINDISTANCE_UNPREPARED.
142
#CYCLE_WIDTH 0.0 # the cycle's width. Attempts to enter tunnels that are narrower than this result in instant death. (not yet supported)
143
CYCLE_RUBBER_MINADJUST .05 # when adjusting to or 180ing into a wall, allow going closer by at least this amount ( relative to the last distance ). A value of zero may lead to cycles ending up on the wrong side of their own walls.
145
CYCLE_RUBBER_LEGACY 0 # fallback to old, frame-dependant rubber code when old clients are present if this is 1
146
CYCLE_RUBBER_TIME 10.0 # Timescale rubber is restored on
148
CYCLE_RUBBER_DELAY 0.0 # during this fraction of the cycle delay time, rubber efficiency will be multiplied...
149
CYCLE_RUBBER_DELAY_BONUS .5 # by this factor ( meaning that rubber usage goes up by the inverse; a value of zero means rubber is completely disabled )
151
CYCLE_RUBBER_WALL_SHRINK 0 # With finite length trails, the used rubber is multiplied with this value and subtracted from the wall length. A value of 1 lets the trail receed at constant speed. All values are supported, but negative values may degrade performance and cause false positives from the topology police if that is enabled.
153
# "open" vs "closed" play. To enforce "open" play, set the next value to something positive,
154
# values between .5 and .9 make most sense. If you choose to do so, increase CYCLE_RUBBER_MINDISTANCE
155
# for optimal effect; with normal speed settings, keep it between .2 and 2.
156
CYCLE_RUBBER_MINDISTANCE_GAP 0 # If > 0, CYCLE_RUBBER_MINDISTANCE effectively is never taken to be bigger than this value times the size of any detected gaps the cylce can squeeze through.
157
CYCLE_RUBBER_MINDISTANCE_GAP_SIDE .5 # Gap detection only sees gaps that the cycle may reach in no less than this many seconds.
160
CYCLE_BRAKE_REFILL .1 # refill rate of brake reservoir
161
CYCLE_BRAKE_DEPLETE 1.0 # depletion rate of brake reservoir ( set to 0 to reenable pre 0.2.5 behaviour of infinite brakes )
164
CYCLE_WIDTH 0 # the width of a cycle in meters. If set, a cycle will take damage (=use up rubber or explode) if it drives through a tunnel narrower than this.
165
CYCLE_WIDTH_SIDE 0 # the minimal distance a cycle needs to have from every wall. If set, a cycle will take damage (=use up rubber or explode) if it drives closer.
166
CYCLE_WIDTH_RUBBER_MIN 1 # minimum rubber usage when a cycle is found in a situation illegal by the two above settings. The minimal value is applied if the space is almost enough.
167
CYCLE_WIDTH_RUBBER_MAX 1 # maximum rubber usage when a cycle is found in a situation illegal by the two above settings. This value is applied if there truly is no space left.
169
# If both _RUBBER_ settings are zero, cycles explode instantly when they get too close to walls.
170
# It is recommended that you leave CYCLE_WIDTH smaller than twice the value of
171
# CYCLE_RUBBER_MINDISTANCE, and CYCLE_WIDTH smaller than CYCLE_RUBBER_MINDISTANCE itself.
172
# If you don't follow the first rule, cycles can be squished by other cyles coming from behind,
173
# if you don't follow the second rule, grinds that go too deep can become deadly even though
174
# there is still rubber left at the time of the turn.
175
# Clients from 0.2.8.3 on indicate a grind so close that nobody can enter it safely by
176
# rendering the sparks only then. Clients older than that render sparks from a wall distance
177
# of 0.25 meters downwards; so a sensible set of values visually consistent with old
178
# clients would be this:
180
# CYCLE_RUBBER_MINDISTANCE .3 to .4
181
# At normal values of CYCLE_RUBBER_SPEED, you should probably leave CYCLE_WIDTH_SIDE alone,
182
# unless you want to make squeezing through every kind of grind, no matter now sloppy it is,
185
# safe values for clients before 0.2.5.0:
186
#CYCLE_BRAKE_REFILL 0.0
187
#CYCLE_BRAKE_DEPLETE 0.0
189
# wall length settings
190
# if finite walls length is set and _SHRINK is nonzero, the length of the walls is
191
# modified initially, as long as the driven distance is smaller than _SHRINK_OFFSET.
192
# The modified length is given by _LENGTH - _SHRINK * ( distance - _SHRINK_OFFSET ),
193
# where distance is the distance the cycle has traveled so far.
194
CYCLE_DIST_WALL_SHRINK 0.0 # Distance multiplier in wall length calculation. All values are legal.
195
CYCLE_DIST_WALL_SHRINK_OFFSET 0.0 # Distance offset in wall length calculation.
197
# respawn relevant settings (no server supports respawning yet, but the client is prepared)
198
CYCLE_BLINK_FREQUENCY 10 # Frequency in Hz an invulnerable cycle blinks with.
200
CYCLE_INVULNERABLE_TIME 0.0 # Time in seconds a cycle is invulnerable after a respawn.
201
CYCLE_WALL_TIME 0.0 # Time in seconds a cycle does not make a wall after a respawn.
202
CYCLE_FIRST_SPAWN_PROTECTION 0 # Set to 1 if the invulnerability and wall delay should already be active on the initial spawn at the beginning of a round.
204
############################################################################################
206
############################################################################################
208
# This will make turns behave like you learn in driving scool: your turn
209
# radius goes up with the square of your speed
210
#CYCLE_DELAY_TIMEBASED 2
212
# This will make turns behave like crazy: faster cycles can make tighter turns:
213
#CYCLE_DELAY_TIMEBASED -1
215
# This is nasty: Basically, you'll only be allowed to turn below a certain
216
# speed. You have to brake before every turn!
218
#CYCLE_DELAY_TIMEBASED 10
220
# This setting will be a nasty surprise for exploiters of 180s and
221
# adjusting: it lowers the rubber protection for a short period of time
222
# after each turn (after all, driving directly beside a wall and turning
223
# toward it is a stupidity that demands punishment)
224
#CYCLE_RUBBER_DELAY .5
226
# These settings goes one step further and disables rubber directly after turns:
227
#CYCLE_RUBBER_DELAY .5
228
#CYCLE_RUBBER_DELAY_BONUS 0
230
# Traditionally, rubber usage is based on the distance your cycle would have
231
# travelled while you are stopped by rubber. This makes rubber less effective
232
# when going fast. We can change that so that only the time spent sitting in
233
# front of a wall matters:
234
#CYCLE_RUBBER_TIMEBASED 1
236
# Or even make rubber more effective at high speeds:
237
#CYCLE_RUBBER_TIMEBASED 2
239
############################################################################################
241
# cycle networking settings
243
############################################################################################
245
LAG_O_METER_SCALE 1.0 # Scaling of the lag-o-meter. 1 is the correct value. If you played previous versions, you may want to set it to
246
#LAG_O_METER_SCALE 0.5 # which it was hardcoded to due to a bug.
248
CYCLE_SYNC_INTERVAL_ENEMY 1.0 # Time in seconds between server-client updates of enemy cycles
249
CYCLE_SYNC_INTERVAL_SELF 0.1 # Time in seconds between server-client updates of enemy cycles owned by the client itself
250
CYCLE_AVOID_OLDCLIENT_BAD_SYNC 0 # If set to 1, old clients will not get sync messages in situations that are known to confuse them
251
CYCLE_FAIR_ANTILAG 1 # If set to 1, this deactivates the anti lag-sliding code when old clients are connected
252
CYCLE_TIME_TOLERANCE .1 # Maximum time difference of execution of turns on server and client ( for clients that send timing information )
253
CYCLE_PACKETLOSS_TOLERANCE 0.0 # Cycle death is prevented as long as the player's failure to turn can be explained by the loss of this many network packets. Enabling this allows cheating with modified clients.
255
CYCLE_SYNC_FF 10.0 # Speed of simulation of the extrapolating sync; decrease for lower CPU load, but higher effective ping
256
CYCLE_SYNC_FF_STEPS 1 # Number of extrapolation simulation timesteps each real timestep; increase for better accuracy
258
CYCLE_SMOOTH_TIME .3 # Timescale for smoothing options. Increasing this will make interpolation smoother, but less accurate. Decreasing it will make network synchronization jumpy.
259
CYCLE_SMOOTH_MIN_SPEED .2 # Minimum speed of smooth correction relative to cycle speed
260
CYCLE_SMOOTH_THRESHOLD .2 # Only syncs that differ from your position by less than this amount ( measured in speed ) will be smoothed slowly, bigger deviations will get faster handling.
262
CYCLE_MAX_REFCOUNT 30000 # Maximum allowed reference count on cycles before they self destruct.
263
# This setting is to protect against performance related DOS attacks.
264
# Older servers and clients would crash when 32768 references are reached,
265
# performace problems start at around 10000 references.
267
TOPOLOGY_POLICE 0 # the topology police is your last defense against tunneling players. It tries to
268
# detect tunneling ( passing from one side of a wall to the other ) and kills the tunneler
269
# afterwards. It is disabled by default because there is a risk of false accusations, and because
270
# the regular game machanisms are tunneling-proof in theory except for "fresh" walls.
271
TOPOLOGY_POLICE_PARALLEL 1 # if TOPOLOGY_POLICE is set to 1, this flag can be disabled to disable checks for parallel walls.
272
# Depending on the server's other settings, those can be false alarms in most cases.
274
############################################################################################
278
############################################################################################
280
CHATBOT_ALWAYS_ACTIVE 0 # if set to 1, the chatbot is active all of the time
281
CHATBOT_NEW_WALL_BLINDNESS .3 # the chatbot won't see walls that were bult less than this many seconds ago
282
CHATBOT_MIN_TIMESTEP .3 # minimal time in seconds between chatbot thoughts
283
CHATBOT_DELAY .5 # time between entering chat and chatbot activation
284
CHATBOT_RANGE 1.0 # time in seconds the bot is capable of planning ahead
285
CHATBOT_DECAY .02 # rate at which the quality of the chatbot decays over time
287
############################################################################################
289
# convenience settings
291
############################################################################################
293
HISTORY_SIZE_CONSOLE 10 # number of lines kept in the console history
294
HISTORY_SIZE_CHAT 10 # number of lines kept in the chat history
296
############################################################################################
300
############################################################################################
302
RECORDING_DEBUGLEVEL 0 # level of additonal debug only information in recording file.
303
FAST_FORWARD_MAXSTEP 1.0 # Maximum recording time between rendered frames in fast forward mode
304
FAST_FORWARD_MAXSTEP_REAL .05 # Maximum real time between rendered frames in fast forward mode
305
FAST_FORWARD_MAXSTEP_REL .1 # Maximum fraction of the time left until the end of FF mode between rendered frames
307
############################################################################################
311
############################################################################################
313
include settings_visual.cfg
315
#HEADLIGHT 1 # turn on headlight effect (requires shaders)
317
FADEOUT_NAME_DELAY 5.0 # Time the player names are shown. Set to 0 if you don't want to show them at all or -1 if you want to show them always.
318
SHOW_OWN_NAME 0 # Should your own name be shown above your cycle, too?
320
# custom screen mode or window size (in case your OS does not report back your favorite
321
# screen mode by itself)
323
CUSTOM_SCREEN_WIDTH 320 # width of the resolution
324
CUSTOM_SCREEN_HEIGHT 200 # height of the resolution
325
CUSTOM_SCREEN_ASPECT 1 # aspect ratio of the pixels (only affects game
326
# rendering, not the menu)
328
PLAYER_RANDOM_COLOR 0 # if set to 1, a random generator will try to pick a color for you that
329
# differs from the other players on the server.
331
############################################################################################
335
############################################################################################
337
CAMERA_FORBID_SMART 0 # forbid smart camera
338
CAMERA_FORBID_IN 0 # forbid internal camera
339
CAMERA_FORBID_FREE 0 # forbid free camera
340
CAMERA_FORBID_FOLLOW 0 # forbid fixed external camera
341
CAMERA_FORBID_CUSTOM 0 # forbid custom external camera
342
CAMERA_FORBID_SERVER_CUSTOM 1 # forbid server defined custom external camera
344
CAMERA_FORBID_CUSTOM_GLANCE 0 # forbid use of special glance camera settings
345
CAMERA_OVERRIDE_CUSTOM_GLANCE 0 # override custom glance settings with vanues from the server
346
CAMERA_OVERRIDE_CUSTOM_GLANCE_SERVER_CUSTOM 0 # the same, but only affects the server custom camera
348
CAMERA_FOLLOW_START_X -30 # fixed external camera start position
349
CAMERA_FOLLOW_START_Y -30 # ( relative to cycle )
350
CAMERA_FOLLOW_START_Z 80
352
CAMERA_SMART_START_X 10 # smart camera start position
353
CAMERA_SMART_START_Y 30 # ( relative to cycle )
354
CAMERA_SMART_START_Z 2
356
CAMERA_FREE_START_X 10 # free camera start position
357
CAMERA_FREE_START_Y -70 # ( relative to cycle )
358
CAMERA_FREE_START_Z 100
361
# custom camera position
362
CAMERA_CUSTOM_BACK 6 # how much the custom camera is moved back
363
CAMERA_CUSTOM_RISE 4 # the height of the custom camera above the cycle
364
CAMERA_CUSTOM_BACK_FROMSPEED .5 # how much the camera is moved back for every m/s speed
365
CAMERA_CUSTOM_RISE_FROMSPEED .4 # the height of the camera above the cycle for every m/s speed
366
CAMERA_CUSTOM_PITCH -.58 # inclination of the camera
367
CAMERA_CUSTOM_ZOOM 0 # how much the camera zooms in your cycle at the beginning of the round (to show the team's formation)
368
CAMERA_CUSTOM_TURN_SPEED 4 # speed the custom camera turns with
369
CAMERA_CUSTOM_TURN_SPEED_180 4 # factor to the turn speed after a quick reversal
371
# glance camera position
372
CAMERA_GLANCE_BACK 6 # how much the glance camera is moved back
373
CAMERA_GLANCE_RISE 4 # the height of the glance camera above the cycle
374
CAMERA_GLANCE_BACK_FROMSPEED .5 # how much the camera is moved back for every m/s speed
375
CAMERA_GLANCE_RISE_FROMSPEED .4 # the height of the camera above the cycle for every m/s speed
376
CAMERA_GLANCE_PITCH -.58 # inclination of the camera
378
# the old custom camera settings for those who miss them
380
#CAMERA_CUSTOM_BACK 15 # how much the camera is moved back
381
#CAMERA_CUSTOM_RISE 10 # the height of the camera above the cycle
382
#CAMERA_CUSTOM_BACK_FROMSPEED 0 # how much the camera is moved back for every m/s speed
383
#CAMERA_CUSTOM_RISE_FROMSPEED 0 # the height of the camera above the cycle for every m/s speed
384
#CAMERA_CUSTOM_PITCH -.7 # inclination of the camera
385
#CAMERA_CUSTOM_ZOOM .5 # how much the camera zooms in your cycle at the beginning of the round (to show the team's formation)
386
#CAMERA_CUSTOM_TURN_SPEED 40 # speed the custom camera turns with
387
#CAMERA_CUSTOM_TURN_SPEED_180 2 # factor to the turn speed after a quick reversal
388
#CAMERA_GLANCE_BACK 15 # how much the glance camera is moved back
389
#CAMERA_GLANCE_RISE 10 # the height of the glance camera above the cycle
390
#CAMERA_GLANCE_BACK_FROMSPEED 0 # how much the camera is moved back for every m/s speed
391
#CAMERA_GLANCE_RISE_FROMSPEED 0 # the height of the camera above the cycle for every m/s speed
392
#CAMERA_GLANCE_PITCH -.7 # inclination of the camera
395
# server defined custom camera position
396
CAMERA_SERVER_CUSTOM_BACK 30 # how much the camera is moved back
397
CAMERA_SERVER_CUSTOM_RISE 20 # the height of the camera above the cycle
398
CAMERA_SERVER_CUSTOM_BACK_FROMSPEED 0 # how much the camera is moved back for every m/s speed
399
CAMERA_SERVER_CUSTOM_RISE_FROMSPEED 0 # the height of the camera above the cycle for every m/s speed
400
CAMERA_SERVER_CUSTOM_PITCH -.7 # inclination of the camera
402
# server defined glance camera position
403
CAMERA_SERVER_GLANCE_BACK 30 # how much the camera is moved back
404
CAMERA_SERVER_GLANCE_RISE 20 # the height of the camera above the cycle
405
CAMERA_SERVER_GLANCE_BACK_FROMSPEED 0 # how much the camera is moved back for every m/s speed
406
CAMERA_SERVER_GLANCE_RISE_FROMSPEED 0 # the height of the camera above the cycle for every m/s speed
407
CAMERA_SERVER_GLANCE_PITCH -.7 # inclination of the camera
409
# the following two settings are only in effect if the first is positive, otherwise, the values
410
# are taken from the clientside custom camera. Usually, you should leave them alone even if
411
# you modified the other CAMERA_SERVER_CUSTOM values.
412
CAMERA_SERVER_CUSTOM_TURN_SPEED -1 # speed the custom camera turns with
413
CAMERA_SERVER_CUSTOM_TURN_SPEED_180 4 # factor to the turn speed after a quick reversal
415
CAMERA_IN_TURN_SPEED 40 # speed the internal camera turns with
417
# camera clipping VS wall lowering settings
419
CAMERA_VISIBILITY_LOWER_WALL 1 # if set, walls are lowerd when they block the view and the camera is not moved
420
CAMERA_VISIBILITY_LOWER_WALL_SMART 0 # like CAMERA_VISIBILITY_LOWER_WALL, but special setting for the smart camera
422
BUG_TRANSPARENCY 0 # unsupported: make all rim walls semi-transparent by rendering them without occlusion tests
423
BUG_TRANSPARENCY_DEMAND 0 # unsupported: use transparency instead of lowering walls
425
############################################################################################
427
# game rules settings
429
############################################################################################
431
SCORE_WIN 10 # points you gain for beeing last one alive
432
SCORE_SUICIDE -4 # points you gain for every stupid death (race
433
# into the rim/your own wall)
434
SCORE_KILL 3 # points you gain for everyone racing into your wall
435
SCORE_DIE -2 # points you gain for every time you race into
438
LIMIT_SCORE 100 # score limit (all limits for one match)
439
LIMIT_ROUNDS 10 # max number of rounds to play
440
LIMIT_TIME 30 # max time (in minutes)
442
# How wingmen are placed in formation. At SPEED_FACTOR 0, the unit
443
# is meters, and the values are scaled up with speed.
444
# Don't ask where these default values come from, z-man thinks
445
# they were chosen that oddly to avoid head-on collisions with
446
# other teams starting from spawnpoints with sensible side offset.
448
SPAWN_WINGMEN_BACK 2.202896 # determines how much each wingman is placed backwards
449
SPAWN_WINGMEN_SIDE 2.75362 # determines how much each wingman is placed sidewards
451
# These settings determine who gets the score for a kill. Generally, the player that
452
# has the most recent influence on the victim gets the credit (or the blame if it's a teammate).
453
# An influence currently is a close encounter with a wall, the time of the influence is
454
# the time the wall was built.
455
# The effective time entering the comparison is modified by these settings:
457
ENEMY_TEAMMATE_PENALTY 2500.0 # Penalty on the effective time in seconds if the influence is from a teammate
458
# ENEMY_SELF_PENALTY 3000.0 # Penalty on the effective time in seconds if the influence is from the victim itself (removed, does not make sense)
459
ENEMY_DEAD_PENALTY 0.0 # Penalty on the effective time in seconds if the influence comes from a dead player
460
ENEMY_CHATBOT_PENALTY 30.0 # Penalty in seconds if the victim is in chatbot state and the influence is just the chatbot evading a wall
461
ENEMY_CURRENTTIME_INFLUENCE 0.0 # If set to 1, not the build time of the encountered wall, but the current time enters the comparison. Arbitrary blending values are allowed.
462
ENEMY_SUICIDE_TIMEOUT 10000.0 # If no enemy influence can be found for the last this many seconds, the death counts as a suicide.
464
# for single player highscore hunt on this server:
466
SP_SCORE_WIN 10 # points you gain for beeing last one alive
467
SP_LIMIT_SCORE 100000 # score limit (all limits for one match)
468
SP_LIMIT_ROUNDS 10 # max number of rounds to play
469
SP_LIMIT_TIME 30 # max time (in minutes)
471
COLOR_STRINGS 1 # Generate strings that will be rendered with color effects.
472
FILTER_COLOR_STRINGS 0 # Filter color codes from all strings coming in over the network.
473
FILTER_COLOR_NAMES 0 # Filter color codes from player names.
474
FILTER_NAME_ENDS 1 # Filter whitespace from beginning and end of player names.
475
FILTER_NAME_MIDDLE 1 # Filter excess whitespace and other junk from the middle of player names.
476
FILTER_COLOR_SERVER_NAMES 0 # Filter color codes from server names in the server browser.
478
SILENCE_DEFAULT 0 # silence new players by default?
479
ENABLE_CHAT 1 # allow public messages?
483
LADDER_PERCENT_BET 10 # percentage of your score to be put in the pot
484
LADDER_MIN_BET 1 # minimum credits to be put in the pot
485
LADDER_TAX 1 # percentage the IRS takes from the pot
487
LADDER_LOSE_PERCENT_ON_LOAD .2 # you lose this percentage of your
489
# the server is restarted
490
LADDER_LOSE_MIN_ON_LOAD .2 # but minimum this value
491
LADDER_GAIN_EXTRA 1 # the winner gets his ping+ping charity
492
# (in seconds) times this value extra
494
GAME_TIMEOUT 10.0 # base for game syncronisation timeouts.
495
# The value is approximately the maximal time between the end
496
# of one round and the start of the next.
498
LAST_CHAT_BREAK_TIME -1.0 # Last round time a player in chat mode is able to pause the timer
499
EXTRA_ROUND_TIME 0.0 # Lenght of an extra pause at the beginning of the round
500
PLAYER_CHAT_WAIT_MAX 0.0 # Maximum time in seconds to wait for a single player to stop chatting.
501
PLAYER_CHAT_WAIT_FRACTION 0.0 # Maximum fraction of time to wait for a single player to stop chatting.
502
PLAYER_CHAT_WAIT_SINGLE 0 # Set to 1 if only one player should get his chat wait time reduced at any given time.
503
PLAYER_CHAT_WAIT_TEAMLEADER 1 # Set to 0 if all players, not just team leaders, should be allowed to pause the timer.
505
CHATTER_REMOVE_TIME 180 # Time in seconds after which a permanent chatter is removed from the game
506
IDLE_REMOVE_TIME 0 # Time in seconds after which an inactive player is removed from the game
507
IDLE_KICK_TIME 0 # Time in seconds after which an inactive player is kicked
509
DOUBLEBIND_TIME -10.0 # Time in seconds during which no two different keyboard events can
510
# trigger the same action, negative or zero values disable the detection.
513
WIN_ZONE_RANDOMNESS .8 # randomness factor of the initial position. Set it to 0 to fix the winzone in the center of the area, 1 to spread it all over the arena.
514
WIN_ZONE_EXPANSION 1 # expansion speed of the winzone in m/s
515
WIN_ZONE_INITIAL_SIZE 5 # radius in m the win zone starts with
516
WIN_ZONE_DEATHS 0 # set to 1 to turn the winzone into a deathzone
518
# 0.2.8 fortress settings (preliminary): a fortress zone has a "conquered" property; it
519
# starts at 0, if it reaches 1, the fortress is conquered. It gets modified according
520
# to the following rules every second:
522
FORTRESS_CONQUEST_RATE .5 # the number of enemies inside the fortress zone is counted, multiplied with this value and added to the "conquered" variable. Increase this to make conquering easier.
523
FORTRESS_DEFEND_RATE .25 # the number of owners inside the fortress zone is counted, multiplied with this value and subtracted from the "conquered" variable. Increase to make defending easier.
524
FORTRESS_CONQUEST_DECAY_RATE .1 # this value is subtracted. Increase to make defending easier.
525
FORTRESS_CONQUEST_TIMEOUT 0 # timeouts for enemy contacts with the zone. If a zone would collapse without a defender (as on Sumo), the zone will collapse harmlessly after all enemy contatcs timed out.
527
# what happens when a zone gets conquered
529
FORTRESS_CONQUERED_SCORE 0 # the conquering party gets this many points (divided among the conquerors)
530
FORTRESS_HELD_SCORE 0 # points a team owning a zone gets at the end of the round if both team and zone survived
531
FORTRESS_CONQUERED_WIN 0 # if set to 1, the conquering party wins the round
532
FORTRESS_CONQUERED_KILL_MIN 0 # the closest X players of the owning team get killed at least
533
FORTRESS_CONQUERED_KILL_RATIO 0.0 # this fraction of the players of the owning team get killed
535
FORTRESS_SURVIVE_WIN 1 # if set to 1, the last team with an unconquered zone wins the round
536
FORTRESS_MAX_PER_TEAM 0 # if > 0, this is the maximal number of fortress zones ownable by a team. Closer zones are prefered. Use this to prune noninhabited zones in multi-team maps.
538
SPAWN_POINT_GROUP_SIZE 0 # if > 2, this is interpreted as the number of spawn points in a spawn point group. AA then tries not to spawn one player alone in one spawn point group by redistributing them slightly.
540
FORTRESS_COLLAPSE_SPEED .5 # speed (units: 1/s) at which a collapsing fortress vanisues. The inverse of this value is the time between the conquest and the time the zone vanishes (and potentially kills its owners)
542
############################################################################################
544
# backward network compatibility
546
############################################################################################
548
# These settings are from the Armagetron tree.
549
# Armagetron was fully compatible with old clients down to 0.2.0
550
# with the default settings. This changes if you alter some settings from
551
# the default: the most glaring example would be changing the map to
552
# play on. The following settings determine what happens when an old
553
# client connects and some settings the client does not yet understand
554
# are not on their defaults. Set the configuration items to 2 to simply
555
# block the client, set it to 1 to allow the client in and revert the
556
# relevant settings to their default (this may be confusing to users
557
# of a newer client, they'll experience the change and have to adapt),
558
# or 0 to just leave the settings as they are, but allow the client in
559
# anyway. Choose 0 or 2 to be nice to new clients, 1 to be nice to old
563
SETTING_LEGACY_BEHAVIOR_BREAKING 2 # For settings that absolutely break the client and make play impossilbe. Example of an affected setting: MAP_FILE
564
SETTING_LEGACY_BEHAVIOR_BUMPY 2 # For settings that allow play on old clients in principle, but with severe limitations (cycles bouncing around, player commands not executed on time). Example: CYCLE_DELAY_TIMEBASED
565
SETTING_LEGACY_BEHAVIOR_ANNOYING 0 # For settings that only cause minor annoyances on old clients, like enemy cycles stopping for .1 seconds after each turn. Example: CYCLE_RUBBER_MINDISTANCE
566
SETTING_LEGACY_BEHAVIOR_CHEATING 2 # For settings where the default behavior could be considered cheating if nondefault was set. Example: DOUBLEBIND_TIME
567
SETTING_LEGACY_BEHAVIOR_VISUAL 0 # For settings that only affect status displays and visuals, not game physics. Example: CYCLE_RUBBER_* (the client displays the rubber meter, but it's not used for anything)
570
# Instead of selecting the behavior per group, you can override the
571
# behavior of the affected configuraton one by one: to change it
572
# for a variable named FOO, set FOO_OVERRIDE to 1 to revert FOO to
573
# its default when an old client connects, or 0 to let the old client
574
# in and leave FOO as it was. The default is always 3, which means
575
# to use the setting of the class corresponding to FOO. For map
576
# settings, this means concretely:
579
# uncomment the following line if you want to revert to the default map as soon as a client that
580
# does not yet support maps connects.
583
# uncomment this line if you want to use a nondefault map even if old clients are online
584
# (useful for example if your map only differs from the default map in the spawnpoints)
587
# default override setting: let the setting class decide. In the case of maps, the class
588
# is BREAKS (old clients can't cope at all with nondefault settings), so old clients
589
# are not allowed to connect if MAP_FILE differs from the default.
592
############################################################################################
594
# The settings in this section sometimes have obsucre effects and you
595
# sometimes need to know how the settings are used in the code to predict
596
# the effects of changes.
597
# They're unsupported, undocumented (apart from what you see in this file)
598
# and may change meaning from release to release.
599
############################################################################################
601
# A white background is rendered behind text displays if the text color is darker
602
# than the color given here. Either every color component needs to be lower
603
# than the one given, or the sum needs to be lower than the given sum.
608
#FONT_MIN_TOTAL 1.0 # that was the hardcoded value in 0.2.7.1 and earlier.
610
# font selection settings. If a character is smaller in pixels than the given
611
# dimensions, the lowres font will be used.
612
FONT_BIG_THRESHOLD_WIDTH 12
613
FONT_BIG_THRESHOLD_HEIGHT 24
615
# visibility culling settings: AA forces the cycle to be visible from the
616
# camera position, and additionally tracks the visibility of three extra
617
# points (visibility targets), one in front of the cycle, two by its sides.
618
# these settings control how they are handled: the front and side distance
619
# of the targets is determined by _EXTENSION, and the side targets will be
620
# put forward relative to the cycle by _SIDESKEW. Rays will be cast from the
621
# cycle to the so determined positions and the real targets will be placed
622
# at _WALL_DISTANCE times the maximal unblocked distance. Additionally, if the
623
# targets have been blocked by walls the last frame, they won't snap to the
624
# full allowed distance right away, but only slowly move there, determined by
625
# _RECOVERY_SPEED. Lastly, _CLIP_SPEED determines the speed the camera will
626
# be moved with to keep the extra targets in view.
628
CAMERA_VISIBILITY_RECOVERY_SPEED 1 # the speed the external visibility targets recovers from wall hits
629
CAMERA_VISIBILITY_WALL_DISTANCE .5 # the distance the visibility targets keep from walls
630
CAMERA_VISIBILITY_CLIP_SPEED 40 # speed with wich the visibility targets is brought into view
631
CAMERA_VISIBILITY_EXTENSION 1 # distance (measured in seconds, gets multiplied by speed) of the visibility targets from the watched object
632
CAMERA_VISIBILITY_SIDESKEW .5 # extra forward component of the sideways visibility targets
634
# smart camera settings. Don't ask for support, they are very obscure and not even
635
# z-man knows what everything does. Units are often arbitrary.
636
# The code that uses them is really messy.
637
# The more obscure settings are lower in the section.
639
CAMERA_SMART_DISTANCE 4.0 # typical distance the camera keeps from the cycle
640
CAMERA_SMART_HEIGHT 2.0 # typical height in speed units
641
CAMERA_SMART_TURN_GRINDING 5.0 # Amount of turning from grinding walls
643
CAMERA_SMART_MIN_DISTANCE 10.0 # minimal distance of the camera to the cycle in .3 meters
644
CAMERA_SMART_HEIGHT_EXTRA .5 # extra factor for height. Either this or the previous setting is redundant :)
645
CAMERA_SMART_HEIGHT_TURNING .5 # influence of turning on camera height
646
CAMERA_SMART_HEIGHT_GRINDING 0.0 # influence of grinding on camera height. In 0.2.7.1, this was set to 2, causing the camera to tilt down too far.
647
CAMERA_SMART_HEIGHT_OBSTACLE 1.0 # influence of obstacles in front of the cycle
649
# these settings determine the focal point calculation
650
CAMERA_SMART_CENTER_POS_SMOOTH 6.0 # speed of cycle position smoothinga
651
CAMERA_SMART_CENTER_DIR_SMOOTH 3.0 # speed of cycle direction smoothinga
652
CAMERA_SMART_CENTER_LOOKAHEAD .5 # amount of lookahead on top of smoothing, relative to speed
653
CAMERA_SMART_CENTER_MAX_LOOKAHEAD 5 # maximal amount of lookahead on top of smoothing
655
# now come the really obscure settings
656
CAMERA_SMART_AVOID_FRONT 10.0 # factor moving the camera to the side if it is in front of the cycle
657
CAMERA_SMART_AVOID_FRONT2 0.1 # another factor moving the camera to the side if it is in front of the cycle
659
CAMERA_SMART_CYCLESPEED 20.0 # typical cycle speed
661
CAMERA_SMART_DISTANCESCALE .2 # distance scale measured relative to cycle speed
662
CAMERA_SMART_MIN_DISTANCESCALE 5.0 # minimal distance scale in meters
664
# server browser query settings
666
BROWSER_QUERY_FILTER 1 # query filter. Set to 0 to poll all servers, 1 to query servers with nonnegative score bias, 2 to query only those with positive bias and 3 to not query at all. Non-queried servers will appear to have ping 999; the player info comes indirectly from the master server.
667
BROWSER_QUERIES_SIMULTANEOUS 10 # max. number of simultaneous query messages that are sent
668
BROWSER_QUERY_DELAY_SINGLE 1.5 # time delay between queries of the same server
669
BROWSER_QUERY_DELAY_GLOBAL 0.05 # time delay between all queries
670
BROWSER_NUM_QUERIES 3 # number of queries per try
671
BROWSER_CONTACTLOSS 4 # number of failed contact attemps before a server can be considered lost
672
TIMER_SYNC_START_FUDGE 0.1 # fudge factor: the game timer tends to be late at the start of the round. This fudge factor compensates for it by hacking it a bit into the future.
673
TIMER_SYNC_START_FUDGE_STOP 2.0 # the round time at which fudging is stopped.
675
ARENA_WALL_SHADOW_SIZE 0.1 # maximal size of the arena wall shadow compared to the camera/wall height
676
ARENA_WALL_SHADOW_SIDEDIST 10.0 # shadows are drawn when the cycle gets closer to the line the wall follows than this
677
ARENA_WALL_SHADOW_DIST 30.0 # shadows are drawn when the cycle's path gets closer to the wall than this
678
ARENA_WALL_SHADOW_NEAR 1.0 # getting closer to the wall than this distance does not increase the shadow much
680
# On some occasions, to avoid phasing bugs, we let a cycle drop its trail and
681
# build a new segment. This is invisible to the player, but the code is better
682
# at handling the dropped segments. This value determines in which intervals
683
# this can happen, as there is a performance price both in local CPU usage
684
# and network bandwidth consumption.
685
CYCLE_MIN_WALLDROP_INTERVAL .05
687
# Slicing and dicing time
688
# Sometimes, due to real world glitches, large timesteps need to be simulated.
689
# Simulating them all at once is a recipe for disaster, so we slice the
690
# big timestep into many small ones. Care needs to be taken, if the
691
# small steps are too small, a weak server may not be able to keep up with
692
# the action. When the two settings contradict each other in a given situation,
693
# TIMESTEP_MAX_COUNT takes precedence.
695
TIMESTEP_MAX .2 # the maximal size of the small timesteps
696
TIMESTEP_MAX_COUNT 10 # the maximal number of small timesteps to divide a large timestep in
698
# If the cycle simulation code on the server thinks that a client cycle control command is missing
699
# due to packet loss (and a later command has already arrived), it will wait for this long
700
# times the ping for the missed packet to arrive.
701
CYCLE_PACKETMISS_TOLERANCE 3
703
# Game level lag compensation
705
# The network code level only is capable of predicting and compensating stable latency times.
706
# It can't properly react on variances in the ping and the occasional packet loss burst.
707
# That's where the game level lag compensation kicks in. First, let's handle the server
710
# The server allocates each client a certain time amount of extra lag credit. If a
711
# command message arrives late and the credit is not used up, the simulation of the
712
# game object in question can be rolled back to the time of the command, and the
713
# amount of time that is rolled back is subtracted from the lag credit. This
714
# variable determines the total amount of lag credit maximally available,
715
# measured in seconds. Setting this to a finite value allows for some cheating by
716
# manipulated clients, so don't increase it too much. The default value does not
717
# allow cheaters to create too much damage.
720
# but not more than this much credit is given for a single event.
721
LAG_CREDIT_SINGLE 0.1
723
# and not more than this multiple of the measured lag variance of all clients.
724
# (Set to 0 to disable this clamping.)
725
LAG_CREDIT_VARIANCE 3.0
727
# Lag credit is not something that is available once. Just like rubber, lag credit
728
# is refilled over time. This variable tells you how long it takes before a completely
729
# used up lag credit takes to completely refill.
732
# The server sends messages to the client, informing it about lag compensation that used
733
# up lag credit. The client tries to avoid using up too much credit by manipulating the game
734
# timer, more on that later. This is the server determined fill ratio of the lag credit
735
# that the client tries to maintain. You shouldn't need to touch this.
738
# Now, to the clientside settings. As mentioned, the client receives information from the
739
# server whenever a game object control message was measureably delayed and compensation
740
# was required. In order to avoid those events in the future, the client manipulates the
741
# game timer; it makes it go slighly faster for a while so game object control commands
742
# get sent with a later timestamp and don't have to be backdated before they can be executed
743
# accurately. Two counters keep track of the lag reports, one slow one for compentsating
744
# long term fluctuations in the link quality, and a fast one for compensating lag spikes.
746
# This variable controls how much relative speedup the game timer maximally can get
747
# during compensation:
748
LAG_MAX_SPEEDUP_TIMER .2
750
# These two variables control how fast the lag mearures go back to reporting "Situation
751
# normalized, no measurable lag". The variables give the time for that in seconds.
755
# These two variables determine the impact of lag reports from the server on the two
756
# measurers. The impact is full on the fast measurer and lower on the slow measurer,
757
# because the slow measurer takes longer to recover and shouldn't react in panic.
761
# On top of the measured lag, the timer goes faster by this amount in seconds even
762
# if no lag was reported. Increase this if you know you have a very bad network link
763
# and if you are experiencing lag slides on servers running 0.2.8.3 or later.
764
LAG_OFFSET_CLIENT 0.0
766
# This setting has exactly the same effect, but is server controlled. Use it if your
767
# server is on a crappy connection.
768
LAG_OFFSET_SERVER 0.0
770
# This one is for old clients that don't support the automatic lag adaption protocol.
771
LAG_OFFSET_LEGACY 0.0
773
# In the very unlikely event that your system timer goes slow or fast and you absolutely
774
# cannot do anything about that, you can make TR2N Origins multiply time measurements
775
# with the following value. For example, if your system timer is about 10% too fast, you
776
# can use the value 0.909 to compensate. Deviations of less than 1% are usually compensated
777
# by the network code. NOTE: Do not change this while the program is running, this will cause
778
# huge hickups or freezes.
781
# deprecated settings, they'll go away unless there are protests
783
CYCLE_RUBBER_MALUS_TURN 0 # rubber usage gets increased by this amout after each turn...
784
CYCLE_RUBBER_MALUS_TIME 5 # but the effect wears off after about this many seconds
786
############################################################################################
788
# Debugging (only available if compiled for debug)
790
############################################################################################
792
# packet loss simulation: these settings artificially lose packets.
793
# their value is the ratio of lost packets on receiving and sending; 1.0 loses every packet.
794
SIMULATE_RECEIVE_PACKET_LOSS 0.0
795
SIMULATE_SEND_PACKET_LOSS 0.0