File: default.cfg

package info (click to toggle)
0ad-data 0.28.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,518,104 kB
  • sloc: xml: 92; makefile: 6
file content (683 lines) | stat: -rw-r--r-- 31,959 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
; Global Configuration Settings
;
; **************************************************************
; * DO NOT EDIT THIS FILE if you want personal customisations: *
; * create a text file called "local.cfg" instead, and copy    *
; * the lines from this file that you want to change.          *
; *                                                            *
; * If a setting is part of a section (for instance [hotkey])  *
; * you need to append the section name at the beginning of    *
; * your custom line (for instance you need to write           *
; * "hotkey.pause = Space" if you want to change the pausing   *
; * hotkey to the spacebar).                                   *
; *                                                            *
; * On Linux, create:                                          *
; *   $XDG_CONFIG_HOME/0ad/config/local.cfg                    *
; *   (Note: $XDG_CONFIG_HOME defaults to ~/.config)           *
; *                                                            *
; * On OS X, create:                                           *
; *   ~/Library/Application\ Support/0ad/config/local.cfg      *
; *                                                            *
; * On Windows, create:                                        *
; *   %appdata%\0ad\config\local.cfg                           *
; *                                                            *
; **************************************************************

; Enable/disable windowed mode by default. (Use Alt+Enter to toggle in the game.)
windowed = false

; Switches between real fullscreen and borderless window on a full display size.
borderless.fullscreen = true
; Hides a window border in the windowed mode.
borderless.window = false

; Constrain mouse in the fullscreen mode to a window boundaries.
window.mousegrabinfullscreen = true
; The same but for the window mode.
window.mousegrabinwindowmode = false

; Show detailed tooltips (Unit stats)
showdetailedtooltips = false

; Pause the game on window focus loss (Only applicable to single player mode)
pauseonfocusloss = true

; Persist settings after leaving the game setup screen
persistmatchsettings = true

; Default player name to use in multiplayer
; playername = "anonymous"

; Default server name or IP to use in multiplayer
multiplayerserver = "127.0.0.1"

; Force a particular resolution. (If these are 0, the default is
; to keep the current desktop resolution in fullscreen mode or to
; use 1024x768 in windowed mode.)
xres = 0
yres = 0

; Force a non-standard bit depth (if 0 then use the current desktop bit depth)
bpp = 0

; Preferred display (for multidisplay setups, only works with SDL 2.0)
display = 0

; Enable Hi-DPI where supported, currently working only for testing.
hidpi = false

; Allows to force GL version for SDL
forceglversion = false
forceglprofile = "compatibility" ; Possible values: compatibility, core, es
forceglmajorversion = 3
forceglminorversion = 3

; Big screenshot tiles
screenshot.tiles = 8
screenshot.tilewidth = 480
screenshot.tileheight = 270

; Emulate right-click with Ctrl+Click on Mac mice
macmouse = false

; System settings:

; if false, actors won't be rendered but anything entity will be.
renderactors = true

watereffects=true ; When disabled, force usage of the fixed pipeline water. This is faster, but really, really ugly.
waterfancyeffects = false
waterrealdepth = true
waterrefraction = true
waterreflection = true

shadows = true
shadowquality = 0      ; Shadow map resolution. (-1 - Low, 0 - Medium, 1 - High, 2 - Very High)
                       ; High values can crash the game when using a graphics card with low memory!
shadowpcf = true
; Increases details closer to the camera but decreases performance
; especially on low hardware.
shadowscascadecount = 1
shadowscascadedistanceratio = 1.7
; Hides shadows after the distance.
shadowscutoffdistance = 300.0
; If true shadows cover the whole map instead of the camera frustum.
shadowscovermap = false

renderer.scale = 1.0
renderer.upscale.technique = "fsr"

vsync = false
particles = true
fog = true
silhouettes = true
showsky = true

; Uses a synchonized call to a GL driver to get an error state. Useful
; for a debugging of a system without GL_KHR_debug.
gl.checkerrorafterswap = false

