forked from panthernet/ThunderED
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathversion.txt
912 lines (777 loc) · 51.2 KB
/
version.txt
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
### V1.4.4
+ Fixed config editor LiveKillFeedModule write
+ Improved contracts module performance
+ Updated basic contract messages content
### V1.4.3
+ Added new auth module property `AuthCheckUnregisteredDiscordUsers` to be able to switch off unregisteres users checks
+ Fixed timers web page access malfunction
+ Fixed auth check entries selection based on time
+ Fixed kill feed to correctly use template file for radius kills
+ Fixed missing KMs
+ Fixed chat relay dependencies
+ Made unregistered Discord user checks linear to reduce Discord server load
### V1.4.2
+ Added new notifications, some with temp placeholder until I get real notification information
```
WarAdopted
WarAllyInherited
WarConcordInvalidates
WarDeclared
WarHQRemovedFromSpace
WarInherited
WarInvalid
WarRetracted
WarRetractedByConcord
CorpBecameWarEligible
CorpNoLongerWarEligible
MutualWarExpired
MutualWarInviteAccepted
MutualWarInviteRejected
MutualWarInviteSent
AllianceWarDeclaredV2
CorpWarDeclaredV2
AllMaintenanceBillMsg
BillOutOfMoneyMsg
AllianceCapitalChanged
BountyPlacedAlliance
CorpKicked
CorpNewCEOMsg
CorpTaxChangeMsg
OwnershipTransferred
```
+ Added web server status reporter, new param `ServerStatusPort`. Query specified port to get status (no response - bot is not running). Set to 0 to disable.
+ Added web server `NoStatusResponseOnDiscordDisconnection` param to not respond on status queries if Discord id not connected. Act like bot is not running.
+ Added ability to assign roles to members without corp titles
+ Added new config property `UseSingleFileForLogging` to enable logging into single file
+ Added new property to log feeder `SendInterval` which is default to 5000 msec
+ Added new web auth param `EnableDetailedLogging` for better auth tracing
+ Added new `AutoClearAuthCommandsFromDiscord` property to web auth module to cleanup auth requests
+ Added new `RemoveAuthIfTokenIsInvalid` property to web auth group to remove auth for users with invalid ESI tokens
+ Added new `RemoveTokenIfTokenIsInvalid` property to web auth group to remove token from user auth data if it is invalid
+ Added new `AuthTakeNumberOfUsersPerPass` property to web auth module allowing to specify how many users are checked per pass
+ Added new `EnforceSingleTickerPerUser` for web auth module to force users to have ally or corp ticker
+ Added new `ConcurrentThreadsCount` property to be able to control number of threads for parallel processes. Usually 4-8 up to one per CPU core.
+ Added KM template vars {systemID}, {constID}, {regionID}, {victimID}, {victimCorpID}, {victimAllyID}, {attackerID}, {attackerCorpID}, {attackerAllyID}
+ Fixed standings in config editor
+ Fixed minor bugs and made some updates to config editor
+ Fixed async logging issues
+ Fixed timers authentication with empty Entities lists
+ Greatly improved and refactored web auth module for better maintenance and performance
+ Greatly improved log feeder for better coverage, less CPU and network utilization
+ Improved HR module to strip roles when user is moved to dumpster
+ Improved HR module to proceed with auth check right after character has been deleted from the web page
+ Improved standings update to a fail-resistant version
+ Colorized important log feeder posts (desktop Discord client only)
### BREAKING CHANGES
- Automatic KM templates has been removed. Now you have to specify template file for each KM group manually or leave empty for default.
- Added new entries to `Resources` config section
- Replaced `SystemLogFeederSettings.OnlyErrors` with `SystemLogFeederSettings.LogSeverity`
- Renamed web auth group `UseStrictAuthenticationMode` to `StopSearchingOnFirstMatch`
- New rules to follow for auth setup:
- Auth groups will be checked according to their order in config file: top to bottom. Independent of the auth type (general, standing, titles, etc.).
- Allowed members in auth groups will be checked from top to bottom with the following priority: character, corporation, alliance
- Guest groups should go last in the list or they will be chosen before latter groups
- Guest groups must have empty `Entities` list (no more 0)!
- `StopSearchingOnFirstMatch` now properly limits the search. If it is `false` when all members within a single group will be checked. This will allow to assign roles to user from multiple `AllowedMembers` entries form ONE group matching the criteria. If mentioned property is `true` then only the first matching entry will be used to grant roles. The same rules applies to standings auth.
- If user matches several criteria within the group and they contain `Titles`: only the 1st found entry with `Titles` auth will be selected and all other matches will be omitted
### V1.4.0
+ Added console warning messages for entities that has not been recognized
+ Added new IndustrialJobsModule
+ Added Discord roles validity checks for majority of modules
+ Added !test km command for admins to be able to test KM templates
+ Added new Contracts module property `StopOnFirstFilterMatch` which is false by default
+ Added new auth mode: authentication by corp Titles
+ Added new auth group poperties `UpgradeGroupNames` and `DowngradeGroupNames` (read below)
+ Fixed ContractsFeedModule initial cache generation
+ Fixed contracts availability filter
+ Fixed log verbosity order so `Module` value is going below the `Warning`
+ Fixed notification text parsing routine
+ Fixed standings auth being interpreted as guest failing to move forward
+ Updated platform to .NET Core 2.2
+ Updated Discord library to V2.1.1
+ Improved and updated defult KM messages (thanks to @mrurb)
+ Improved daily stats info (thanks to @mrurb)
+ Added KM feed groups check and warning for equal group names. Groups must be unque for KM duplicate filters to work correctly.
+ Reworked `ZKBSettingsModule.AvoidDupesAcrossAllFeeds` property. It will now ban KM after the first usage in any of the KM feeds.
+ Redesigned, improved and enhanced LiveKillFeedModule (read below)
+ Redesigned `WebAuthModule` to use new entity system allowing both names and IDs to be specified in corresponding properties
### FEATURE HIGHLIGHT - KILL FEEDS
`LiveKillFeedModule` now hosts `RadiusKillFeedModule` module functionality. It is also has been significantly improved to provide agile filtering.
On top of the existing features now you can:
- Setup detailed filters using the `entity` system where both ID and names are allowed
- Filter by victim ship type list
- Filter by SOLO, GROUP, AWOX, NOTAWOX, PVP, PVE tags
- Filter by attackers and victims separately
- Filter by maximum KM isk value
- Exclude any entity from search by specifying leading `-` sign
- Redirect feed to multiple channels for every filter
- Choose inclusive or exclusive filtering modes
- Specify custom template filename for feed Group to use
Read https://github.com/panthernet/ThunderED/wiki/Killmails-Feed for details.
### FEATURE HIGHLIGHT - CORP TITLES AUTH
It is now possible to authenticate characters by assigned corporation titles. Look for `Mode7_AuthByTitles` in default config file.
Several rules:
- Titles auth is only enabled when `Titles` property within `AllowedMembers` group is not empty
- Auth group must fetch `esi-characters.read_titles.v1` ESI permission from users
- `DiscordRoles` property from `AllowedMembers` will be ignored
- Corp directors will not be authenticated as they don't have corp titles
### FEATURE HIGHLIGHT - UPGRADE/DOWNGRADE WEB AUTH GROUPS
You can now specify a list of additional group names for auth group in an `UpgradeGroupNames` and `DowngradeGroupNames` properties. These groups will be checked during an auth check pass.
- Upgrade: If user will match a group from the list it will be transferred to this auth group. Discord roles will be assigned according to the new group rules.
- Downgrade: If user do not match it's current group criteria he will be checked against all groups in the list and will be transferred to first group that is matching criteria. Discord roles will be assigned according to the new group rules.
Note that if new group has ESI permissions specified the user will not have them this way. Moreover ESI permissions obtained from previous groups will be maintained.
### BREAKING CHANGES
- Bot has been updated to .NET Core 2.2 so you might have to adjust your environment
- Removed `RadiusKillFeedModule` and corresponding settings. Its functionality has been merged into `LiveKillFeedModule`
- Redesigned `LiveKillFeedModule` settings section, please take a look and update
- Contracts cache will be flushed to correct some inconsistencies. First contracts check will fill the cache.
- WebAuth module:
- Replaced `AllowedCharacters`, `AllowedCorporations`, `AllowedAlliances` with `AllowedMembers`
- Renamed underlying `Id` prop to `Entities`
### V1.3.14
+ Added `UsePortInUrl` param to `WebServerModule` to be able to disable port usage for some connectivity scenarios
+ Fixed several possible exceptions in !corp command
+ Fixed hard coded address in web config templates
+ Improved and updated !clist command to include filtering by type and availability. Read command help for details.
+ Rewrote `helpClist` language file string to reflect recent update
+ Remove `.php` endings from all URLs. They were obsolete from the very begining :)
+ Who's ordered some !vodka ?
### BREAKING CHANGES
- **REMOVE `.php` ENDING FROM YOUR CALLBACK URL IN CCP APP!** It is no longer needed and will cause validation error.
### V1.3.13
+ Added Timers auth to Web Config Editor
+ Added new !listroles, !addrole and !remrole commands (read below)
+ Fixed contract duplicate when using multiple filters
+ Fixed several auth errors
+ Fixed processing of characters whom has been deleted form EVE
+ Fixed config editor naming for !ships command
+ Fixed contracts processing incl. initial ongoing contracts catchup
+ Fixed cyrillic text in char application notifications
+ Updated 3rd party libraries
+ Updated Discord library to 2.1.0 release (might fix some exceptions)
### FEATURE HIGHLIGHT - MANUAL DISCORD ROLES
It is now possible for users to self assign/remove Discord roles from the predefined list.
Enable this feature in `CommandsConfig` using `EnableRoleManagementCommands` parameter and set roles list using the `RolesCommandDiscordRoles` parameter.
Use `RolesCommandAllowedRoles` to specify Discord roles eligible for these commands. Leave empty to allow everyone.
!listroles - lists available roles
!addrole - adds selected role to message author
!remrole - removes selected role from message author
### V1.3.12
+ Added new HR module param **ValidateTokensWhileLoading**
+ Added icons to HR users list when user don't have or have invalid ESI token
+ Fixed Preliminary auth without ESI permissions
+ Fixed HR module not displaying characters whithout ESI
### V1.3.11
+ Fixed HR module confirmation popups to work with Bootstrap 4.3
+ Fixed possible exception during cache cleanup
### V1.3.10
+ Added new module - Web Config Editor with basic functionality
+ Added new tags to KM templates: **{victimAllyOrCorpName}, {victimAllyOrCorpTicker}, {attackerAllyOrCorpName}, {attackerAllyOrCorpTicker}, {constName}, {regionName}, {isSoloKill}, {isAwoxKill}, {iskFittedValue}**
+ Improved !ships command to accept group or ship name as the last param. Examples: !ships who online dreads !ships all moros
+ Fixed minor deployment and package errors
### FEATURES HIGHLIGHT
New WebConfigEditor module allows you to edit and save Simplified Auth file from the web page. This file is used to manage authentication.
More features will be added in the future releases.
### BREAKING CHANGES
- Renamed !caps command into !ships command
- Renamed **EnableCapsCommand, CapsCommandDiscordChannels, CapsCommandDiscordRoles** to their **Ships** counterpart
### V1.3.9
+ Fixed accepted courier contracts handling
### V1.3.8
+ Added new **ShowOnlyBasicDetails** param for contracts filter - display only condensed basic info
+ Added new **RedirectByIdInDescription** and **PostToChannelIfRedirected** params for contracts filter - read WiKi on GitHub for details
+ Added notifications: **MoonminingExtractionStarted, MoonminingExtractionCancelled, MoonminingAutomaticFracture**
+ Added **AvoidDupesAcrossAllFeeds** param to ZKB settings to avoid dupe kills from all radius and live feeds
+ Added vital characters cache update on bot startup/reload
+ Fixed contracts citadel queries
+ Fixed Back urls in web interface
+ Fixed auth roles assignment with one button mode and standalone buttons enabled
!!!Read updated Contracts FAQ for detailed description (https://github.com/panthernet/ThunderED/wiki/Contracts-Feed-Setup)
### Breaking Changes
- Added new static **ZKBSettingsModule** settings section. Related ZKB parameters moved here: **zkillLiveFeedRedisqID, UseSocketsForZKillboard, ZKillboardWebSocketUrl**
### V1.3.7
+ Added **showinfo** links processing in mail messages
+ Added contract filter Discord channel validation
+ Added **AllAnchoringMsg** notification processing for POS deployment
+ Fixed some notification parsing
### V1.3.6
+ Fixed **radiusKillFeedModule** constellation and region handling
+ Automatic preliminary auth check now has 5 min delay timer
### V1.3.5
+ Added spy mail feed filters by corp/alliance name and feed channel
+ Added **DisplayDetailsSummary** param to display EVE urls in mail summary
+ Added ability to auth timers module by Discord roles
+ Fixed auth cleanup bug when where was an auth group in a list with empty Allowed* fields (literally group allowed all users to auth)
+ Fixed forbidden channels handling for commands
+ Fixed radius kill feed with 0 system range paramater
+ Improved and cleaned up Discord mail feeds, introduced new mail summaries with EVE fit & channel links into separate blocks to reduce clutter
+ Improved text breaking logic to respect words and urls
+ Improved **radiusKillFeedModule** to accept all IDs and names in a single mixed list
+ Improved **timersModule** to accept all IDs and names in a single mixed list
+ Improved **TED_ConfigEditor** to correctly work with mixed lists
+ Removed duplicate mails from spy feeds
### HIGHLIGHTS
- Introducing global quality of life improvement - parameters which accept mixed arrays of IDs and names. Previously there was only strong typed arrays with faceless ID values.
Now I will gradually update modules to accept both names and IDs in a condensed number af params. This will reduce clutter, improve usability and readability of config files.
Before:
"accessList": {
"UnitedFleet":{
"AllianceIDs": [123],
"CharacterIDs": [456],
"CorporationIDs": [789,911]
}
},
After:
"accessList": {
"UnitedFleet":{
"FilterEntities": [123, "John Snow", "a:Goonswarm Federation", "c:Corporation"],
}
},
Note the **a:* and **c:** prefixes, they are needed to search for alliance or corporation. If no prefix is specified then system will search for character.
Also not that system can search for corporations and alliances by TICKER!
System, constellation and region names do not require prefixes as they're unique by default.
### NOTES
- New **SpyFilters** config param in **HRMModule** section allows you to filter your spies output
- New **DisplayDetailsSummary** param for MailModule filter
- New **DisplayMailDetailsSummary** param for HRMModule filter
- Several notes about Spies HR improvements.
- You can now disable default mail feed by setting **DefaultSpiesMailFeedChannelId** to 0.
- You can selectively enable and redirect mail feed by adding filters to **SpyFilters** collection
- New filters use EVE names instead of IDs which improves config readability while not impacting general performance
- Mail now can display summary blocks after the message which include EVE urls for fits and channels. You can paste these urls into **EVE MAIL** body to become readable inside the game.
### BREAKING CHANGES
- Renamed **SpiesMailFeedChannelId** config param to **DefaultSpiesMailFeedChannelId**
- Removed **RadiusSystemId**,**RadiusConstellationId**,**RadiusRegionId**,**RadiusChannel** from **radiusKillFeedModule**
- Added **radiusChannels** and **radiusEntities** to **radiusKillFeedModule**
- Added **FilterEntities**,**FilterDiscordRoles** to **timersModule** access lists. Removed old parameters.
### V1.3.4
+ Added new **BindToMainCharacter** param to AuthGroups (read explanation below)
+ Added new **IsAltUsersVisible**, **CanInspectAltUsers** and **CanRestoreDumped** params to HR module access list
+ Added ability to restore members from dump in HR module
+ Added new experimental !caps command to display capital skills stats throughout the members database
+ Fixed corp and alliance data update in HR lists when users changes them
+ Fixed contracts type filter
+ Refactored authentication code to be more consistent with the modules
+ Updated HR module to include Alt Characters information into general lists and char inspection page
### NOTES
- Added new mode for the authentication process called: Alt Characters Authentication! In this mode you can bind alt characters with custom ESI permissions to the already authed main characters. Alt characters are dependant from the main character i.e. will be deleted if main character auth is deleted. They can be inspected in HR module and will be a subject for a subset of some new Discord commands.
When this mode is enabled it will always be treated as if **ExcludeFromOneButtonMode** and **SkipDiscordAuthPage** params are set to true
Set **BindToMainCharacter** to enable this mode. Please take a look at the auth group named **Mode6_AltCharactersAuth** in **settings.def.json** file for more info.
- Added new experimental **!caps** command to display information about capital ship drivers on channel/server.
This command uses new settings section: **CommandsConfig** and new config file **shipdata.def.json** which will be automaticaly unfold into **shipdata.json**.
**CapsCommandDiscordRoles** - list of Discord roles who has access to this command (empty = all)
**CapsCommandDiscordChannels** - list of Discord channels where this command is allowed (empty = everywhere)
### ADDITIONS
- New config section **CommandsConfig**
- Many new language entries
- New **IsAltUsersVisible** and **CanInspectAltUsers** params to HR module access list
- New **BindToMainCharacter** param for AuthGroups
### V1.3.3
+ Added new **UseStrictAuthenticationMode** param to auth group (read explanation below)
+ Added new **week(w), lastweek(lw), lastday(ld), rating(r)** command parameters for !stats command
+ Added new **ExcludeFromOneButtonMode** param to auth group to avoid being search when **UseOneAuthButton** is enabled
+ Added new **dateFormat** param to Config section
+ Added new **RatingModeChannelId** param to StatsModule and **IncludeInRating** param to Stats groups to autopost rating message
+ Improved auth process checks to go in the following order: char -> corp -> alliance
+ Improved auth process checks to search criterias through several filters within one group (read explanation below)
+ Improved auth checks to delete applying members with invalidated tokens
+ Improved ZKB sockets cleanup and restart
+ Fixed !stats d command to not include losses to npc
+ Fixed type filtering for contracts feeder
+ Fixed simplified auth empty line handling
+ Simplified web server settings (read breaking changes below)
+ Moved **Templates/Messages** templates to **Data** directory under Linux (read breaking changed below)
### NOTES
- **helpStat** language entry has been updated
### BREAKING CHANGES
- Auth process checks will now search criterias through several filters within one group by default. This means that the process will now gather all roles that match characters ID, corp ID and alliance ID in **AllowedCharacters, AllowedCorporations** and **AllowedAlliances** filters.
New **UseStrictAuthenticationMode** param has been introduced which is false by default. When enabled it will force auth process to act as before and stop after the first matching criteria is found.
- Removed **WebListenIP** and **WebListenPort** params from **WebServerModule** config section. Internal port will now always be similar to **WebExternalPort** and internal IP address will now always be 0.0.0.0. This IP will force app under Linux and Windows to listen all local interfaces.
- The bot will now search for **Templates/Messages** templates in **Data/Templates/Messages** directory under Linux
### V1.3.2
+ Added optional **SkipDiscordAuthPage** param to auth groups to be able to store ESI token and skip Discord auth
+ Added unit tests project
+ Added means to counter Linux data location problems (explanation below)
+ Added delete member buttons to HRM main page
+ Added filters for member lists on main HRM page
+ Added **UseDumpForMembers** and **DumpInvalidationInHours** params to HRM module config
+ Added new Spies list for HR members. Dumped members can be marked as Spies to avoid being recycled.
+ Added new SovTrackerModule (read highlight section below)
+ Added new **clist** command to list contracts for specified group
+ Added new simplified auth management file (read highlight section below)
+ Added new auth param to use only one button for authentication **UseOneAuthButton**
+ Added support for BR web compression
+ Added **SpiesMailFeedChannelId** to be able to feed new mail for characters marked as spies
+ Enhanced HRM module access options and security (explanation below)
+ Removed Discord mention from language file entry **mailMsgTitle**
+ Removed default text for **authPageHeaderText** language string
+ Changed default MySQL collation to utf8mb4_general_ci
+ Improved HTML templating and unified CSS+JS includes
+ Updated SQLite to work in WAL mode
+ Fixed incorrect solar systems table name in some queries
### HIGHLIGHTS
- One auth button mode can be enabled by setting **UseOneAuthButton** param to true. In this case the bot will search for first group which satisfies member corp/alliance condition.
There is also a change in auth process wotkflow which force users to authenticate twice if found auth group contains ESI permissions.
In this case automatic redrects are used so user logs in once and select character twice.
- Added new SovTrackerModule which now allows to track sov space holder changes and ADM index falls beyond the threshold in the filtered sets of solar systems.
Systems can be filtered by ID, holder alliance, region ID and constellation ID. All filters are ADDITIVE.
!!!WARNING - this module can be very resourse consuming so please read folowing recommendations.
1. Specifying **HolderAlliances** param will search through 5k+ entries for holder changes on each check (up to 8-10 sec processing on good PC if not prefiltered by **Systems**).
2. Specifying **Regions** or **Constellations** will force bot to fetch system data for each entry which
3. Recommended **CheckIntervalInMinutes** is 30+ minutes to avoid exscessive stress
4. Additive filter hierarchy: **Systems -> HolderAlliances -> Regions -> Constellations**. The most efficient way to setup this module is to specify Systems only.
- Added an ability to read and inject authentication data from standalone file named **_simplifiedAuth.txt**.
This file holds auth data in a compact CSV-like manner which can be helpful for less IT skilled admins or people who manage access right quite often.
In this file all entities are identified by names instead of numeric IDs which are then looked up on ESI during the bot startup.
Specified auth data will be injected into auth groups during runtime. You can even end up with empty predefined auth groups in settings.json file.
All fields are | delimeted, Discord roles are comma delimited.
Format: Exact Alliance or Corp or Character name|exact auth group name from config file|Discord role1,Discord role2
Example1: Starlane Limited|PrelimAlly|Members,[UF]
Example2: Goonswarm Federation|GuestAuthGroup|GuestRole,TempRole
You can edit this file and use !rehash command to apply changes right away
### BREAKING CHANGES
- To counter multiple problems with config and logs location under Linux we now search all sensitive data under folder named **Data** in bot root directory.
Sensitive data is represented by config file, db file and log files. Linux users now **should** use Docker **mount** and Linux **link** commands to mount
**Data** folder into the app directory.
In the following example we mount **/opt/thunder** directory to **Data** folder.
EXAMPLE:
** mkdir /opt/thunder**
copy settings.json into newly created folder
** docker run -p 8080:8080 -v /opt/thunder:/app/ThunderED/Data thundered:latest**
**WARNING!!!** Param named **Database.DatabaseFile** should now contain only DB filename without a path to avoid errors
- Introduced **AccessLists** param for HRMModule which now allows advanced access distribution.
Now you can:
- Limit access and display of specific user groups for certain roles and characters
- Limit access for certain roles and characters to members authed under specific group
- Limit access for certain roles and characters to members of specific corps and alliances
- Limit features access
EXAMPLE:
"AccessList": {
"accessList1": {
"UsersAccessList": [],
"RolesAccessList": [],
"AuthGroupNamesFilter": [],
"AuthAllianceIdFilter": [],
"AuthCorporationIdFilter": [],
"ApplyGroupFilterToAwaitingUsers": false,
"IsAwaitingUsersVisible": true,
"IsDumpedUsersVisible": true,
"IsAuthedUsersVisible": true,
"IsSpyUsersVisible": true,
"CanSearchMail": true,
"CanKickUsers": true,
"CanMoveToSpies": true,
"CanInspectAuthedUsers": true,
"CanInspectAwaitingUsers": true,
"CanInspectDumpedUsers": true,
"CanInspectSpyUsers": true
}
},
**NOTE**: For fast migration to new layout just copy **UsersAccessList** and **RolesAccessList** content to corresponding params
**UsersAccessList** and **RolesAccessList** acts as before limiting authentication access.
**AuthGroupNamesFilter**, **AuthAllianceIdFilter** and **AuthCorporationIdFilter** filters are additive. They are used to limit HR user access
to view distinct members. Members are identified by their auth group name, alliance ID or corp ID according to mentioned params.
**ApplyGroupFilterToAwaitingUsers** will apply group name filtering to members awaiting auth (which is off by default)
**Is_____UsersVisible** gain access to members list of the specific section
**CanSearchMail** gain access to mail search functions
**CanKickUsers** gain access to ban hammer
**CanMoveToSpies** gain access to make-a-spy button for dumped users
**CanInspect____Users** gain access to detailed info about members of the specific section
### V1.2.19
+ Added new !sys command for bot admins
+ Improved auth check module performance
+ Fixed notifications feed bug introduced in one of the prev releases
### V1.2.18
+ Added warning messages for modules when feeder character is not authed or has outdated token
+ Added ability to open posted contracts from Discord message right into the game client (read notes section below)
+ Added **LanguageFilesFolder** param to be able to store customized language files in a separate folder
+ Added error message when trying to inspect user in HRM with invalid token
+ Added character location and ship info into HR module
+ Added new HR users group display named Dump for users who left but hasn;t been cleaned up yet
+ Improved auth cleanup (read notes section)
+ Improved HR mail readability
+ Improved bandwidth and CPU usage for contracts, mail, notifications and null campaigns modules using 304 http response
+ Fixed excessive renaming attempts when character has very long name
+ Fixed new installation upgrade issue
### NOTES
+ Added new parameter for contract filters **ShowIngameOpen** - display url in contract message body which will open contract in game client.
When clicked, user will be prompted to pass simple SSO auth to get one-time access to running game client of selected character. Auth data and permissions for this case will not be saved anywhere.
Note that you will not be able to open contracts which are unavailable to you.
CCP application should have **esi-ui.open_window.v1** scope allowed.
+ Added new Config section param **LanguageFilesFolder**. Will be handy for bot owners who has customized language files.
Bot will search for language files in the specified folder. Leave empty to search in default location.
+ Improved auth cleanup. Now bot validates auth not only for present Discord users but also for all users in DB.
This approach provides faster and better membership management. In addition all users which no longer passes auth will be moved in a temporary "Dump" group.
This group can be browsed in HR module if user has any ESI permissions and is a subject to cleanup according to **AppInvalidationInHours** param.
### V1.2.17
+ Added log message to highlight inconsistency in auth group names between DB and config file
+ Added warning messages if discord channel is not found when sending some messages
+ Fixed the case when bot tried to strip ignored roles
+ Fixed mysql error for some queries
### V1.2.16
+ Added soft lock for a DB upgrade if DB version is below required minimum (for future cleanups)
+ Added customizable text fields to auth web page
+ Fixed standings auth taking initiative above other groups in some cases
+ Fixed timers login error for admins in some cases
+ Fixed standings auth error when standings were not yet loaded for feed character
+ Fixed structure names in some notifications
+ Fixed MoonminingExtractionFinished notification
+ Improved and refactored DB backend
+ Improved auth backend
### NOTES
+ Standings auth now use group names during auth process to avoid confusion with other groups when validation criteria overlaps between those groups
+ Added localization string **authPageHeaderText** which you can erase or change (displayed on auth page)
### V1.2.15
+ Added admin command **rngroup** to be able to rename auth groups in DB after its name has been changed in config file
+ Fixed possible DiscordAPI deadlock
+ Improved console logs display
+ Refactored database to use identical table name casing
+ Updated DiscordAPI library to version 2.0.1
### PLEASE NOTE
One SQL error for **cache_data** is normal during the update process as the vital table name has been changed.
### V1.2.14
+ Added AllowedCharacters param group to authentication block which allows individual chars auth the same way as corps and alliances
+ Added new settings section: Database
+ Added support for **mysql** DB provider
+ Improved and optimized internal database handling
+ Improved HR module char list loading time
+ Fixed !char command to display actual Last Seen data for character
+ Fixed timers auth using discord admin roles
### NOTABLE CHANGES
+ This release features some internal DB upgrades. DB backup is created automatically but please do backup before the first launch to be able to rollback just in case.
+ Duplicated user Discord IDs will be purged from DB leaving only one user registration per Discord account (dupes were been possible before)
+ Added AllowedCharacters param group to authentication block
+ It is now possible to use MySQL database
- Set: "databaseProvider": "mysql"
- Create database using SQL: create database thundered;
- Import MySQL dump file **mysql.dump** into created database
- Specify "DatabaseName": "thundered" and other connection settings in Database config section
### BREAKING CHANGES
+ Added new Database settings section for detailed DB setup for different providers
+ Moved **databaseProvider** and **databaseFile** params to new Database section
### V1.2.12
+ Added option to enforce alliance tickers for users
+ Added !lp command to display lp goodies rating for NPC corps
+ Added colored standings comparsion in HRM char inspection page between char contact and HR contact for the same entity
+ Added FinalTimeMention param for FleetUp module to use custom Discord mention when event is starting
+ Added !bs command to display list of lowest standings to NPC corp or faction (nice for FW)
+ Added new WebSocket mode for kill feeds (UseSocketsForZKillboard params which is TRUE BY DEFAULT)
+ Added new FeedUrlsOnly param for kill feed groups. Bot will post only ZKB url - most efficient but less customizable feed method
+ Improved TQ status post to recognize ESI problems and do not post excessive messages
+ Improved internal logic in terms of async performance
+ Improved kill feeds in terms of performance and query minimization
+ Fixed log feed in compatibility mode
+ Fixed guest role stripping in some cases
### NOTABLE CHANGES
+ Added UseSocketsForZKillboard and ZKillboardWebSocketUrl params to Config section
+ Added FeedUrlsOnly param to kill feed modules groups
- Removed EnableCache param from liveKillFeedModule and radiusKillFeedModule
### V1.2.11
+ Added support for HTTPS with new UseHTTPS param (WIP)
+ Added new auth functionality: Standings Based Auth (check WIKI for details)
+ Added new param RunAsServiceCompatibility for experimental service mode tweaks when bot is running as bg task
+ Added new mail search functionality to HRM module
+ Added TO field for HRM mail
+ Added delete auth button to HRM module
+ Improved help text to display actual command prefix
+ Fixed minmatar fwstats command
+ Fixed mail feed
### V1.2.10
+ ESI address fix
### BREAKING CHANGES
- Introduced new config param **ESIAddress**
### V1.2.9
+ Added extendedESILogging param to general config
+ Added contract items to HRM inspection page
+ Added volume to contracts
+ Fixed contracts filtering
+ Fixed HRM mail generation failing in rare case
+ Fixed Discord name length error
+ Improved contracts settings and added Filters property
+ Improved log feeder to send batch messages reducing Discord channel spam
+ Improved WebAuthModule IDs to accept list of values
+ Improved notificationFeedModule IDs to accept list of values
+ Improved liveKillFeedModule IDs to accept list of values
+ Improved timersModule IDs to accept list of values
+ Improved mailModule IDs to accept list of values
### BREAKING CHANGES
- Look in default config file for contracts module changes
- WebAuthModule -> authGroups -> AllowedCorporations -> Id is now a list of values
- WebAuthModule -> authGroups -> AllowedAlliances -> Id is now a list of values
- notificationFeedModule -> groups -> characterID - is now a list of values
- liveKillFeedModule -> groupsConfig -> corpID - is now a list of values
- liveKillFeedModule -> groupsConfig -> allianceID - is now a list of values
- timersModule -> accessList replaced with AllianceIDs, CharacterIDs and CorporationIDs params
- timersModule -> editList replaced with AllianceIDs, CharacterIDs and CorporationIDs params
- mailModule -> AuthGroups -> Id - is now a list of values
### V1.2.8
+ Fixed contracts module and updates lang files
### V1.2.7
+ Added two new contract filters FeedIssuedBy and FeedIssuedTo which are checked against char and corp ID
+ Fixed incorrect contracts module deployment
+ Fixed corporate contracts feed
+ Fixed items display and contracts feed
+ Fixed unaccessible contract queries
### V1.2.6
+ Added new ContractNotificationsModule
+ Added guest auth mode
+ Fixed whitespaces in auth group names preventing correct auth
+ Improved auth cleanup
+ Moved authentication buttons to the separate page
### Breaking Changes
- Added two new images into config: ImgContract and ImgContractDelete
- Added new translations
### FEATURE HIGHLIGHT - CONTRACTS FEED
It is now possible to track contracts for character/corporation and feed notifications into different channels.
This feed supports different filters by contract type, availability and asignee.
### V1.2.5
+ Fixed auth url display based on DefaultGroup param. Points to the web root if this param is empty.
+ Fixed manual auth accept for users applied under groups with no allowed corp or allies specified
+ Improved mail url parsing
+ Improved stats handling allowing multiple daily stats posts and moved it into the separate module
### BREAKING CHANGES
- Removed AutoDailyStats params from ContinousCheckModule
- Introduced new StatsModule with similar functionality
### V1.2.4
+ Added new props FeedPvpKills and FeedPveKills to kill feeder modules to be able to filter PVP and PVE kills
+ Fixed kills dupes on !rehash and improved rehash logic
+ Fixed !char command on chars with no history
+ Fixed various ZKB redirect urls
+ Fixed Mail module printing old emails
+ Fixed excessive error logs on TQ offline
+ Fixed live and radius kill feed to use time format from settings
+ Improved auth logic (look for Breaking Changes below)
+ Improved logging
+ Improved app data handling to support unified Int64 value format for identifiers
+ Improved and fixed auth buttons to always point to **auth.php** page with correct auth url according to button group
+ Improved config error check during startup and rehash
+ Improved !corp command
+ Improved mail parsing and filtering
+ Improved commands help display to be modular depending on the modules being used
+ Improved auth logic (completely rewritten) to use unified secure algorithm
+ Improved mail parsing logic to process links to ZKB, evewho and dotlan
+ Updated !help command text for missing commands
### Breaking Changes
WebAuthModule settings undergone following refactoring:
- Removed **CorpIDList, AllianceIDList** and **memberRoles** params
- Added **AllowedAlliances** and **AllowedCorporations** dictionaries with corp and alliance entities inside. **Id** = corp/ally ID and **DiscordRoles** to a list of Discord roles to assign upon successful auth
- !auth command currently displays web site main page and is similar to !web command
- General Discord auth button name now can be changed using the **CustomButtonText** parameter
- Added ManualAssignmentRoles param to AuthGroup which contains Discord roles which can be granted manually but will be stripped if character leave group corp/ally
This will now allow different corps and alliances to auth using a single button but receive different Discord roles based on their corp/ally ID.
WARNING! Auth check logic has also been altered. Previously it could search for user corp/ally ID match in ANY auth group regardless of mode (preliminary or not).
Now it will first look if user have its auth group remembered in DB (has done auth with ESI permsission specified) and use this group data for check.
If group hasn't been found (removed from file?) or user don't have token (has done auth without ESI permissions) it will search user corp/ally ID match in all auth groups without
ESI permissions. If no corp/ally ID match found the user will be stripped of roles and will require proceed with new auth.
This is made to maintain check consistency between several different auth groups.
CONCLUSION: maintain actual auth groups in your settings file
MailModule settings undergone following changes:
- Labels, Senders props removed
- Channel property renamed to DefaultChannel and used when FeedChannel isn't specified
- Added Filters list with the underlying FilterLabels, FilterSenders, FilterMailList and FeedChannel settings
- All data inside a single filter block will follow exclusive rules meaning it will only include mail passed through ALL specified filters
- It is now possible to specify mail list names in filtering and feed mail into different channels
### V1.2.3
+ Fixed preliminary auth applicants removal upon expiration
+ Fixed inability to add timers
+ Fixed timer notification errors
+ Fixed possibility to add timer with passed date
+ Fixed log feeder to work with background service mode
+ Fixed URL display for general auth mode with ESI permissions
### V1.2.1 - 1.2.2
+ Added TimeInputFormat setting to Timers module to be able to specify time format
+ Added new web button to add timers using the remaining time
+ Added StructureUnanchoring notification
+ Added Skills table to HRM character inspection module
+ Added TableSkillEntriesPerPage param to HRMModule config section
+ Added EVE static data into database: types, groups, systems, regions and constellations
+ Added Database backup and restore functions for greater DB upgrade safety
+ Added proxy settings for TelegramModule
+ Added several DefaultMention config params to various modules
+ Added new SystemLogFeeder module to be able to feed bot console messages into the Discord channel
+ Improved ZKB duplicated kills detection
+ Improved kill logging
+ Improved preliminary auth status messages
+ Fixed coloring issue with custom templates
+ Fixed auth check issues with the same corp/ally in different groups
+ Fixed TelegramModule to check for both username and nickname
### V1.2.0
+ Improved ZKB support
+ Fixed auth report message channel selection
### V1.1.9
+ Updated ZKB handling with the recent API changes (Oct 2, 2018)
+ Added 'd' param parse for !stats command for current day
+ Refined !char and !corp command to query less data due to excessive ESI load
+ Fixed radius killmail central system name
+ Fixed missing parts in default config file
### V1.1.8
+ Improved web auth module to process authentication for groups with special ESI permission list
+ Added new HRM module - human resource management with JackKnife feats, able to display complete data for members authed with special permissions
+ Added startup check if settings.json file is present
+ Do not generate buttons on the main web page if corresponding module is disabled
+ Added optional params to webAuthModule settings group: UseCustomAuthRoles and ESICustomAuthRoles
+ Added optional DefaultAuthGroup param to webAuthModule
+ Added optional ShowGroupName param to liveKillFeedModule and radiusKillFeedModule
+ Added new !authurl command which will return default web auth url based on DefaultAuthGroup param or first auth group found. *!authurl groupName* will return auth url for specified group name (by default known to admin only).
+ Added new KM template param {NewLine} - inserts line break
+ Added message filtering to TED_ChatRelay app
+ Improved denied access handling for web modules
+ Improved ZKill feeder to don't feed kills if none of the other modules demands them
+ Improved logging
+ Fixed discord user names in TelegramRelay module
### Highlights - Advanced Web Auth
Improved web authentication module now supports 3 different modes:
1. General auth with no special permissions (as before)
2. General auth with special ESI permissions requested from group applicant. Creates separate auth button on web server.
3. Preliminary auth with special ESI permissions requested from group applicant. Creates separate auth button on web server.
Renewed auth logic now allows you to control which permissions to request from which auth groups, i.e. which data EVE Online characters will share with you upon authentication.
By default this feature is disabled and new users will only pass basic auth as before. But if you fill *ESICustomAuthRoles* param (mode 2) then bot will get a refresh token from character during auth process.
This refresh token will be stored in a database and will be used to fetch all required data about registered characters. You can also set *PreliminaryAuthMode* (mode 3) to force applicants to wait for an approval
making it possible to inspect them using "JackKnife" utility named **HRM** before they're allowed into your corporation or alliance.
NOTE: Refresh token can be invalidated by user at any time in their EVE Online account settings
NOTE: You have to add all required ESI permissions to your CCP app before you can use them in auth process
Considering the above you can build your own "JackKnife" recruitment process for selected group as following:
1. Create auth group with *PreliminaryAuthMode* set to true. This will force group to accept all auth requests and enable refresh token extraction. All appllicants will be put on hold for consequent actions.
2. An applicant should confirm his registration in Discord using *!auth confirm CODE* command displayed during their auth process. This is needed to bind their registration to Discord account.
3. Now the data from the applicants will be available for review in the HRM Module web page.
4. Decision:
- If you decide to accept member then just invite him to your corporation and the bot will automatically auth applicant in Discord based on *CorpIDList* and *AllianceIDList* params. Make sure to set correct *MemberRoles* param to apply Discord roles upon successful registration.
- If you decide to decline application you can set *AppInvalidationInHours* param which will delete applications when specified amount of hours has passed, decline them manually in HRM module or by using *!auth decline CODE/ID* command.
### Breaking changes
+ Templates/main.html template file changed
+ Templates/auth2.html template file changed
+ Templates/accessDenied.html template file added
+ Auth group CorpID property renamed to CorpIDList and is now an array of integer values
+ Auth group AllianceID property renamed to AllianceIDList and is now an array of integer values
### Notes
+ Web templates for HRM are not optimal yet. They use Bootstrap4 + JQuery so any help tuning them to look nice will be highly appreciated.
### v1.1.7
+ Added missing discord roles notification for console and file logs in Auth module
+ Added Discord guild ID validity check
+ Added new module: moduleFWStats - access to !fwstats command
+ Added new command *!turl* - displays timers auth page url
+ Added new command *!timers* - displays upcoming timers list
+ Added connection status check to avoid excessive requests and logging while EVE is offline or network connection is not available
+ Added core ContinousCheckModule for misc reporting and processing logic. Now featuring auto-post when TQ goes Online / Offline into selected channels.
+ Improved checks performance
+ Upgraded to .NET Core 2.1 platform
+ Updated config editor to support static modules like Resources and ContinousCheckModule
+ Optimized star system data queries to use static data when possible
+ Fixed nullsec campaign excessive spam
### Notes
* 4 new Resources section entries in the settings file - ImgFaction
* New properties in the Config section of the settings file: moduleFWStats, moduleLPStock
* New config file section - *ContinousCheckModule*
* New *TinyUrl* param in Timers section - manually generated tinu url to display for !turl command
### Breaking changes
+ Platform has been updated to .NET Core 2.1 which might require an SDK update on the server
+ StatsModule config section has been merged into new ContinousCheckModule section with the new property names
v1.1.6
+ Added new defaultMention parameter for notifications filter
+ Added new fetchLastNotifDays parameter for notification group
+ Added new NullsecCampaign module
+ Added bot config tool for Windows
+ Added isCorporation property to timer module filters to make corporation ID input more convinient
+ Added static EVE systems data into the database
+ Improved bad config error messages
+ Improved TED Chat Relay error report
+ Fixed live kill feed exception
+ Fixed inability to add new timers after delete operation
+ Fixed mail module refresh logic
Breaking changes
+ TED_ChatRelay app: Renamed settings.json to relaysettings.json
+ TED_ChatRelay and ThunderED will now be supplied within single package as they share 99% of release libraries anyway.
v1.1.5
+ Added new incursions notification module
+ Added new Discord command !tq
+ Added new notifications: CorpAppNewMsg and CharAppWithdrawMsg (thanks to lunedis)
+ Added new config property **databaseFile** to be able to specify database location
+ Updated all settings to use unified names and fetch procedures
+ Removed WebAuthModule dependency from NotificationFeedModule
+ Updated Docker script (thanks to lunedis)
+ Updated code to work with Abyss innovations
Breaking changes
- Reliable kill feed module is unavailable at the moment. Disabled due to ZKill API issues. Use liveKillFeedModule.
- **auth** config section renamed to **WebAuthModule**
- **WebAuthModule.authCheckIntervalMinutes** is now a numeric value
- **discordUrl, ccpAppClientId, ccpAppSecret** properties moved from **WebAuthModule** to **webServerModule**
- **jabber** module parameter **defchan** and filters are now numeric values
- **liveKillFeed** module renamed to **liveKillFeedModule**
- **fleetup** module renamed to **fleetupModule**
- **jabber** module renamed to **jabberModule**
- Removed global **losses** param from **liveKillFeedModule**. Set high **minimumLossValue** value for the same effect.
- Removed not used **config.DiscordGeneralChannel** param
- Removed not used **config.comRestrictToValidChannels** param
- Added new resource param **imgIncursion**
v1.1.4
+ Added new notifications: StructureDestroyed and OrbitalAttacked
+ Added ZKB links to some of the notification messages
+ Added timestamp settings for EVE Chat Relay module
+ Added unified version file
+ Added Back buttons to all web pages
+ Reworked authenticationto check for multiple discord roles per group
+ Reworked notifications module to allow better control over notification filters
+ Fixed auto-timers notification exception with empty notes
Breaking changes
+ Settings **auth -> authGroups -> group1 -> memberRole** renamed to **memberRoles** and now is a list of strings
+ **notifications** section replaced by **notificationFeedModule** section with updated settings
v1.1.3
+ Fixed fleetup notification issues
+ Fixed notifications time issue
+ Fixed SQLite query issues
v1.1.2
+ Added new module for IRC connection. Now you can have two-way Discord message relay with IRC.
+ Added new module for Telegram connection. Now you can have two-way Discord message relay with Telegram.
+ Added new module and app - EVE chat relay. One way EVE ingame chat relay into Discord channels.
+ Added regions and constellations cache
+ Fixed welcome message translation
+ Fixed double bigkill messages in reliable kill feed
+ Fixed default database file missing some required fields
v1.1.1
+ Added includePrivateMail property to mail groups
+ Added Docker support
+ Added additional messages when bot don't have access rights in Discord channel
+ Added missing AppKey parameter to fleetup default config
+ Improved overall bot performance
+ Improved fleetUp module error handling
+ Fixed critical error in WebAuth for pending users
+ Fixed radius kill handling with 2 or more groups
+ Fixed possible radius processing fail
+ Some localization fixes
+ Unified date format handling
v1.1.0
+ Added sender options to mailModule to filter mail by sender IDs
+ Fixed timers handling
+ Fixed 0 big kill channel errors in feeds
+ Refactored SQL methods
+ Updated logging
v1.0.9 BETA
+ Added first version of Mail module
+ Fixed missing main web page title translation
+ Improved crossplatform compatibility
v1.0.8 BETA
+ Fixed Discor auth failing in some cases
+ Merged auth section group settings into one - memberRole
v1.0.7 BETA
+ Added TimersModule
+ Improved web queries reliability and performance. Added retries and gzip support.
+ Moved web-server to the core modules, all others can use it on demand
+ Moved IP address and port settings to webServerModule section
+ Fixed aggressor query in wardec notifications due to weird Core bug
+ Updated notification feed access rights to include citadels info and chat chanels
v1.0.6 BETA
+ Added ability to run free-for-all auth server with no corp or alliance restrictions
+ Fixed logging files for FleetUp
+ Fixed initial setup SQL upgrade issues
v1.0.5 BETA
+ Added !web and !authnotify commands
+ Added main web-server page to display all available activities
+ Added direct system, constellation and region radius KM feeds
+ Added caching option for live feed modules
+ Added beta FleetUp integration
+ Fixed admin command privilegies
+ Updated test module routine
+ Small fixes to HTML templates
- Removed name param from feeds. Use group name directly instead.
v1.0.4 BETA
- Initial public release