Skip to content

ItemsMatcherPlugin de DE

ArchiBot edited this page Dec 17, 2022 · 27 revisions

ItemsMatcherPlugin

ItemsMatcherPlugin is official ASF plugin that extends ASF with ASF STM listing features. In particular, this includes PublicListing in RemoteCommunication and MatchActively in TradingPreferences. ASF comes with ItemsMatcherPlugin bundled together with the release, therefore it's ready for usage right away.


PublicListing

Public listing, as the name implies, is listing of currently available ASF STM bots. It's located on our website, managed automatically and used as a public service for both ASF users that make use of MatchActively, as well as ASF and non-ASF users for manual matching.

While PublicListing is enabled by default, please note that you will not be displayed on the website if you do not meet all of the requirements, especially SteamTradeMatcher, which isn't enabled by default. For people that do not meet the criteria, even if they kept PublicListing enabled, ASF doesn't communicate with the server in any way. Public listing is also compatible only with latest stable version of ASF and may refuse to display outdated bots, especially if they're missing core functionality that can be found only in newer versions.

Wie es genau funktioniert

ASF sendet nach der Anmeldung einmalig erste Daten, die alle Eigenschaften enthalten, die von der öffentlichen Auflistung verwendet werden. Dann sendet ASF alle 10 Minuten eine sehr kleine "Heartbeat"-Anfrage, die unseren Server darüber informiert, dass der Bot noch aktiv ist. Wenn der "Heartbeat" aus irgendeinem Grund nicht ankam, z.B. aufgrund von Netzwerkproblemen, wird ASF versuchen, ihn jede Minute erneut zu senden bis der Server ihn registriert. This way our server knows precisely which bots are still running and ready to accept trade offers. ASF will also send initial announcement on as-needed basis, for example if it detects that our inventory has changed since the previous one.

We display all ASF 2FA+STM accounts that were active in the last 15 minutes. Users are sorted according to their relative usefulness - MatchEverything bots which are shown with Any banner that accept all 1:1 trades, then unique games count, and finally items count.

API

ASF STM Inserate akzeptieren vorerst nur ASF-Bots. There is no way to list third-party bots on our listing for now, as we can't review their code easily and ensure they meet our entire trading logic. Participation in the listing therefore requires latest stable ASF version, although it can run with custom plugins.

For consumers of the listing, we have a very simple /Api/Listing/Bots endpoint that you can use. It includes all the data we have, apart from inventories of users which are part of MatchActively feature exclusively.

Privacy policy

If you agree to being listed in our listing, by enabling SteamTradeMatcher and not refusing PublicListing, as specified above, we'll temporarily store some of your Steam account details on our server in order to provide the expected functionality.

Public info (exposed by Steam to every interested party) includes:

  • Deine Steam-ID (in 64-Bit-Form, zur Generierung von Links)
  • Dein Nickname (zu Anzeigezwecken)
  • Dein Avatar (hash, zu Anzeigezwecken)

Semi-public info (exposed by Steam to every interested party if you meet listing requirements) includes:

  • Your inventory (so people can use MatchActively against your items).