; Different ways to draw a cursor, possible values are "sdl" and "system".
; The "system" one doesn't support a visual change of the cursor.
cursorbackend = "sdl"

; Backends for all graphics rendering:
;   glarb - GL with legacy assembler-like shaders, might used only for buggy drivers.
;   gl - GL with GLSL shaders, should be used by default.
;   dummy - backend that does nothing, allows to check performance without backend drivers.
;   vulkan - Vulkan with SPIR-V shaders.
rendererbackend = "gl"

; Enables additional debug information in renderer backend.
renderer.backend.debugcontext = false
renderer.backend.debugmessages = false
renderer.backend.debuglabels = false
renderer.backend.debugscopedlabels = false

renderer.backend.gl.enableframebufferinvalidating = false

renderer.backend.vulkan.disabledescriptorindexing = false
renderer.backend.vulkan.deviceindexoverride = -1
renderer.backend.vulkan.destroyoldswapchainbefore = false

; In case index override isn't enough we might choose a device automatically.
renderer.backend.vulkan.choosebestdevice = false

renderer.backend.vulkan.debugbarrierafterframebufferpass = false
renderer.backend.vulkan.debugwaitidlebeforeacquire = false
renderer.backend.vulkan.debugwaitidlebeforepresent = false
renderer.backend.vulkan.debugwaitidleafterpresent = false

; Should not be edited. It's used only for preventing of running fixed pipeline.
renderpath = default

; (0 - low, 1 - medium, 2 - high), higher quality means worse performance.
textures.quality = 2

; (1, 2, 4, 8 and 16)
textures.maxanisotropy = 2

; GPU skinning via compute shaders, requires up-to-date drivers
gpuskinning = true

; Use smooth LOS interpolation
smoothlos = true

; Use screen-space postprocessing filters (HDR, bloom, DOF, etc). Incompatible with fixed renderpath.
postproc = true

; Use anti-aliasing techniques.
antialiasing = "disabled"

; Use sharpening techniques.
sharpening = "disabled"
sharpness = 0.3

; Quality used for actors.
max_actor_quality=200

; Whether or not actor variants are selected randomly, possible values are "full", "limited", "none".
variant_diversity = "full"

; Quality level of shader effects (set to 10 to display all effects)
materialmgr.quality = 10.0

;;;;;;;;;;;;;;;;;;;;;;;;

[adaptivefps]
session = 60         ; Throttle FPS in running games (prevents 100% CPU workload).
menu = 60            ; Throttle FPS in menus only.

[profiler2]
server = "127.0.0.1"
server.port = "8000"              ; Use a free port on your machine.
server.threads = "6"              ; Enough for the browser's parallel connection limit
autoenable = false                ; Enable HTTP server output at startup (default off for security/performance)
gpu.enable = true                 ; Allow GPU timing mode when available.

[console]
font = "mono-10"
history.size = 200
history.ignore_duplicates = true          ; Don't store consecutive identical commands twice

[hotkey]
; Each one of the specified keys will trigger the action on the left
; for multiple-key combinations, separate keys with '+'.
; See keys.txt for the list of key names.

; > SYSTEM SETTINGS
exit = ""                                ; 'Custom' exit to desktop, SDL handles the native command via SDL_Quit.
cancel = Escape                          ; Close or cancel the current dialog box/popup
confirm = Return                         ; Confirm the current command
pause = Pause, "Shift+Space"             ; Pause/unpause game
screenshot = F2                          ; Take PNG screenshot
bigscreenshot = "Shift+F2"               ; Take large BMP screenshot
togglefullscreen = "Alt+Return"          ; Toggle fullscreen/windowed mode
screenshot.watermark = "Alt+K"           ; Toggle product/company watermark for official screenshots
wireframe = "Alt+Shift+W"                ; Toggle wireframe mode
silhouettes = "Alt+Shift+S"              ; Toggle unit silhouettes
mousegrabtoggle = F3                     ; Toggle mouse grabbing mode

