~luke-jr/tr2norigins/tr2norigins-0.4

« back to all changes in this revision

Viewing changes to .BAHFyWKP/MacOS/TR2N Origins.app/Contents/Resources/config/settings.cfg

  • Committer: Luke Dashjr
  • Date: 2010-01-24 23:34:31 UTC
  • Revision ID: luke+bzr@dashjr.org-20100124233431-1a0tbuc1v0iextdu
t2o: auto-generated and otherwise ignored cruft that got into 0.4.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
############################################################################################
 
9
 
 
10
############################################################################################
 
11
#
 
12
# arena settings
 
13
#
 
14
############################################################################################
 
15
 
 
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)
 
18
 
 
19
# defaults:
 
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
 
22
 
 
23
############################################################################################
 
24
# example sniplets
 
25
############################################################################################
 
26
 
 
27
 
 
28
#MAP_FILE   Your_mom/clever/repeat-0.3.2.aamap.xml    # square with obstacles
 
29
 
 
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
 
32
 
 
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
 
35
 
 
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
 
38
 
 
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
 
41
 
 
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.
 
44
 
 
45
############################################################################################
 
46
#
 
47
# networking settings
 
48
#
 
49
############################################################################################
 
50
 
 
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.
 
53
 
 
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)
 
57
 
 
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)
 
59
 
 
60
# banning users
 
61
 
 
62
NETWORK_MIN_BAN          120 # when a banned client tries to connect, update the remaining ban-time to be at least this many seconds 
 
63
 
 
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 )
 
70
 
 
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
 
73
 
 
74
# protection against milking cheats (where friends pretend they are enemies 
 
75
# and kill each other for points)
 
76
 
 
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
 
79
 
 
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.
 
81
 
 
82
ALLOW_IMPOSTERS 0            # allow two players to have the same name
 
83
 
 
84
############################################################################################
 
85
#
 
86
# cycle physics
 
87
#
 
88
############################################################################################
 
89
 
 
90
CYCLE_TURN_MEMORY 3         # number of pending turn commands a cycle memorizes before opposing turns cancel each other
 
91
 
 
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)
 
109
 
 
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.
 
115
 
 
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
 
124
 
 
125
# turning
 
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
 
129
 
 
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.
 
134
 
 
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.
 
141
 
 
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.
 
144
 
 
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
 
147
 
 
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 )
 
150
 
 
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.
 
152
 
 
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.
 
158
 
 
159
# braking
 
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 )
 
162
 
 
163
# cycle width
 
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.
 
168
 
 
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:
 
179
# CYCLE_WIDTH .25
 
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,
 
183
# impossible.
 
184
 
 
185
# safe values for clients before 0.2.5.0:
 
186
#CYCLE_BRAKE_REFILL 0.0
 
187
#CYCLE_BRAKE_DEPLETE 0.0
 
188
 
 
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.
 
196
 
 
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.
 
199
 
 
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.
 
203
 
 
204
############################################################################################
 
205
# example sniplets
 
206
############################################################################################
 
207
 
 
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
 
211
 
 
212
# This will make turns behave like crazy: faster cycles can make tighter turns:
 
213
#CYCLE_DELAY_TIMEBASED -1
 
214
 
 
215
# This is nasty: Basically, you'll only be allowed to turn below a certain
 
216
# speed. You have to brake before every turn!
 
217
#CYCLE_DELAY .01
 
218
#CYCLE_DELAY_TIMEBASED 10
 
219
 
 
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
 
225
 
 
226
# These settings goes one step further and disables rubber directly after turns:
 
227
#CYCLE_RUBBER_DELAY .5
 
228
#CYCLE_RUBBER_DELAY_BONUS 0
 
229
 
 
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
 
235
 
 
236
# Or even make rubber more effective at high speeds:
 
237
#CYCLE_RUBBER_TIMEBASED 2
 
238
 
 
239
############################################################################################
 
240
#
 
241
# cycle networking settings
 
242
#
 
243
############################################################################################
 
244
 
 
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.
 
247
 
 
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.
 
254
 
 
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
 
257
 
 
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.
 
261
 
 
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.
 
266
 
 
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.
 
273
 
 
274
############################################################################################
 
275
#
 
276
# chatbot settings
 
277
#
 
278
############################################################################################
 
279
 
 
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
 
286
 
 
287
############################################################################################
 
288
#
 
289
# convenience settings
 
290
#
 
291
############################################################################################
 
292
 
 
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
 
295
 
 
296
############################################################################################
 
297
#
 
298
# recording settings
 
299
#
 
300
############################################################################################
 
301
 
 
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
 
306
 
 
307
############################################################################################
 
308
#
 
309
# visual settings
 
310
#
 
311
############################################################################################
 
312
 
 
313
include settings_visual.cfg
 
314
 
 
315
#HEADLIGHT 1             # turn on headlight effect (requires shaders)
 
316
 
 
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? 
 
319
 
 
320
# custom screen mode or window size (in case your OS does not report back your favorite
 
321
# screen mode by itself)
 
322
 
 
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)
 
327
 
 
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.
 
330
 
 
331
############################################################################################
 
