-
Notifications
You must be signed in to change notification settings - Fork 5
/
NEWS
1212 lines (1071 loc) · 53.4 KB
/
NEWS
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
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Changes since 0.2.9.1.1:
Fixed Bugs
- Sound trouble deja entendu (#130)
- Docker/Alpine: Crash in ZThread::ThreadOps::setPriority (#138)
- Display lists keep rim wall lowered (#141)
- FPS display inaccurate (#143)
- Online play suddenly stopped working. (#145)
- Work around Ubuntu sending spurious window activation messages (#68)
- Desktop/AppData/Icon files are installed in a wrong place during
make install (#73)
- Steam: No logging, does not work in pressure vessel (#77)
- Retina display not working correctly (#88)
- 0.2.9 clients lose connection on 0.4 server (#98)
- Window title sometimes SDL_APP (#102)
- Docker Image: Increase thread stack size (#104)
- Client sends quickly typed chat message with last character missing
(#106)
- Backslashes not escaped when saving to user.cfg (#110)
- Fix invulnerability bug handling (#111)
- macOS DMG Build problems when building inside the source tree (#119)
- error: use of undeclared identifier ‘finite’; did you mean
‘isfinite’? (#120)
- User data saved in the wrong place on macOS (#125)
New Features
- Make network trafic realtime priority (#137)
- Add AppImage zsync update data (#78)
- Provide docker image for the dedicated server (#79)
- Add macOS dmg bundling (#86)
- Integrate macOS build into pipeline (#87)
- Sign the application bundle (#89)
Other Changes
- Flatpak adaptions (#75)
Contributors
Armanelgtron, Cosimo Cecchi, Manuel Moos
Changes since 0.2.9.1.0:
Fixed Bugs
- Crash when using sdl12-compat (#131)
- Ubuntu versions contain _(ppa1)ppa1 (#70)
- Website update waits for launchpad uploads that do not happen (#71)
- Versioning script incorrectly takes current tag into account (#72)
Other Changes
- Improve deployment cancellation (#80)
- macOS Build (#82)
Contributors
Christian Mäder, Manuel Moos
Changes since 0.2.9.0.1:
Fixed Bugs
- Use after free in nNetObject::ClearKnows (#34)
- Missing null check for master server info (#58)
- Basic screen aspect ratio failures: Text (#59)
- Center message issues (#62)
- AppImage library content still lacking (#63)
- Crash in menu key repeat handling (#66)
New Features
- Make AppImage builds fit for registration at AppImageHub (#17)
- Make SIZE_ and SPEED_FACTOR floating point instead of integer (#20)
- Do not show a player’s own IP on the client (#27)
- Make –playback optional so recordings can be more easily played back
(#37)
- Steam on Windows: Add playback registry keys so .aarec files
automatically playback with a doubleclick (#38)
Other Changes
- Make custom camera the default for new players (#35)
- Turn down tutorial tooltip spam (#36)
- Onboarding game improvements (#39)
Contributors
Armanelgtron, Manuel Moos, SwagTron
Changes since 0.2.9.0:
Fixed Bugs
- Can't open the .appimage file. Missing libwebp.so.5 (#54)
Contributors
Manuel Moos
Changes since 0.2.8.3.5:
New Features
- Debian builds: Documentation html files have empty last change (#9)
- Socket and unclean exit trouble due to fork(), execve() and exit()
interaction (#13)
- Ubuntu PPA release candidate builds would overwrite previous stable
releases (#15)
- Language string identifier silence_player_text used twice (#22)
- Bad video mode error recovery (#23)
- AppRun script does not work if call path contains spaces (#24)
- Included forum links outdated (#25)
- Client segfaults on OpenBSD (#26)
- Client compiled with clang 10.0 (optimized) sefgaults on logout
(#28)
- Valgrind reports uses of unitialized, freed or invalid memory (#29)
- Windows: DPI scaling behavior wrong (#33)
Fixed Bugs
- Update German translation (#2)
- Adapt ChangeLog and fingerprint generation to git (#11)
- Integrated build system (#14)
- Make playback time display optional (#16)
- Deploy to itch.io (#19)
- Credit contributors in patch notes (#21)
Other Changes
- Make custom camera the default for new players (#35)
Contributors
Daniel Harple, Hugh McMaster, Luke-Jr, Manuel Moos, Uzix, fman23,
zolk3ri
Other changes on the 0.2.9 branch
- New Low Latency or High Throughput optimizing swap/sync system.
- Switched to utf-8 encoded strings internally and for config files.
Language files can be either utf-8 or latin-1.
- New command: “TOGGLE”. Cycle between 0 and 1 for a boolean config item.
Example: Create an instant chat with the text “/console toggle predict_objects”.
- New setting SILENCE_ENEMIES (boolean). When enabled, chat sent from enemies
is not displayed on your client if you are alive. If you are dead all chat
is displayed.
- New console commands OP and DEOP replicate the functionnality of chat commands /op and /deop
- New vote: /callvote referee <player>: Elevates <player> to access level 6. /callvote demotereferee reverts.
- Config and map rotation can be manually reset with the command
“RESET_ROTATION”. Rotation can automatically be reset when a START_NEW_MATCH
command is issued by enabling “RESET_ROTATION_ON_START_NEW_MATCH”.
- New admin command: "SCRAMBLE". Scrambles/randomises which players are in which team.
- New vote: /callvote scramble: Executes the SCRAMBLE command.
- Teams now retain their spawn for later respawing
- New ladderlog entries:
- PLAYER_RESPAWN <RESPAWNEE> <RESPAWNEE'S TEAM> [RESPAWNER]
- DEATH_DEATHZONE <player>
- WINZONE_PLAYER_ENTER <player>
- ONLINE_TEAM <name> <total score>
- ONLINE_AI <player> <team> <total score>
- Changes to the ONLINE_PLAYER ladderlog event:
- It is now enabled by default.
- Added additional information about the access level and total score of
the player.
- Players are written in the order of their launch position on the team.
- Removed POSITIONS ladderlog event. ONLINE_PLAYER and ONLINE_AI now include all
the information it provided.
- Ladderlog events now have a specification that defines their format. See
settings_dedicated.cfg for more documentation.
- New commands LADDERLOG_SCRIPT_WRITE, and LADDERLOG_SCRIPT_WRITE_ALL that
allow better control over which events are sent to spawned scripts.
- The CONSOLE_LADDER_LOG setting has been removed. Its functionality has been
reimplemented in scripts/examples/echo.sh.
- New warmup mode:
- DO_WARMUP N>0 will make the game enter warmup mode after each N matches
- In warmup mode, players can use the /ready command to set themselves ready and start the match
- Team joins/switches/leaves(when using /teamleave) are done instantly
- By default, players respawn in warmup mode (WARMUP_RESPAWN_TIME)
- The game starts when each team has ready/total > WARMUP_MIN_READY(0.51)
- However, there should be at least WARMUP_MIN_PLAYERS(2) humans before the warmup can end
- Readiness state is synced to clients so that newer ones can show an icon on the scoreboard
- ALL_READY makes the game behave as if all players had readied up.
- New ladderlog entries:
- NEW_WARMUP replaces NEW_MATCH when appropriate: NEW_WARMUP <N> <TIMESTAMP>
with N the number of matches to be played consecutively
- MATCHES_LEFT <N>
- DEADLY_EXPLOSIONS setting. When enabled, cycles in the blast radius of an
explosion will be destroyed, and DEATH_EXPLOSION will be written to ladderlog.
Scoring can be applied with the SCORE_EXPLOSION and SCORE_EXPLOSION_OWNER
settings.
- Team invitations are synced to clients and conditionally displayed in the
score table.
- Added /invites chat command to list team invitations.
- New helper program armagetronad-serverquery. Fetches the master list and
advanced server information, and outputs it in a JSON format. Only available
in dedicated server builds.
- Tutorials and Challenges
- Resource corruption can be detected in some cases and triggers a redownload.
- New camera settings: CAMERA_FREE_START_PITCH/ROTATE adjust direction of free camera
- New camera commands: WARP_CAMERA warps one camera to a specified setup,
SAVE_CAMERAS prints the commands to restore the current configuration.
- Upper sky can now be loaded from moviepack/upper_sky.png resp. textures/upper_sky.png;
if they do not exist, the floor is used, as previously. New settings
UPPER_SKY_RED, _GREEN, _BLUE, _SCALE and _HEIGHT as well as LOWER_SKY_HEIGHT
control the look.
- Conforming partly to FreeDesktop standards on Unix
(http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html) :
UserDataDir defaults to $XDG_DATA_HOME/.armagetronad,
VarDir to $XDG_DATA_HOME/.armagetronad/var and
UserConfigDir to $XDG_CONFIG_HOME/.armagetronad.
- user*.cfg now resides in UserConfigDir.
- Configuration files, with the exception of legacy user*.cfg files, are no longer
read from the var directory.
- Added support for streaming tArrays, lists and vectors to tStrings, producing text
looking a bit like this entry.
- There is now only one score message per zone conquest instead of one per conquerer.
- Instant chat options have been merged into one menu.
- The OS X dedicated server can now be run by opening the executable in the Finder.
- The OS X builds are now created using automake.
Changes since 0.3.0:
- FULL_REDIRECT_SERVER/PORT: redirection target used when the server is full.
- The chat and console history are now remembered between restarts of arma
- Added an incremental reverse search for the console and chat history:
In chat or console mode press CTRL-R and start entering your search term.
It will show you the last found match in a new line, press right or left
to jump to it in the history.
- New cockpit data sources current_name, current_colored_name,
current_pos_x, current_pos_y and player_acceleration
- Growl notifications (http://growl.info) for Mac OS X when the server
supports it. Messages sent: Player left, Player entered, Player renamed,
Death suicide, Death frag, Death teamkill, Game end, New Round, Round winner,
Match winner, and New match. Note that not all notifications are enabled by
default — you can toggle notifications and do many more things in the Growl
System Preferences panel.
- Red/Green or Red/Cyan 3D rendering. Activate it by setting
CAMERA_EYE_DISTANCE to something ≠ 0.
Changes since 0.3.0_alpha4941:
- Added setting to toggle custom teamnames
- New team menu item: autoselect team mode
- New team menu item: join spectators
- Added name hilighting: If your name appears in someone else's chat
message it gets hilighted in red
- Added new cockpit data sources: top_score_team and current_score_team
- The tab completion for names now uses the same mechanism as the /msg
command: Nicks are simplified and latin-1 characters mapped to ASCII
ones
- The /msg command now gets correctly recognized by the tab completion:
Spaces in the name are now replaced by '_'
- The names that are displayed over other cycles now get colored in the
same color as the cycle. Disable this by setting
DISPLAY_COLORED_NAMES_OVER_CYCLES to 0.
Changes since 0.3.0_alpha4872:
- Tab completion now looks for partial matches in nicknames, instead of
just at the beginning of the nick. Only the beginning of words (a series
of alphanumerical characters) is matched.
- Fixed the <Reverse> tag in cockpit files
- Little changes to the default cockpit file
- The brake meter now becomes red when it's almost empty (before it
became green again, after becoming yellow)
- Switched the colors of the FPS gauge, they are more intuitive like that
- The "currently playing" display in the cockpit is now cropped to the
basename on Windows
- Fixed handling of the mercam mode in the cockpit
- New serverside settings FORBID_HUD_MAP (boolean) and FORBID_COCKPIT_DATA
(colon separated list of forbidden cockpit data sources)
- New setting FONT_SIZE_FACTOR, a global factor to all font sizes
- A winner is now only declared if there are points for winning or the
game mode is not "Freestyle"
- Disabled web server in playback mode
- Language fix: "...renamed it's team to..." becomes "...renames its team
to..."
Changes between 0.2.9 and 0.3.0_alpha4872:
- New team join menu (colored, shows number of players per team)
- Customizable teamname
- Updated Windows libraries (SDL,SDL_mixer,SDL_image,libxml2)
- New SDL_mixer-based sound engine
- Experimental particle system for sparks (disabled, probably crashes on some machines)
- Embedded web-server that serves up the resource directory
- Switched from proprietary class to a class derived from standard std::string for strings
- Tab completion for chat and console
- New cockpit files as resources, replacing the old HUD
- HUD mini-map
- New fonts, font are now truetype files and can be non-proportional
- New chat command /console--works like /admin, but on the local client and doesn't require being logged in
- Score table shows the number of players alive/total on each team
- "Member of team:" column in score table is only displayed if there are teams
- "Member of team:" column shows the team names in the teams' colors
- Players that are chatting have a star in front of their names in the score table
- Chat lines of dead players are marked with "*DEAD*" in front of them
- Voting outcome messages show how many players voted for/against the poll and how many didn't vote yet
- Added support for armagetronad URLs on Mac OS X and KDE -- armagetronad://<server>[:<port>]. port defaults to 4534.
- New command-line flag: --connect <server>[:<port>]. Startup the game and connect directly to <server>.
Changes on the 0.2.9 branch:
- Added detection and reaction code for timing assist bots
- /shuffle now works before you actually join a team
- Implemented /shout command and associated settings
- Fixed suspension and silenced status not being re-applied after a player
disconnects and rejoins a server.
- Tweaks to enemy influence system.
- Ingame menu and console now are drawn on top of a semi-transparent,
darkened area for increased readability.
- New first start menu with clearer language selection and initial setup.
- Tutorial match against one AI at slower speed.
- Tutorial tooltips for the most important keybindings.
- ADD_MASTER_SERVER command to announce a server to a new master server.
Simplifies the process to list your server on a subculture.
- Team launch positions logged to ladderlog with POSITIONS event. Disabled by
default.
- New command-line option "--input" added to poll for input from a file
instead of stdin.
- Added WHITELIST_ENEMIES_[IP/USERNAME] to allow players to be enemies, even
if they come from the same IP address and ALLOW_ENEMIES_SAME_IP is
disabled (which is its default setting).
- GAME_END, NEW_MATCH, and NEW_ROUND ladderlog events include date and time.
- Added ENCODING ladderlog event, which specifies the encoding for data in
ladderlog.txt.
- "--input" now can be used more than once to read from multiple files or pipes.
- new team management ladderlog messages:
TEAM_CREATED <team name>
TEAM_DESTROYED <team name>
TEAM_RENAMED <old team name> <new team name>
TEAM_PLAYER_ADDED <team name> <player>
TEAM_PLAYER_REMOVED <team name> <player>
- Manage external scripts on Unix dedicated servers. New commands:
SPAWN_SCRIPT, RESPAWN_SCRIPT, FORCE_RESPAWN_SCRIPT, KILL_SCRIPT,
LIST_SCRIPTS, SCRIPT_ENV.
- New setting ACCESS_LEVEL_ANNOUNCE_LOGIN that determines if a player's
login/logout message can be announced.
- Authentication is now enabled by default.
Changes since 0.2.8.3.4:
- Security fix: Check that the remote is allowed to create an object
before creating it, not decide whether it gets to keep it after it
already has been created and potential damage has been done. No
arbitrary code could be executed, but a client could effectively
shut down a server by sending crucial objects, such as the main game
timer or the game itself.
- Compilation fixes for current systems.
Changes since 0.2.8.3.3:
- Eliminated undefined behavior that was fine in gcc 5, but now
(rightfully!) turned into crashes in gcc 6.
- Eliminated compilation disambiguity that was just causing a mild
performance degradation in gcc 5 and is now a compilation failure in
gcc 6.
Changes since 0.2.8.3.2:
- security fix: do not read ahead of the beginning of network buffer.
- security fix: don’t attribute network errors from processing random
packets to the connection to the server
- security fix: while at it, don’t process random packets unless they
may be important
- fix for potential crash with friend list filtering
- intel driver compatibility
- fix for rare crash with sound lock
- fix for camera turning for bizarre axis configurations
Changes since 0.2.8.3.1:
- security fix: old style action commands from clients no loger cause
hangs and crashes
- security fix: oversized packets are ignored properly
- security fix: never read one byte outside of the received buffer
- security fix: only include .cfg files from the var subfolder
- compiler compatibility: adapted to gcc 4.60
- smaller spelling fixes
- FOV calculations now correct for widescreen and horizontal
splitscreen
- Additional checks against illegal values passed to renderer
Changes since 0.2.8.3:
- fixed temporary sound disappearance when alt-tabbing away and back
- default subcultures are now distributed
- enable 32 bit color depth at desktop resolution
- no more display lists for SiS cards
- spelling mistakes and missing German translations
Changes since 0.2.8.3_rc4:
- New setting: KEEP_PLAYER_SLOT allows the server to kick (preferably)
spectators if it gets full so there is always one slot open for
players
- New setting: ACCESS_LEVEL_AUTOKICK_IMMUNITY sets the access level
required to be immune from such kicks (and idle autokicks, too)
- Intercepted chat commands are now written to ladderlog.txt. Format:
COMMAND /command-intercepted player [command arguments]
- Increased default speed of server pinging
- Reordered game menus a bit
- fast finish works again
Changes since 0.2.8.3_rc3:
- Pinging previously popular servers earlier for quicker server
browsing
- Improved master server random polling, the second polled master now
also is random, and all masters are polled if need be
- Custom camera snaps to cycle direction once when activated if the
turn speed is zero.
- RESERVE_SCREEN_NAME now works regardless of the ALLOW_IMPOSTOR
setting.
- USER_LEVEL now escapes the given authenticated name so you don’t
have to guess the escaping rules. Ex: USER_LEVEL “name with
spaces@forums” 2 changes user level for name_with_spaces@forums
Changes since 0.2.8.3_rc2:
- Fixed crash with server polling
- ROUND_WINNER and MATCH_WINNER ladderlog events now include the
players of the team.
- Camera switches to user preferred camera when you die in incam mode
- Better support for custom language files
- Players can no longer spam chat with /shuffle messages. Added new
setting SHUFFLE_SPAM_MESSAGES_PER_ROUND, a per round, per player
limit on the number of shuffle messages displayed.
Changes since 0.2.8.3_rc1:
- Fixed dark color filters, such as FILTER_DARK_COLOR_STRINGS, to not
filter the reset color.
- ASE moviepack models no longer have a vertex count limit
- Fixed endless recursion crash between rounds
Changes since 0.2.8.3_beta3:
- Chat prefix spam protection. Guards against prefix spam, such as
when a user always changes their chat message color, or prefixes all
messages with a clan tag. Toggle with the PREFIX_SPAM_ENABLE
setting.
- Fixed VOTING_MATURITY to use the time when the player entered as its
reference time.
- Fixed single player highscore list not containing everyone.
- Fixed generation of duplicate names in highscore lists.
- Fixed camera crash when the grid is empty.
Changes since 0.2.8.3_beta2:
- Fixed ‘invincibility’ bug. It really was cycles freezing in time.
- Fixed sporadic sound related crash at round end.
- setting rename: SILENCE_ALL -> SILENCE_DEFAULT.
- Sound no longer gets muted after you switch the sound settings.
- Fixed object collision detection that would sometimes pick a wrong
wall to collide with, most likely the reason behind wrongly
accredited kills.
- Fixed inability to switch viewport assignment in four player mode.
- Better handling of lag clusterbombs.
- Server disconnects now also take immediate effect even when you’re
in a menu or chatting.
Changes since 0.2.8.3_beta1:
- Made ready for Armatrators
- Authentication routines now use utf8 as forward- compatibility with
trunk. Previously, non-ASCII usernames simply didn’t work at all.
- Better lag slide protection: clients no longer get confused when the
server sends their cycle back in time, and the server no longer does
that for old clients.
- Fixed rare wallpassing bug; it required what whould usually be an
instakill and infinte wall length.
Changes since 0.2.8.2:
New settings and commands:
- MIN_PLAY_TIME_*: minimal play time required before you are allowed
to play on this server.
- SPAM_AUTOKICK_COUNT: minimal number of spam warning messages you get
in a row before you get kicked.
- FORTRESS_COLLAPSE_SPEED: tune the collapse speed of fortress zones.
- VOTE_KICK_REASON: default reason given on kick votes.
- “/vote” chat interface to votes; “/vote kick ” issues a kick vote.
- new vote type “/vote suspend ” suspends a player for
VOTING_SUSPEND_ROUNDS rounds.
- new vote type “/vote include ”, includes configuration file vote/.
- new vote type “/vote command ” executes console command . (Both that
and /vote include are by default only available to moderators).
- VOTING_HARM_TIME: time between all harmful votes against a player
- VOTING_KICK_MINHARM: auto-transform the first few menu issued kick
votes to suspensions
- (UN)SUSPEND kicks a player to spectator mode with a timeout.
Intended to let new players watch before they play.
- VOTES_CANCEL cancels all running polls.
- VOTING_SUSPEND [] disallows voting during a specified amount of
time.
- ZONE_ALPHA_TOGGLE to override the systemwide alpha blendings setting
and have zones rendered in wireframe mode even when alpha blending
is on.
- ZONE_ALPHA(_SERVER) to control intensity of zone rendering.
- SCORE_HOLE for awarding sacrifice.
- SCORE_SURVIVE for player survival and FORTRESS_HELD_SCORE for not
losing each fortress zone.
- KICK_TO and MOVE_TO: redirect a client to a different server
- DEFAULT_KICK(_TO)_MESSAGE: default reason given to players for a
kick
- DEFAULT_KICK_TO_SERVER/PORT: default redirection target for
KICK/MOVE_TO.
- RENAME renames a player.
- If all clients support it, PING_CHARITY_MIN/MAX can be used to
constrain ping charity.
- VOTE_KICK_TO_SERVER/PORT: redirection target for vote kicks.
- SILENCE and VOICE allow to control chat of annoying players.
- SILENCE_ALL can be used on the server to inhibit all cross-team
communication unless specifically voiced.
- ENABLE_CHAT can be set to 0 to disable all chat. If it is set on the
server it only disables public chat and logged in players can still
speak.
- LAG_*: controls game level lag compensation.
- FILTER_NAME_MIDDLE: collapses multiple whitespaces to one in player
names.
- FORTRESS_CONQEST_TIMEOUT: if an enemy contact with a zone happens
longer ago than this value, it is discarded from zone memory.
- TOPOLOGY_POLICE_PARALLEL, extra topology police flag to control the
checks for walls getting copied into the grid in exactly the same
place.
- CAMERA_GLANCE_: separate settings for the glancing camera, work like
CAMERA_CUSTOM_. Likewise, CAMERA_SERVER_GLANCE_* can replace
CAMERA_SERVER_CUSTOM_* when glancing. CAMERA_CUSTOM_GLANCE are
server side settings that can control whether server or clientside
settings are used in various situations, see settings.cfg for
details.
- CYCLE_BOOST_? and CYCLE_BOOSTFACTOR_? for boosts when breaking away
from walls, see settings.cfg or config.html for details
- CYCLE_ACCEL_TUNNEL, works like CYCLE_ACCEL_SLINGSHOT, but is active
when none of the two walls you’re in between is your own.
- CYCLE_WIDTH for making it impossible to squeeze through tight
tunnels, see settings.cfg for details
- VOTING_MATURITY controls how long you have to wait after login
before you can issue kick votes.
- CYCLE_DELAY_DOUBLEBIND_BONUS is an extra factor applied to
CYCLE_DELAY for turns in the same direction. Can be used to limit
the advantage doublebinders get while not punishing players who
press both left and right at the same time.
- LAG_O_METER_(TRESHOLD|BLEND|USE_OLD): Configure the minimal size of
the Lag-O-Meter, its color and whether to scrap it all and stick
with the old one.
- ALLOW_TEAM_CHANGE: if set to 0 players won’t be able to join a team,
create a new team or change to another team.
- ALLOW_TEAM_CHANGE_PLAYER/DISALLOW_TEAM_CHANGE_PLAYER: allow/disallow
specific players to switch teams
- INTERCEPT_COMMANDS is a space-delimited list of chat commands that
shall be intercepted by an external script. Example value: /login
/admin /teamleave /teamshuffle /shuffle /team
- INTERCEPT_UNKNOWN_COMMANDS is a boolean specifying if an external
script wishes to handle unrecognized chat commands. This would allow
hooking arbitrary things like /foobarz or /mode ctf
- CONSOLE_LADDER_LOG boolean places the ladderlog on stdout prefixed
with “[L]”
- PLAYER_MESSAGE : Like /msg, but from the console
- All ladderlog outputs can be enabled or disabled separately by using
LADDERLOG_WRITE_*. LADDERLOG_WRITE_ALL enables or disables all
ladderlog output alltogether.
- CHAT_LOG controls whether to write a machine-readable chatlog to
var/chatlog.txt
- CONSOLE_DECORATE_TIMESTAMP write a timestamp for every console
message?
- LADDERLOG_DECORATE_TIMESTAMP prefix every ladderlog message with a
timestamp?
- SLAP [points] sends a message to everyone and subtracts a number of
points (default: 1) from ’s score. Negative points are supported.
- AUTO_TEAM_SPEC_SPAM to disable the spectator join/leave messages you
get when AUTO_TEAM is enabled
If –enable-armathentication was activated:
- /lock, /unlock, /invite and /uninvite team management chat for
players of access level ACCESS_LEVEL_TEAM or better.
- /teams chat command that rougly prints team layout.
- ACCESS_LEVEL_IPS to let admins see IPs of players in the list.
- ACCESS_LEVEL_SPY_MSG/TEAM to let admins spy on team/private
messages.
- CASACL to temporarily raise the access level
- ACCESS_LEVEL to modify the required access level to change settings
- AUTHORITY_WHITELIST and AUTHORITY_BLACKLIST to filter authorities
you want on your server.
- GLOBAL_ID_ENABLED to toggle remote accounts
- LOCAL_USER, LOCAL_TEAM for local login accounts
- MD5_PREFIX/MD5_SUFFIX for additional password scrambling
- USER_LEVEL to grant users various access levels
- RESERVE_SCREEN_NAME to reserve a screen name to a certain player
- USER_ALIAS to bend authentication names around
- (UN)BAN_USER to ban really stupid users based on their global user
ID, BAN_USER_LIST to show a list.
- ACCESS_LEVEL_OP/ADMIN/CHAT/PLAY/PLAY_SLIDING to control who can do
which things
- /login chat command then uses the more secure hashed base logins
- new chat commands /op and /deop to change other players’ access
rights
Featurelets:
- Added Polish language file
- clientside play time tracking and server controlled minimal required
experience to be allowed to play.
- color codes in chat increase the spam level logarithmically.
- /team messages get a reduced spam level; reduction factor is given
by (team size)/(number of total players).
- /team messages can be used by spectators to chat with other
spectators only.
- Performance optimizations. Using OpenGL display lists to cache
geometry.
- Removed ztrick, antialiasing and perspective correction settings.
They all had only one right setting and caused us some interesting
bug reports.
- Added PLAYER_RANDOM_COLOR for lazy people who just want to have a
color that differs from everyone else on the server.
- Configuration files get reloaded on SIGHUP
- all admin commands now also accept partial name matches, like /msg,
and check for case sensitive matches in the screen name first, then
the user name, then case insensitive matches in the two.
- –enable-krawallserver has been actually implemented now, and it
enables secure logins to accounts local to the server and
not-so-secure logins managed by authentication servers.
- A subculture list for server groups that are not managed by our main
master servers
- A friends list and filter for the server browser that shows you only
servers with your friends on them.
- The client now can handle network traffic while it is waiting for
the graphics card to swap buffers.
- The dedicated server no longer uses a fixed delay, but a select()
call (that returns when network data arrives) to idle. When data
arrives, it does the minimum amount of work before it sends out the
responses, resulting in lower latency. It is now safe to decrease
DEDICATED_FPS to 20 or 10, latency is no longer influenced by that
setting.
- Game level lag compensation. When a command arrives from a client
that is delayed, it is backdated to the time it was issued, provided
enough “lag credit” is left. The client is informed of the delay so
it can compensate in the future, which it does by forging the game
timer.
- Nonnormalized axes and axes with odd turning directions are now
properly supported
- The camera has a memory which player you like to watch. Every time
you manually switch the camera and your favorite player is not dead,
the favorite is set to the currently watched player. The next time
the camera doesn’t know what to watch, your favorite will be
selected.
- Players leaving to spectator mode with <0.2.8.2 clients are handled
like spectators of 0.2.8.2 clients: they stay visible to the others.
- Kick statistics are now persistent across server runs.
- MESSAGE_OF_DAY is now displayed fullscreen if both server and client
support it
- Manual fullscreen messages can be triggered with FULLSCREEN_MESSAGE
- Axes Indicators by meriton, can be enabled using the AXES_INDICATORS
setting.
- New “About” menu item in the main menu displays the version of
Armagetron Advanced, the paths it uses, links to the main site, wiki
and forums and the names of the project admins.
- New entries in ladderlog.txt:
- GAME_TIME (only if enabled via the LADDERLOG_GAME_TIME_INTERVAL
setting): The time that has passed since the last start of a
round
- BASEZONE_CONQUERED : A fortress zone belonging to at the
coordinates (, ) has been conquered
- BASEZONE_CONQUERER : at the time of the last BASEZONE_CONQUERED
message, has been in the conquered zone
- ONLINE_PLAYER [<ping []]: At the beginning of the round, had and
was on . This line is not printed for bots
- NUM_HUMANS : There are players that are not AIs and are part of
a team.
- ROUND_SCORE has the player’s team name appended.
- ROUND_SCORE_TEAM: score a team accumulated during the last
round.
- WAIT_FOR_EXTENAL_SCRIPT: printed if the setting of the same name
is enabled. In this case the server will delay the start of the
next round until WAIT_FOR_EXTENAL_SCRIPT_TIMEOUT is reached or
the setting is disabled.
- Wrapped console lines are indented by an amount of spaces that can
be specified using the setting CONSOLE_INDENT.
- /help command that supports multiple help topics. Use
HELP_INTRODUCTORY_BLURB and ADD_HELP_TOPIC to control its contents
- /rtfm command that allows moderators to send help messages to
newbies
- /players now shows the players’ color and allows searching
- TEAM_ELIMINATION_MODE sets the way ArmagetronAd removes teams when
there’s too much teams.
Bugfixes:
- Added compensation for drifting timers (observed often with
overclocked mainboards)
- Text input fields now let the text wrap correctly and make use of
the space allocated for them in a not-completely-dumb way. And sigh
depending on the text field, color codes are either ignored (for the
usernames) or both displayed in text and rendered.
- “KICK 2pack” no longer kicks user 2 instead of player 2pack.
- Fixed various trail end related extrapolation/simulation
inaccuracies that looked like lag.
- When extrapolating, the game’s sensors never detected own or
teammates’ walls, it mistook them for enemy walls.
- The acceleration and boost system always used settings for enemy
walls instead of settings for team players’ walls. That means that
old clients connecting to a 0.2.8.3+ server that has
CYCLE_ACCEL_ENEMY and CYCLE_ACCEL_TEAM set to different values
experience syncing problems. The default behavior therefore is to
lock 0.2.8.2 and earlier out of your server if you set one of them
away from the default. If you want to set both accelerations away
from the default, but to the same value, there won’t be a
compatibility problem; in that case, set CYCLE_ACCEL_ENEMY_OVERRIDE
and CYCLE_ACCEL_TEAM_OVERRIDE to 0 and old clients will be allowed
in. However, you should manually lock out players with 0.2.7
clients, for example by modifying CYCLE_ACCEL_RIM a tiny bit.
- “Team Red” bug. If the server allows maximally two teams, no team
ever gets to be Team Red.
- Phasing made even more difficult; nice side effect of the fix is
reduced network bandwidth usage.
- Speed gauge resets between rounds.
- More accurate Lag-O-Meter by meriton.
- Zones were sometimes invisible.
Internals:
- A complete netsync cycle is now sn_Receive(); nNetObject::SyncAll();
sn_SendPlanned();.
- Ping charity is now completely server controlled.
Changes since 0.2.8.1:
- Timestamps and teamscores added to scorelog.txt
- Dedicated server now works on FreeBSD and OpenBSD
- User running the dedicated server is called “armagetronad” again,
the longer “armagetronad-dedicated” caused problems with BSD
- Test versions refuse to connect to servers more than one version
ahead
- Prepared client for respawns
- Team spawn formation is now configurable
- Added reasons to bans
- Added spectator autokicking
- Added history to chat and console (wrtlprnft). Press “Cursor up” to
edit and repeat previous chats and console commands.
- You only enter a game once your client is synced
- /msg now prefers exact matches over partial matches
- Cycles now have better memory for pending turns (wrtlprnft)
- Added player join/leave/rename messages to ladderlog.txt with IPs
- Ping variance influence on packet loss tolerance code is now clamped
by the regular, configurable, packet loss tolerance: effect of
variance can be no bigger than the effect of ping.
- Spectators are now regular players and can chat
- The /msg command now converts the entered pattern into the internal
name so if you write “/msg öäü” and there is a user named “öäü” with
an internal nick of “oau” it will still get matched
- Team changes are now only executed when allowed, the need for the
temporary/permanent team imbalance setting distinction has gone away
- Added brake toggle button Bugfixes:
- Client sometimes crashed when leaving a server with AIs on over the
menu
- The server starting scripts were chowning /var/run and /var/log to
armagetronad
- Short names could crash the server
- Direct cycle collisions sometimes lead to both passing trough each
other
- Init scripts now installed correctly with –enable-initscripts
- Hopeless pending team change wishes are deleted
- Large timesteps are now broken down into smaller ones on the game
level
- Pretend keys are released before entering chat
- Two cycle steering events were sent if you doublebound the brake
- Large speed boosts out of game rule bounds were possible during
network glitches
- Debug recording reliability increased, function call with undefined
return value eliminated
- Recording and scorekeeping no longer conflict
- Input during a recording now has an end marker, making quick
keypresses after leaving a menu not break it
- CYCLE_RUBBER_DELAY was overridden sometimes by packet loss tolerance
- ALLOW_CONTROL_DURING_CHAT now ignores modifier keys like shift and
has been reactivated
- The camera sometimes got stuck in free mode for the first round you
watch
- Crashfix in hole blowing code when no cycle was set
- After a “perfect” 180, you’re more often on the right side of your
own wall That code caused some havoc at first, so it has been
reworked
- The smart cam did not like fluctuating framerates
- Improved debug recording reliability: multiple master server visits
and too quick keypresses were causing trouble.
- Canonical DESTDIR support and added ROOTDIR support for testing
- Login floods are detected and ignored
- Player name updates sanitized
- Disabled complicated feasibility tests for team menu entries, they
did not have the full information and were often wrong
- Team score only added to player score if no teamplay is possible
Changes since 0.2.8.0:
- INCLUDE console command now gives a file not found error
- ALL user given paths are validated for security problems in a
special function
- Fallback to default map on map load failure works again (broken sine
0.2.8.0_rc4)
Changes since 0.2.8.0_rc4:
Bugfixes:
- SECURITY FIX: via a MAP_FILE path with included .., it was possible
to write files anywhere, provided they did not exist previously.
Clients with this vulnerability are locked out of the server now.
- ALLOW_CONTROL_DURING_CHAT has been disabled for now.
- Another connection termination bug.
Changes since 0.2.8.0_rc3:
- Added spectator mode toggle key.
- Thresholds when a white background bar is rendered behind texts is
now configurable in the expert section of settings.cfg.
- Ingame menu trigger key is configurable now, only ESC stays
hardcoded.
- The map parser checks whether the map is stored at the right
location.
- Map validation errors are now visible on the client.
- Made magic numbers used by the smart camera configurable for user
tweaking. This is undocumented and unsupported.
- The server browser now shows a B beside the score to mark bookmarked
servers. Bugfixes:
- -Os compile option is filtered out if GCC 3.3 is used, it makes the
build go bad.
- Extremely low values of CYCLE_DELAY were not honored, an arbitrary
delay of .005s was added to it.
- On entering a server, the camera would sometimes be stuck in free
mode.
Changes since 0.2.8.0_rc2:
- Almost final artwork
- Moviepacks can now also contain texture replacements for the default
cycle model
- Added number of teammates alive to HUD Bugfixes:
- Dual textured floor rendering is now disabled without alpha blending
as it did not work anyway.
- Lag-O-Meter now has the correct size (the old, buggy one can be
restored by setting LAG_O_METER_SCALE to .5).
- The network system made some IDs randomly unusable, causing zombie
cycles, invisible walls and disconnections.
- The AI Team from a previous local game session was sometimes still
visible on the score table in the following network game on a remote
server.
- The server did not start a new match when temporarily, only
spectators were online.
- Player walls were rendered twice.
- The server wrote console center messages to stderr.
- UNBAN_IP did not work at all.
- The code that should kill a cycle in performance/DOS protection
circumstances just crashed.
Changes since 0.2.8.0_rc1:
- Bugfixes:
- Dedicated server for Windows works again.
- Cycle turns are now executed more accurately on the server.
- Timer stuttering at end of round (was non-critical, but ugly).
- Custom camera did not turn when the internal camera was
configured not to turn.
- Idle player kick code crashed when it kicked a client with many
players.
- The code that removes inactive players after a while removed the
AI players.
- Reverted smart camera movement to pre-beta4 behavior, the new code
made some players seasick :)
- Ingame admin interface gives more useful information to the invoker
- Small font rendering improvements
- Zone conquest message, if it is not the one that ends the round, now
states the name of the zone owning team.
Changes since 0.2.8_beta4.2:
- Fixed bugs:
- Random client disconnection
- Another vote-not-appearing-on-client bug
- Invisible wall segments right after turn
- Arena initialization before all settings are transmitted from
the server
- The server was using more rubber than the client sometimes
- Crash with moviepack and some maps
- Object sync messages not accepted by client in second network
session
- Improved kill/suicide/team kill distinction (ENEMY_* settings)
- Chatbots and idle players can be removed from the game and kicked
(CHATTER/IDLE_REMOVE_TIME,IDLE_KICK_TIME)
- Players/team leaders can pause the game before a rond starts
(PLAYER_CHAT_WAIT*)
- Color codes can be filtered from player names (FILTER_COLOR_NAMES)
- New machine readable log file: ladderlog.txt
- Configurable and better core dump/team kill/suicide distinction
algorithm
- Unknown settings are recognized now in configuration files
- All global key bindings (Grab mouse, pause and texture reload were
left) are now configurable
- Player listing length limit adjusted so two teams/16 players fits on
screen
- Less verbose upgrade warning messages
- Imposters can get a non-conflicting name (ALLOW_IMPOST[EO]RS)
Changes since 0.2.8_beta4:
- Fixed bugs:
- Windows version had a memory overwrite error causing crashes and
weird behavior.
- The game quit when the chat key and a key bound to an instant
chat were pressed to quickly.
- Votes expired too early on the client.
- Performance: a lot of unused temporary walls were hanging around
each round.
- Cycles sometimes warped to odd locations.
- Tweaked smart camera to not stay in front of the cycle so much.
- Tweaked smart camera custom glancing. Report back whether you
like or hate it!
- Made custom camera even more configurable, changed default settings.
(old ones are still in settings.cfg)
- Forced glancing end on cycle turn now looks better.
- FOV settings now deal better with wide screens/splitscreen mode.
- Increased ping measurements again by adding the fluctuations. The
raw average ping caused the game logic to be too picky.
Changes since 0.2.8_beta3:
- Famous fixed bugs:
- Random huge felt lag or blank screen (it was actually a problem
with the timer) is gone.
- Bogus “possible phase bug” message.
- Seemingly random walls popping out of nothing, only to disappear
a second later.
- Random camera focus changes while you were still alive.
- Every 100th console line got deleted.
- Reduced pings! Actually, just the measurement is improved, the
actual latency stays the same. I hope nobody notices that. Good
thing nobody reads NEWS files :)
- New text editing convenience: Home and end keys work, and
CTRL+left/right/del/backspace work on whole words. Thanks, Nemo!
- New instant chat functions: There are now 25 instant chat strings.
If an instant chat string ends in a , it will not be sent
immediately, it’s opened to be edited by you. Pressing an instant
chat key while already chatting will insert the string, provided the
key does not produce a regular character.
- If enabled by the server administrator: control your cycle while you
chat.
- Turning speed of custom and internal camera can be adjusted with
CAMERA_CUSTOM_TURN_SPEED and CAMERA_IN_TURN_SPEED.
- The custom camera zooms out from a closeup at round start. Useful to
see your position in your team. Configurable with
CAMERA_CUSTOM_ZOOM.
- Master server redundancy enabled. Thanks to Lucifer for hosting the
backup master!
Changes since 0.2.8_beta2:
- More bugfixes: most annoying was the crash/infinite loop a server
got in when the master server was unreachable
- Added zones to map specification
- Reworked top level map format (sorry to the map makers for the
inconvenience)
- Windows: added start menu entries that open the system and user data
directories
- Bandwidth limitation now works. That means if you lowered the
bandwidth limits in the network setup, they were not respected. You
probably should readjust them.
Changes since 0.2.8_beta1:
- bugfixes, of course
- added recording and playback startmenu entries for Windows
- abuse prevention: added IP banning, player number per IP and client
limit, doublebinding can be crippled on server command
Changes since 0.2.7.1:
- Server side cycle synchronization issues fixed:
- destination removal fixed
- lag sliding caused by different interpretation of grinding turn
commands on client and server fixed
- niceness for older clients: sync interval decreased, no sync in
front of wall to prevent local tunneling
- Client side cycle synchronization issues fixed:
- smooth corrections now only affect the appearance, the correct
values are used internally
- sync messages are no longer ignored,
- new extrapolating sync method implemented,
- ghosting fixed,
- wall ends sticking out fixed ( for enemy cycles ),
- the sophisticated distance based sync code implemented years ago
is now actually used, oh dear.
- Performance improvements:
- netobject synchronization does no longer traverse all netobjects
- disabled gameobject-gameobject interaction