; > DIALOG HOTKEYS
summary = "Ctrl+Tab"                     ; Toggle in-game summary
lobby = "Alt+L"                          ; Show the multiplayer lobby in a dialog window.
structree = "Alt+Shift+T"                ; Show structure tree
civinfo = "Alt+Shift+H"                  ; Show civilization info

; > CLIPBOARD CONTROLS
copy = "Ctrl+C"                       ; Copy to clipboard
paste = "Ctrl+V"                      ; Paste from clipboard
cut = "Ctrl+X"                        ; Cut selected text and copy to the clipboard

; > CONSOLE SETTINGS
console.toggle = BackQuote, F9        ; Open/close console

; > OVERLAY KEYS
fps.toggle = "Alt+F"                  ; Toggle frame counter
realtime.toggle = "Alt+T"             ; Toggle current display of computer time
timeelapsedcounter.toggle = "F12"     ; Toggle time elapsed counter
ceasefirecounter.toggle = ""          ; Toggle ceasefire counter

; > HOTKEYS ONLY
chat = Return                         ; Toggle chat window
teamchat = "T"                        ; Toggle chat window in team chat mode
privatechat = "L"                     ; Toggle chat window and select the previous private chat partner

; > QUICKSAVE
quicksave = "Shift+F5"
quickload = "Shift+F8"

[hotkey.camera]
reset = "R"                                   ; Reset camera rotation to default.
follow = ""                                   ; Follow the first unit in the selection
rallypointfocus = ""                          ; Focus the camera on the rally point of the selected building
lastattackfocus = "Space"                     ; Focus the camera on the last notified attack
togglebirdseyeview = "Shift+Tab"              ; Toggle bird's eye view
zoom.in = Plus, NumPlus                       ; Zoom camera in (continuous control)
zoom.out = Minus, NumMinus                    ; Zoom camera out (continuous control)
zoom.wheel.in = WheelUp                       ; Zoom camera in (stepped control)
zoom.wheel.out = WheelDown                    ; Zoom camera out (stepped control)
rotate.up = "Ctrl+UpArrow", "Ctrl+W"          ; Rotate camera to look upwards
rotate.down = "Ctrl+DownArrow", "Ctrl+S"      ; Rotate camera to look downwards
rotate.cw = "Ctrl+LeftArrow", "Ctrl+A", Q     ; Rotate camera clockwise around terrain
rotate.ccw = "Ctrl+RightArrow", "Ctrl+D", E   ; Rotate camera anticlockwise around terrain
rotate.wheel.cw = "Shift+WheelUp", MouseX1    ; Rotate camera clockwise around terrain (stepped control)
rotate.wheel.ccw = "Shift+WheelDown", MouseX2 ; Rotate camera anticlockwise around terrain (stepped control)
pan = MouseMiddle                             ; Enable scrolling by moving mouse
left = A, LeftArrow                           ; Scroll or rotate left
right = D, RightArrow                         ; Scroll or rotate right
up = W, UpArrow                               ; Scroll or rotate up/forwards
down = S, DownArrow                           ; Scroll or rotate down/backwards
scroll.speed.increase = "Ctrl+Shift+S"        ; Increase scroll speed
scroll.speed.decrease = "Ctrl+Alt+S"          ; Decrease scroll speed
rotate.speed.increase = "Ctrl+Shift+R"        ; Increase rotation speed
rotate.speed.decrease = "Ctrl+Alt+R"          ; Decrease rotation speed
zoom.speed.increase = "Ctrl+Shift+Z"          ; Increase zoom speed
zoom.speed.decrease = "Ctrl+Alt+Z"            ; Decrease zoom speed

[hotkey.camera.jump]
1 = F5                       ; Jump to position N
2 = F6
3 = F7
4 = F8
;5 =
;6 =
;7 =
;8 =
;9 =
;10 =
[hotkey.camera.jump.set]
1 = "Ctrl+F5"                ; Set jump position N
2 = "Ctrl+F6"
3 = "Ctrl+F7"
4 = "Ctrl+F8"
;5 =
;6 =
;7 =
;8 =
;9 =
;10 =

