Commit graph

26 commits

Author SHA1 Message Date
Archi
9144684df9
I knew I forgot about something 2022-12-30 17:22:21 +01:00
Archi
f41d6d53a6
Report warning on listing/matching
If user intentionally enabled STM or MatchActively, we should display him warning if that's not possible due to not meeting the requirements.
2022-12-29 22:25:35 +01:00
ArchiBot
0e06019213
Automatic translations update 2022-12-29 02:18:12 +00:00
Archi
d98fde47a4
Use WebProxy against the server if defined
There are valid use cases for it, e.g. if the ISP decided to block ASF STM server (but whyy)
2022-12-27 03:13:07 +01:00
Archi
2a83967d2b
Closes #2784
I didn't even test this, yolo
2022-12-26 16:25:26 +01:00
ArchiBot
48591cf85a
Automatic translations update 2022-12-26 02:17:35 +00:00
Archi
8fd5f2e883
Fix Archi fuckup
Who would have thought?
2022-12-23 22:42:41 +01:00
Archi
4eae3ebf4d
Use custom WebBrowser for items matcher
Now this is dictated by at least several reasons:
- Firstly, we must have a WebBrowser per bot, and not per ASF instance, as we preserve ASF STM cookies that are on per-bot basis, which are required e.g. for Announce
- At the same time we shouldn't use Bot's one, because there are settings like WebProxy that shouldn't be used in regards to our own server
- We also require higher timeout than default one, especially for Announce, but also Inventories
- Best we can do is optimize that to not create a WebBrowser for bots that are neither configured for public listing, nor match actively. Since those settings need to be explicitly turned on, we shouldn't be duplicating WebBrowser per each bot instance, but rather only few selected bots configured to participate.
2022-12-23 18:21:43 +01:00
Archi
1daa6728f6
Handle edge case of session invalidation during heartbeats 2022-12-23 16:34:42 +01:00
Archi
71a52eb3b2
Remove unnecessary information from inventories request 2022-12-23 15:31:14 +01:00
Archi
af4a605a8c
Optimize inventories request 2022-12-23 15:08:36 +01:00
ArchiBot
647eaaf379
Automatic translations update 2022-12-23 02:17:11 +00:00
ArchiBot
5a1fcf79ca
Automatic translations update 2022-12-22 02:17:26 +00:00
ArchiBot
2b24fbc493
Automatic translations update 2022-12-21 02:16:13 +00:00
ArchiBot
92bd0ad46a
Automatic translations update 2022-12-19 02:14:34 +00:00
Archi
b081b8eaba
Initialize RemoteCommunication always
This caused people with remote communication of 0 unable to use match actively, which is not required. Remote communication is already coded to handle only what user configures it to do so.
2022-12-18 15:15:39 +01:00
ArchiBot
470c46af71
Automatic translations update 2022-12-18 02:16:40 +00:00
Archi
9821e61864
Misc 2022-12-17 20:36:58 +01:00
Archi
104d5b7750
Add !match command for ItemsMatcher plugin 2022-12-17 18:27:41 +01:00
Archi
defc1bf80f
Add support for full OpenID procedure against ArchiNet 2022-12-17 17:23:20 +01:00
Archi
6ff1d0a2d9
Fix possible crash during matching 2022-12-17 13:09:01 +01:00
ArchiBot
10241d048f
Automatic translations update 2022-12-17 02:15:03 +00:00
Archi
643b8a60fc
Announce to the listing sooner if inventory has changed
We should announce to the listing at least each 60 minutes, but we should do it faster if we know that our inventory has changed. With this logic we can report in up to 1 minute since the change, which should provide very up-to-date state, but at the same time we still limit amount of announcements to not more than one per 5 minutes.
2022-12-16 19:57:32 +01:00
Archi
7894b0132f
Update RemoteCommunication on bot modules reload
Archi, you designed that interface yourself exactly for this purpose, silly!

This way bot reload in config will trigger remote communication changes.
2022-12-15 22:02:19 +01:00
Archi
4e382732d9
Misc refactor 2022-12-15 19:16:28 +01:00
Łukasz Domeradzki
98ef37e722
Extract PublicListing and MatchActively to a plugin, resurrect MatchActively (#2759)
* Start work on extracting remote communication

* ok

* Dockerfile fixes

* More fixes

* Prepare /Api/Announce and /Api/HeartBeat

* Decrease publish race conditions

* OK

* Misc

* Misc

* Misc

* Move Steam group part back to ASF core

* Finally implement match actively v2 core

* Update RemoteCommunication.cs

* Use single round exclusively, report inventories more often

* Use randomization when asking others for assetIDs

* Add support for license and crowdin

* Kill dead code

* Fix return type of inventories

* Fix responses for good

* Unify old backend with new

* Report whole inventory, always

Helps with optimization on the backend side in terms of inventory fetching

* Update RemoteCommunication.cs

* Determine index of each asset and tell server about it

* Update AnnouncementRequest.cs

* Fix ASF screwing up with the order

* Fix warnings

* Misc rename

* Final logging touches
2022-12-15 18:46:37 +01:00