Commit Graph

54 Commits

Author SHA1 Message Date
ArchiBot
bb58ec75f3 Automatic translations update 2023-01-19 02:36:34 +00:00
Archi
8aad8b6bcf Misc 2023-01-18 23:11:17 +01:00
Archi
239d523513 Skip announcements during matching 2023-01-18 22:52:25 +01:00
Archi
bcfeb66ba4 Allow maximum of 10 pending to confirm trade offers at once 2023-01-18 14:16:35 +01:00
ArchiBot
1a26844cd8 Automatic translations update 2023-01-18 02:20:59 +00:00
Archi
28a3e27a5e Account for failures in a row when sending trade offers
We expect those to be occassional, but getting 5 in a row from 5 different users, that's extremely suspicious
2023-01-17 19:42:29 +01:00
Archi
27639b32d5 Accept all confirmations from ItemsMatcher at once
Previously we accepted those after each trade, because the overhead of loading other inventory was too big to leave those pending. Since we have all possible matches at once now, it makes sense to firstly schedule all trade offers, and then just confirm them all at once, especially since confirmations endpoint is horrific and very often problematic, on top of having 10-seconds rate-limiting.
2023-01-17 19:19:27 +01:00
Archi
5049f82dad Don't stop matching on occassional two factor failure 2023-01-17 19:00:31 +01:00
Łukasz Domeradzki
ca9cccf5da Add support for request compression (#2805)
* Add support for brotli request compression

* Refactor and add support for netf

* Use fastest compression
2023-01-15 21:26:03 +01:00
Archi
fc93f86060 Improve preferences of matching
We should try to match smallest bots first, but since assets are deduplicated exclusively for us, we should use total inventory count instead
2023-01-15 01:04:15 +01:00
Archi
e5ff2e9f02 Include TotalInventoryCount for the backend 2023-01-15 00:16:53 +01:00
Archi
88cec38df4 Decrease overhead for calculating tradable sets for announcement
We don't care about classIDs there, only amounts
2023-01-14 23:57:45 +01:00
Archi
8e7d05ce5c Skip untradable items for MatchEverything bots 2023-01-14 23:41:25 +01:00
Archi
eada4356f7 Remove MinItemsCount requirement 2023-01-14 23:08:13 +01:00
Archi
ca06d03475 Relax listing requirement
We no longer require 100 tradable items, but rather, 100 total items. We can also further optimize the payload by removing assets where we have no tradable items at all.
2023-01-14 22:24:21 +01:00
Archi
e6e82e19bd Cut excessive data from announcement
Now that we don't need to transmit whole inventory to the backend anymore, we can cut it to matchable types only
2023-01-14 15:08:28 +01:00
Archi
55f7235a32 Misc 2023-01-13 17:16:15 +01:00
Archi
84be0f8077 Misc
We can save some excessive memory I guess
2023-01-12 11:47:45 +01:00
Archi
8cc705feff Skip pointless announcements if possible 2023-01-12 11:42:04 +01:00
Archi
ca67285f34 No users to match against is expected 2023-01-11 20:15:19 +01:00
Archi
097ac05ceb Remove assetID from inventories request
Backend doesn't need to know that
2023-01-11 19:16:38 +01:00
Archi
4895a95794 Decrease size of the request
We reached a point where it actually matters whether we say "realAppID" or just "r", since we're doing this sometimes even 600k times, multiplied by 9 properties that we have
2023-01-11 18:40:46 +01:00
Archi
3cadcd16b4 Help ArchiNet calculating previous asset IDs if possible 2023-01-11 18:34:31 +01:00
Archi
2b15b9f84e Optimize filtering of no-dupes
Slightly decreases CPU spent, since we calculate sets to remove only once rather than on each entry
2023-01-06 20:58:35 +01:00
ArchiBot
873a109f84 Automatic translations update 2023-01-06 02:21:02 +00:00
Archi
dea715ff1e Decrease announcement time, set listener for finished trade offers 2023-01-05 14:30:08 +01:00
ArchiBot
70116cb88a Automatic translations update 2023-01-04 02:19:13 +00:00
ArchiBot
36a140faf2 Automatic translations update 2022-12-31 02:15:37 +00:00
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