[hotkey.profile]
toggle = "F11"               ; Enable/disable real-time profiler
save = "Shift+F11"           ; Save current profiler data to logs/profile.txt
[hotkey.profile2]
toggle = "Ctrl+F11"          ; Enable/disable HTTP/GPU modes for new profiler

[hotkey.selection]
cancel = Esc                            ; Un-select all units and cancel building placement
add = Shift                             ; Add units to selection
militaryonly = Alt                      ; Add only military units to the selection
nonmilitaryonly = "Alt+Y"               ; Add only non-military units to the selection
idleonly = "I"                          ; Select only idle units
woundedonly = "O"                       ; Select only wounded units
remove = Ctrl                           ; Remove units from selection
idlebuilder = Semicolon                 ; Select next idle builder
idleworker = Period, NumDecimal         ; Select next idle worker
idlewarrior = Slash, NumDivide          ; Select next idle warrior
idleunit = BackSlash                    ; Select next idle unit
offscreen = Alt                         ; Include offscreen units in selection
singleselection = "" ; Modifier to select units individually, opposed to per formation.
[hotkey.selection.group.add]
1 = "Shift+1", "Shift+Num1"
2 = "Shift+2", "Shift+Num2"
3 = "Shift+3", "Shift+Num3"
4 = "Shift+4", "Shift+Num4"
5 = "Shift+5", "Shift+Num5"
6 = "Shift+6", "Shift+Num6"
7 = "Shift+7", "Shift+Num7"
8 = "Shift+8", "Shift+Num8"
9 = "Shift+9", "Shift+Num9"
10 = "Shift+0", "Shift+Num0"
[hotkey.selection.group.save]
1 = "Ctrl+1", "Ctrl+Num1"
2 = "Ctrl+2", "Ctrl+Num2"
3 = "Ctrl+3", "Ctrl+Num3"
4 = "Ctrl+4", "Ctrl+Num4"
5 = "Ctrl+5", "Ctrl+Num5"
6 = "Ctrl+6", "Ctrl+Num6"
7 = "Ctrl+7", "Ctrl+Num7"
8 = "Ctrl+8", "Ctrl+Num8"
9 = "Ctrl+9", "Ctrl+Num9"
10 = "Ctrl+0", "Ctrl+Num0"
[hotkey.selection.group.select]
1 = 1, Num1
2 = 2, Num2
3 = 3, Num3
4 = 4, Num4
5 = 5, Num5
6 = 6, Num6
7 = 7, Num7
8 = 8, Num8
9 = 9, Num9
10 = 0, Num0

[hotkey.gamesetup]
mapbrowser.open = "M"

