Skip to content

ItemsMatcherPlugin tr TR

ArchiBot edited this page Dec 17, 2022 · 16 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.

How it exactly works

ASF sends initial data once after logging in, that contains all properties public listing makes use of. Then, every 10 minutes ASF sends one, very tiny "heartbeat" request that notifies our server that the bot is still up and running. If for some reason the heartbeat didn't arrive, for example due to networking issues, then ASF will retry sending it each minute, until server registers it. 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 listing only accepts ASF bots for time being. 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:

  • Your Steam identificator (in 64-bit form, for generating links)
  • Your nickname (for display purposes)
  • Your avatar (hash, for display purposes)

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:

  • Your trading token (so people outside of your friendlist can send you trades)
  • 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.

Bu seçeneği kullanmak için karşılamanız gereken bir dizi gereksiniminiz vardır. At the minimum you must have unrestricted account, ASF 2FA active and at least one valid type in MatchableTypes, such as trading cards.

Yukarıdaki gereksinimlerin tümünü karşılıyorsanız, ASF periyodik olarak herkese açık ASF STM listesi ile mevcut botları aktif olarak eşleştirmek için iletişim kuracaktır.

  • 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.
  • Her set (appID'nin bileşimi, ögenin türü ve nadirliği) tek bir turda yalnızca bir kez eşleştirilebilir. Bu, "artık mevcut olmayan ögeleri" en aza indirmek ve tüm takasları göndermeden önce her bir botun tepki vermesini bekleme ihtiyacından kaçınmak için uygulanır. Eşleştirmenin devam eden bir süreçten değil, turlardan oluşmasının birincil nedeni de budur.
  • ASF, tek bir roundda tek bir kullanıcıya 255 öğeden ve tek bir kullanıcıya 5 takastan fazla göndermez. Bu, Steam limitlerinin yanı sıra kendi yük dengelememiz tarafından uygulanır.

Bu modülün şeffaf olması gerekiyor. Eşleştirme, ASF başladıktan yaklaşık 1 saat sonra başlayacak ve her 6 saatte bir (gerekirse) kendini tekrar edecektir. MatchActively özelliğinin, aktif olarak setlerin tamamlanmasına doğru ilerlediğimizden emin olmak için uzun vadeli, periyodik bir önlem olarak kullanılması hedefleniyor, ancak kısa vadeli zaman ve kaynak baskısı olmadan, bu bir komut olarak girilirse gerçekleşecek. Bu modülün hedef kullanıcıları, birincil hesaplar ve "stash" alt hesaplardır, ancak bu, MatchEverything olarak ayarlanmamış herhangi bir bot tarafından kullanılabilir.

ASF, bu seçeneği kullanarak oluşturulan talep ve baskı miktarını en aza indirmek için elinden gelenin en iyisini yapar ve aynı zamanda üst sınıra eşleştirme verimliliğini en üst düzeye çıkarır. Botları eşleştirmenin ve süreci diğer türlü düzenlemek için kesin algoritması, ASF'nin uygulama detayıdır ve geri bildirim, durum ve gelecekteki olası fikirlere göre değişebilir.

Algoritmanın mevcut sürümü, ASF'nin öncelikle Herhangi bir bota, özellikle de öğelerinin geldiği oyun çeşitliliği daha iyi olanlara öncelik vermesini sağlar. 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. Bu, kullanmamız için potansiyel kopyaları olsa bile, ASF'ye hangi botların asla eşleşmemesi gerektiğini söylemek için kullanılabilir.


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