332
#
 
333
# camera settings
 
334
#
 
335
############################################################################################
 
336
 
 
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
 
343
 
 
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
 
347
 
 
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
 
351
 
 
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
 
355
 
 
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
 
359
 
 
360
 
 
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
 
370
 
 
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
 
377
 
 
378
# the old custom camera settings for those who miss them
 
379
 
 
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
 
393
 
 
394
 
 
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
 
401
 
 
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
 
408
 
 
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
 
414
 
 
415
CAMERA_IN_TURN_SPEED         40        # speed the internal camera turns with
 
416
 
 
417
# camera clipping VS wall lowering settings
 
418
 
 
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
 
421
 
 
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
 
424
 
 
425
############################################################################################
 
426
#
 
427
# game rules settings
 
428
#
 
429
############################################################################################
 
430
 
 
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
 
436
                   # someones wall
 
437
 
 
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)
 
441
 
 
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. 
 
447
 
 
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
 
450
 
 
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:
 
456
 
 
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.
 
463
 
 
464
# for single player highscore hunt on this server:
 
465
 
 
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)
 
470
 
 
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.
 
477
 
 
478
SILENCE_DEFAULT 0  # silence new players by default?
 
479
ENABLE_CHAT 1      # allow public messages?
 
480
 
 
481
# ladder constants
 
482
 
 
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
 
486
 
 
487
LADDER_LOSE_PERCENT_ON_LOAD .2   # you lose this percentage of your
 
488
                                 # score every time
 
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
 
493
 
 
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.
 
497
 
 
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.
 
504
 
 
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
 
508
 
 
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.
 
511
 
 
512
# win zone settings
 
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
 
517
 
 
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:
 
521
 
 
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.
 
526
 
 
527
# what happens when a zone gets conquered
 
528
 
 
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
 
534
 
 
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.
 
537
 
 
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.
 
539
 
 
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)
 
541
 
 
542
############################################################################################
 
543
#
 
544
# backward network compatibility
 
545
#
 
546
############################################################################################
 
547
 
 
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
 
560
# clients.
 
561
#
 
562
 
 
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)
 
568
 
 
569
#
 
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:
 
577
#
 
578
 
 
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.
 
581
#MAP_FILE_OVERRIDE   1
 
582
 
 
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)
 
585
#MAP_FILE_OVERRIDE   0
 
586
 
 
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.
 
590
MAP_FILE_OVERRIDE    3
 
591
 
 
592
############################################################################################
 
593
#                       EXPERT SECTION
 
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
############################################################################################
 
600
 
 
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.
 
604
FONT_MIN_R .5
 
605
FONT_MIN_G .5
 
606
FONT_MIN_B .5
 
607
FONT_MIN_TOTAL .7
 
608
#FONT_MIN_TOTAL 1.0 # that was the hardcoded value in 0.2.7.1 and earlier.
 
609
 
 
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
 
614
 
 
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.
 
627
 
 
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
 
633
 
 
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.
 
638
 
 
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
 
642
 
 
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
 
648
 
 
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
 
654
 
 
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
 
658
 
 
659
CAMERA_SMART_CYCLESPEED 20.0            # typical cycle speed
 
660
 
 
661
CAMERA_SMART_DISTANCESCALE .2           # distance scale measured relative to cycle speed
 
662
CAMERA_SMART_MIN_DISTANCESCALE 5.0      # minimal distance scale in meters
 
663
 
 
664
# server browser query settings
 
665
 
 
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.
 
674
 
 
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
 
679
 
 
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
 
686
 
 
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.
 
694
 
 
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
 
697
 
 
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
 
702
 
 
703
# Game level lag compensation
 
704
 
 
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
 
708
# side:
 
709
 
 
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.
 
718
LAG_CREDIT 0.5
 
719
 
 
720
# but not more than this much credit is given for a single event.
 
721
LAG_CREDIT_SINGLE 0.1
 
722
 
 
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
 
726
 
 
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. 
 
730
LAG_CREDIT_TIME 600
 
731
 
 
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.
 
736
LAG_SWEET_SPOT .2
 
737
 
 
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.
 
745
 
 
746
# This variable controls how much relative speedup the game timer maximally can get
 
747
# during compensation:
 
748
LAG_MAX_SPEEDUP_TIMER .2
 
749
 
 
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.
 
752
LAG_SLOW_TIME 30.0
 
753
LAG_FAST_TIME 2.0
 
754
 
 
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.
 
758
LAG_SLOW_WEIGHT 0.2
 
759
LAG_FAST_WEIGHT 1.0
 
760
 
 
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
 
765
 
 
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
 
769
 
 
770
# This one is for old clients that don't support the automatic lag adaption protocol.
 
771
LAG_OFFSET_LEGACY 0.0
 
772
 
 
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.
 
779
TIME_FACTOR 1.0
 
780
 
 
781
# deprecated settings, they'll go away unless there are protests
 
782
 
 
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
 
785
 
 
786
############################################################################################
 
787
#
 
788
# Debugging (only available if compiled for debug)
 
789
#
 
790
############################################################################################
 
791
 
 
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