[hotkey.session]
kill = Delete, Backspace     ; Destroy selected units
stop = "H"                   ; Stop the current action
backtowork = "Y"             ; The unit will go back to work
unload = "U"                 ; Unload garrisoned units when a building/mechanical unit is selected
unloadturrets = "U" ; Unload turreted units.
leaveturret = "U" ; Leave turret point.
move = ""                    ; Modifier to move to a point instead of another action (e.g. gather)
capture = "C"                ; Modifier to capture instead of another action (e.g. attack)
attack = "F"                 ; Modifier to attack instead of another action (e.g. capture)
attackmove = Ctrl            ; Modifier to attackmove when clicking on a point
attackmoveUnit = "Ctrl+Q"    ; Modifier to attackmove targeting only units when clicking on a point
garrison = Ctrl              ; Modifier to garrison when clicking on building
occupyturret = Ctrl ; Modifier to occupy a turret when clicking on a turret holder.
autorallypoint = Ctrl        ; Modifier to set the rally point on the building itself
guard = "G"                  ; Modifier to escort/guard when clicking on unit/building
patrol = "P"                 ; Modifier to patrol a unit
repair = "J"                 ; Modifier to repair when clicking on building/mechanical unit
queue = Shift                ; Modifier to queue unit orders instead of replacing
pushorderfront = ""          ; Modifier to push unit orders to the front instead of replacing.
orderone = Alt               ; Modifier to order only one entity in selection.
batchtrain = Shift           ; Modifier to train units in batches
massbarter = Shift           ; Modifier to barter bunch of resources
masstribute = Shift          ; Modifier to tribute bunch of resources
noconfirmation = Shift       ; Do not ask confirmation when deleting a building/unit
fulltradeswap = Shift        ; Modifier to put the desired trade resource to 100%
unloadtype = Shift           ; Modifier to unload all units of type
deselectgroup = Ctrl         ; Modifier to deselect units when clicking group icon, instead of selecting
rotate.cw = RightBracket     ; Rotate building placement preview clockwise
rotate.ccw = LeftBracket     ; Rotate building placement preview anticlockwise
snaptoedges = Ctrl           ; Modifier to align new structures with nearby existing structure
toggledefaultformation = ""  ; Switch between null default formation and the last default formation used (defaults to "box")
flare = K                    ; Modifier to send a flare to your allies
flareactivate = ""           ; Modifier to activate the mode to send a flare to your allies
calltoarms = ""              ; Modifier to call the selected units to the arms.
focusfire = "F"              ; Modifier to control exclusively a building's arrows if it can attack
; Overlays
showstatusbars = ""          ; Toggle display of status bars
devcommands.toggle = "Alt+D" ; Toggle developer commands panel
highlightguarding = PageDown ; Toggle highlight of guarding units
highlightguarded = PageUp    ; Toggle highlight of guarded units
diplomacycolors = "Alt+X"    ; Toggle diplomacy colors
toggleattackrange = "Alt+C"  ; Toggle display of attack range overlays of selected defensive structures
toggleaurasrange = "Alt+V"   ; Toggle display of aura range overlays of selected units and structures
togglehealrange = "Alt+B"    ; Toggle display of heal range overlays of selected units

[hotkey.session.gui]
toggle = "Alt+G"             ; Toggle visibility of session GUI
menu.toggle = "F10"          ; Toggle in-game menu
diplomacy.toggle = "Ctrl+H"  ; Toggle in-game diplomacy page
barter.toggle = "Ctrl+B"     ; Toggle in-game barter/trade page
matchsettings.toggle = "Ctrl+O" ; Toggle in-game match settings page
tutorial.toggle = "Ctrl+P"   ; Toggle in-game tutorial panel

[hotkey.session.savedgames]
delete = Delete, Backspace    ; Delete the selected saved game asking confirmation
noconfirmation = Shift        ; Do not ask confirmation when deleting a game

[hotkey.session.queueunit]   ; > UNIT TRAINING
1 = "Z"            ; add first unit type to queue
2 = "X"            ; add second unit type to queue
3 = "C"            ; add third unit type to queue
4 = "V"            ; add fourth unit type to queue
5 = "B"            ; add fivth unit type to queue
6 = "N"            ; add sixth unit type to queue
7 = "M"            ; add seventh unit type to queue
8 = Comma          ; add eighth unit type to queue

[hotkey.session.timewarp]
fastforward = "Ctrl+Space"         ; If timewarp mode enabled, speed up the game
rewind = "Shift+Backspace"        ; If timewarp mode enabled, go back to earlier point in the game

[hotkey.tab]
next = "Tab", "Alt+S"             ; Show the next tab
prev = "Shift+Tab", "Alt+W"       ; Show the previous tab

[hotkey.item]
next = "RightArrow"               ; Show the next item of a list
prev = "LeftArrow"                ; Show the previous item of a list

[hotkey.text]    ; > GUI TEXTBOX HOTKEYS
delete.left = "Ctrl+Backspace"    ; Delete word to the left of cursor
delete.right = "Ctrl+Del"         ; Delete word to the right of cursor
move.left = "Ctrl+LeftArrow"      ; Move cursor to start of word to the left of cursor
move.right = "Ctrl+RightArrow"    ; Move cursor to start of word to the right of cursor

[gui]
cursorblinkrate = 0.5             ; Cursor blink rate in seconds (0.0 to disable blinking)
scale = 1.0                       ; GUI scaling factor, for improved compatibility with 4K displays