Private info (selected data required for providing the functionality) includes:

  • Dein Handels-Code (damit Leute außerhalb Ihrer Freundesliste IhrenHandelsangebote schicken können)
  • Your MatchableTypes setting (for display purposes and matching)
  • Your MatchEverything setting (for display purposes and matching)
  • Your MaxTradeHoldDuration setting (so other people know whether you're willing to accept their trades)

MatchActively

MatchActively setting is active version of SteamTradeMatcher including interactive matching in which the bot will send trades to other people. It can work standalone, or together with SteamTradeMatcher setting. This feature requires LicenseID to be set, as it uses third-party server and paid resources to operate.

Um von dieser Option Gebrauch zu machen musst du eine Reihe von Anforderungen erfüllen. At the minimum you must have unrestricted account, ASF 2FA active and at least one valid type in MatchableTypes, such as trading cards.

Wenn du alle oben genannten Anforderungen erfüllst, wird ASF regelmäßig mit unserer öffentlichen ASF STM Liste kommunizieren um aktiv mit aktuell verfügbaren Bots abzugleichen.

  • In each round ASF will fetch our inventory and inventory of all available bots listed in order to find MatchableTypes items that can be matched. Thanks to communicating directly with our server, this process requires a single request and we have immediate information whether any available bot offers something interesting for us - if match is found, ASF will send and confirm trade offer automatically.
  • Jedes Set (bestehend aus appID, Typ und Seltenheit eines Gegenstands) kann pro Runde nur ein einziges mal gepaart werden. Dies ist implementiert, um "nicht mehr verfügbare Artikel" zu minimieren und zu vermeiden, dass man warten muss, bis jeder Bot reagiert bevor man alle Handelsangebote versendet. Das ist auch der primäre Grund, wieso der Vorgang in Runden und nicht als ein durchgehender Prozess ausgeführt wird.
  • ASF sendet nicht mehr als 255 Gegenstände in einem einzigen Handelsangebot, und nicht mehr als 5 Handelsangebote an einen einzelnen Benutzer in einer einzigen Runde. Dies wird durch Begrenzungen von Steam sowie durch unsere eigene Load-Balancing-Funktion vorgegeben.

Dieses Modul soll transparent sein. Matching will start in approximately 1 hour since ASF start, and will repeat itself each 6 hours (if needed). Die Funktion MatchActively ist als langfristige, periodische Maßnahme gedacht, um sicherzustellen, dass wir aktiv auf dem Weg zur Fertigstellung von Sets sind, aber ohne einen kurzfristigen Zeit- und Ressourcendruck, der auftreten würde, wenn dies als Befehl angeboten werden würde. The target users of this module are primary accounts and "stash" alt accounts, although it can be used by any bot that is not set to MatchEverything.

ASF does its best to minimize the amount of requests and pressure generated by using this option, while at the same time maximizing efficiency of matching to the upper limit. The exact algorithm of choosing the bots to match and otherwise organize the whole process, is ASF's implementation detail and can change in regards to feedback, situation and possible future ideas.

The current version of the algorithm makes ASF prioritize Any bots first, especially those with better diversity of games that their items are from. When running out of Any bots, ASF will move on to the Fair ones upon same diversity rule. ASF will try to match every available bot at least once, to ensure that we're not missing on a possible set progress.

MatchActively takes into account bots that you blacklisted from trading through tbadd command and will not attempt to actively match them. Dies kann verwendet werden, um ASF mitzuteilen, welche Bots nie verglichen werden sollen, auch wenn sie potenzielle Duplikate haben die wir verwenden können.


Why do I need a LicenseID to use MatchActively? Wasn't it free before?

ASF is, and remains, free and open-source, as it was established at the start of the project back in October 2015. Our program is also entirely non-commercial, we do not earn anything from contributions to it, building or publishing. Over those past 7+ years ASF has received tremendous amount of development, and it's still being improved and enhanced with every monthly stable release mostly by a single person, JustArchi - with no strings attached. The only funding we receive is from non-obligatory donations that come from our users.

For a very long time, until October 2022, MatchActively feature was part of ASF core and available for everyone to use. In October 2022, Valve, the company behind Steam, has put very severe rate limits that rendered previous functionality entirely broken, with no solution available. The feature therefore had to be removed from ASF core in version 5.4.1.0.

MatchActively was resurrected as part of official ItemsMatcher plugin that further enhances ASF with active cards matching functionality. Resurrecting MatchActively feature required from us extraordinary amount of work to create ASF backend, entirely new service hosted on a server, with more than a thousand of proxies attached for resolving inventories, all exclusively to allow ASF clients to make use of MatchActively like before. Due to the amount of work involved, as well as resources that are not free and require to be paid on monthly basis by us (domain, server, proxies), we've decided to offer this functionality to our sponsors, that is, people that already support ASF project on monthly basis. Our goal isn't to profit from it, but rather, cover the monthly costs that are exclusively linked with offering this option - that's why we offer it basically for nothing, but we do have to charge a little for it as we can't pay hundreds of dollars from our own pockets just to make it available for you. We hope that you understand.


How can I get an access?

ItemsMatcher is offered as part of $5+ sponsor tier on JustArchi's GitHub. Simply become a sponsor of $5 tier (or higher), then read configuration section to obtain and fill LicenseID.

The license allows you to send limited amount of requests to the server. $5 tier allows you to use MatchActively for one account, which should be suitable for majority of people. $10 tier allows you to use it on three accounts. If you require more resources, let us know.

Clone this wiki locally