[gui.gamesetup]
enabletips = true                 ; Enable/Disable tips during gamesetup (for newcomers)
assignplayers = everyone          ; Whether to assign joining clients to free playerslots. Possible values: everyone, buddies, disabled.
aidifficulty = 3                  ; Difficulty level, from 0 (easiest) to 5 (hardest)
aibehavior = "random"             ; Default behavior of the AI (random, balanced, aggressive or defensive)
settingsslide = true              ; Enable/Disable settings panel slide

[gui.loadingscreen]
progressdescription = false       ; Whether to display the progress percent or a textual description

[gui.session]
dragdelta = 4                     ; Number of pixels the mouse can move before the action is considered a drag
camerajump.threshold = 40         ; How close do we have to be to the actual location in order to jump back to the previous one?
timeelapsedcounter = false        ; Show the game duration in the top right corner
ceasefirecounter = false          ; Show the remaining ceasefire time in the top right corner
batchtrainingsize = 5             ; Number of units to be trained per batch by default (when pressing the hotkey)
scrollbatchratio = 1              ; Number of times you have to scroll to increase/decrease the batchsize by 1
flarelifetime = 6                 ; How long the flare markers on the minimap are displayed in seconds
woundedunithotkeythreshold = 33   ; The wounded unit hotkey considers the selected units as wounded if their health percentage falls below this number
attackrange = true                ; Display attack range overlays of selected defensive structures
aurasrange = true                 ; Display aura range overlays of selected units and structures
healrange = true                  ; Display heal range overlays of selected units
rankabovestatusbar = true         ; Show rank icons above status bars
experiencestatusbar = true        ; Show an experience status bar above each selected unit
respoptooltipsort = 0             ; Sorting players in the resources and population tooltip by value (0 - no sort, -1 - ascending, 1 - descending)
snaptoedges = "disabled"          ; Possible values: disabled, enabled.
snaptoedgesdistancethreshold = 15 ; On which distance we don't snap to edges
disjointcontrolgroups = "true"    ; Whether control groups are disjoint sets or entities can be in multiple control groups at the same time.
defaultformation = "special/formations/box" ; For walking orders, automatically put units into this formation if they don't have one already.
formationwalkonly = "true"                  ; Formations are disabled when giving gather/attack/... orders.
howtoshownames = 0 ; Whether the specific names are show as default, as opposed to the generic names. And whether the secondary names are shown. (0 - show both; specific names primary, 1 - show both; generic names primary, 2 - show only specific names, 3 - show only generic names)
selectformationasone = "true" ; Whether to select formations as a whole by default.

[gui.session.minimap]
; Icons that are displayed for some entities on a minimap.
icons.enabled = "true"
icons.opacity = 1.0
icons.sizescale = 1.0
entityradiusscale = 1.0
blinkduration = 1.7               ; The blink duration while pinging
pingduration = 50.0               ; The duration for which an entity will be pinged after an attack notification

[gui.session.notifications]
attack = true                     ; Show a chat notification if you are attacked by another player
tribute = true                    ; Show a chat notification if an ally tributes resources to another team member if teams are locked, and all tributes in observer mode
barter = true                     ; Show a chat notification to observers when a player bartered resources
flare = always                    ; Show a chat notification when a player sends a flare. Possible values: never, observer, always.
phase = completed                 ; Show a chat notification if you or an ally have started, aborted or completed a new phase, and phases of all players in observer mode. Possible values: none, completed, all.

[gui.splashscreen]
enable = true                     ; Enable/disable the splashscreen
version = 0                       ; Splashscreen version (MD5 hash of file content). By default, 0 to force splashscreen to appear at first launch

[gui.session.diplomacycolors]
self = "21 55 149"                ; Color of your units when diplomacy colors are enabled
ally = "86 180 31"                ; Color of allies when diplomacy colors are enabled
neutral = "231 200 5"             ; Color of neutral players when diplomacy colors are enabled
enemy = "150 20 20"               ; Color of enemies when diplomacy colors are enabled

[joystick]        ; EXPERIMENTAL: joystick/gamepad settings
enable = false
deadzone = 8192

[chat]
timestamp = true                    ; Show at which time chat messages have been sent

[chat.session]
extended = true                     ; Whether to display the chat history

[lobby]
history = 0                         ; Number of past messages to display on join
room = "arena28"                    ; Default MUC room to join
server = "lobby.wildfiregames.com"  ; Address of lobby server
tls = true                          ; Whether to use TLS encryption when connecting to the server.
verify_certificate = true           ; Whether to reject connecting to the lobby if the TLS certificate is invalid
terms_url = "https://gitea.wildfiregames.com/0ad/0ad/src/branch/main/binaries/data/mods/public/gui/prelobby/common/terms/"; Allows the user to save the text and print the terms
terms_of_service = "0"              ; Version (hash) of the Terms of Service that the user has accepted
terms_of_use = "0"                  ; Version (hash) of the Terms of Use that the user has accepted
privacy_policy = "0"                ; Version (hash) of the Privacy Policy that the user has accepted
xpartamupp = "wfgbot28"             ; Name of the server-side XMPP-account that manage games
echelon = "echelon28"               ; Name of the server-side XMPP-account that manages ratings
buddies = ","                       ; Comma separated list of playernames that the current user has marked as buddies
rememberpassword = true             ; Whether to store the encrypted password in the user config

[lobby.columns]
gamerating = false                  ; Show the average rating of the participating players in a column of the gamelist

[lobby.stun]
server = "lobby.wildfiregames.com"   ; Address of the STUN server.
port = 3478                          ; Port of the STUN server.
delay = 10                           ; Duration in milliseconds that is waited between checking for retrieved STUN responses.
                                     ; Smaller numbers speed up joins but may make them less stable, if max_tries isn't increased proportionally as well.
max_tries = 100                      ; Maximum number of tries for receiving STUN responses.

[lobby.fw_punch]
delay = 200                          ; Duration in milliseconds between sending hole punching messages.
num_msg = 3                          ; Number of hole punching messages to send.

[mod]
enabledmods = "mod public"

[modio]

public_key = "RWRoZZuNzi1wX+Hs5NKAf+GghHwye3mFePfBzOFt3mqYUZAkqAvs69W2" ; Public key corresponding to the private key valid mods are signed with
disclaimer = "0"                     ; Version (hash) of the Disclaimer that the user has accepted

[modio.v1]
baseurl = "https://g-5.modapi.io/v1"
api_key = "23df258a71711ea6e4b50893acc1ba55"
name_id = "0ad"

[network]
duplicateplayernames = false      ; Rename joining player to "User (2)" if "User" is already connected, otherwise prohibit join.
lateobservers = everyone          ; Allow observers to join the game after it started. Possible values: everyone, buddies, disabled.
observerlimit = 8                 ; Prevent further observer joins in running games if this limit is reached
observermaxlag = -1               ; Make clients wait for observers if they lag more than X turns behind. -1 means "never wait for observers".
autocatchup = true        ; Auto-accelerate the sim rate if lagging behind (as an observer).
enetmtu = 1372            ; Lower ENet protocol MTU in case packets get further fragmented on the UDP layer which may cause drops.

[overlay]
fps = "false"                     ; Show frames per second in top right corner
realtime = "false"                ; Show current system time in top right corner
netwarnings = "true"              ; Show warnings if the network connection is bad

[rlinterface]
address = "127.0.0.1:6000"

[dapinterface]
address = "127.0.0.1"
port = 9229

[sound]
mastergain = 0.9
musicgain = 0.2
ambientgain = 0.6
actiongain = 0.7
uigain = 0.7
mindistance = 1
maxdistance = 350
maxstereoangle = 0.62 ; About PI/5 radians

[sound.notify]
nick = true                       ; Play a sound when someone mentions your name in the lobby or game
gamesetup.join = false            ; Play a sound when a new client joins the game setup

[tinygettext]
debug = false                     ; Print error messages each time a translation for an English string is not found.

[userreport] ; Opt-in online user reporting system
url_upload = "https://feedback.wildfiregames.com/report/upload/v1/" ; URL where UserReports are uploaded to
url_publication = "https://feedback.wildfiregames.com/"             ; URL where UserReports were analyzed and published
url_terms = "https://gitea.wildfiregames.com/0ad/0ad/src/branch/main/binaries/data/mods/public/gui/userreport/Terms_and_Conditions.txt"; Allows the user to save the text and print the terms
terms = "0"                       ; Version (hash) of the UserReporter Terms that the user has accepted

[view] ; Camera control settings
scroll.speed = 120.0
scroll.speed.modifier = 1.05      ; Multiplier for changing scroll speed
scroll.mouse.detectdistance = 3
rotate.x.speed = 1.2
rotate.x.min = 28.0
rotate.x.max = 60.0
rotate.x.default = 35.0
rotate.y.speed = 2.0
rotate.y.speed.wheel = 0.45
rotate.y.default = 0.0
rotate.speed.modifier = 1.05      ; Multiplier for changing rotation speed
drag.speed = 0.5
drag.inverted = false             ; Pan in the opposite direction of drag movement
zoom.speed = 256.0
zoom.speed.wheel = 32.0
zoom.min = 50.0
zoom.max = 200.0
zoom.default = 120.0
zoom.speed.modifier = 1.05        ; Multiplier for changing zoom speed
pos.smoothness = 0.1
zoom.smoothness = 0.4
rotate.x.smoothness = 0.5
rotate.y.smoothness = 0.3
near = 2.0                        ; Near plane distance
far = 4096.0                      ; Far plane distance
fov = 45.0                        ; Field of view (degrees), lower is narrow, higher is wide
height.smoothness = 0.5
height.min = 16

[fonts]
default = "LinBiolinum_Rah.ttf", "FreeSans.ttf" ; Default font to use for all text
debugbox = false ; Whether to draw a debug box around text, useful for debugging text rendering issues
; Color of the debug box, if enabled.
; When A8 or R8 "R G B" only take R as alpha channel.
; When R8G8B8A: "R G B" where R, G, B are integers from 0 to 255.
debugboxcolor = "128 0 128"

;;;;;;;;;;;;;;;;;;;;;;;;

; **************************************************************
; Font format in configuration is
; [fonts.<locale>.<fontalias>]
; In GUI XML files, use the font alias.
; Example for regular: font="<fontalias>-<fontsize>"
; Example for bold: font="<fontalias>-bold-<fontsize>"
; Example for italic: font="<fontalias>-italic-<fontsize>"
; If you need troke font use the following format:
; Example for stroke: font="....-stroke-<fontsize>"
;
; Support for locale fonts
; [fonts.<locale>.<fontalias>]
; Example: fonts.jp.sans = "font.ttf"
;
; Each value is a comma separated list of font files
; Example: fonts.sans.regular = "font.ttf", "font2.ttf"
; Example: fonts.sans.bold = "font.ttf"
; **************************************************************

[fonts.sans]
regular = "LinBiolinum_Rah.ttf", "FreeSans.ttf"
bold = "LinBiolinum_RBah.ttf", "FreeSansBold.ttf"
italic = "LinBiolinum_RIah.ttf", "FreeSansOblique.ttf"

[fonts.mono]
regular = "DejaVuSansMono.ttf", "FreeMono.ttf"

[fonts.ja.sans]
regular = "SourceHanSansJP-Regular.otf"
bold = "SourceHanSansJP-Bold.otf"

[fonts.zh.sans]
regular = "SourceHanSansCN-Regular.otf"
bold = "SourceHanSansCN-Bold.otf"

[fonts.zh_TW.sans]
regular = "SourceHanSansTW-Regular.otf"
bold = "SourceHanSansTW-Bold.otf"

[fonts.ko.sans]
regular = "SourceHanSansKR-Regular.otf"
bold = "SourceHanSansKR-Bold.otf"