Skip to content

Performance zh TW

ArchiBot edited this page Jan 6, 2024 · 33 revisions

效能

ASF的主要目標是盡可能地高效掛卡,它基於兩種可操作的資料⸺少部分由使用者提供、ASF無法自行猜測/檢查的資料,與大部分可由ASF自動獲得的資料。

在自動模式下,ASF不允許您選擇要掛卡的遊戲,您也無法更改掛卡演算法。 ASF比您更清楚它該做什麼,與做什麼能最快掛出卡片​。 您的目標是正確設定設定屬性,因為ASF無法自行猜測它,而剩餘事物都已涵蓋在設定中。


在前段時間Valve修改了交換卡片的掉落演算法。 自那時起,我們可以把Steam帳號分成兩種:交換卡片掉落​受限制​與​不受限制​。 兩種帳號間的唯一區別在於,掉卡受限制的帳號在遊玩指定遊戲至少​X​小時之前,都無法獲得任何交換卡片。 似乎從未要求退款的老帳號​掉卡不受限制​,而曾經要求退款的新帳號則會​受限制​。 但是,這只是理論,不應將它視為規則。 因為​沒有絕對的判斷依據​,這就是為什麼ASF需要​​來告訴它,您的帳號符合哪種情形。


目前ASF有兩種掛卡演算法:

Simple​演算法適用於掉卡不受限制的帳號。 這是ASF主要使用的演算法。 Bot檢測需掛卡的遊戲,逐個掛卡,直到所有交換卡片都掉落完畢。 這是因為同時掛卡多個遊戲時,掉卡率會接近零使效率低落。

Complex​是種新型演算法,幫助受到限制的帳號最大化掛卡效益。 ASF會先對所有遊玩時數超過​HoursUntilCardDrops​小時的遊戲使用標準​Simple​演算法。然後,若沒有遊戲的時間剩餘>= ​HoursUntilCardDrops​小時,它會同時掛所有時間剩餘< ​HoursUntilCardDrops​小時的遊戲(限制最多​32​個),直到其中一個達到​HoursUntilCardDrops​小時。之後,ASF將從頭開始循環此過程(對遊戲使用​Simple​演算法,且剩餘時間< ​HoursUntilCardDrops​小時,以此類推)。 在這種情形下,我們可以同時掛卡多個遊戲,來同時增加這些遊戲的遊玩時間,使它們先達到適當的遊戲時長。 請注意,在本情形掛卡時,ASF​並不是​在掛交換卡片,因此它不會檢查這期間是否有卡片掉落(原因如上所述)。

目前,ASF完全依據​HoursUntilCardDrops​設定屬性(是由​​所設定的)來選擇掛卡演算法。 若​HoursUntilCardDrops​設定成​0​,就會使用​Simple​演算法,否則,會使用​Complex​演算法⸺也就是設定成先把所有遊戲的遊玩時數掛到指定的時長,然後再掛取卡片。


哪種演算法更適合您並沒有明確的答案​。

這也是您並非選擇掛卡演算法,而是告訴ASF您的帳號是否有掉落限制的原因之一。 若帳號不受限制,​Simple​演算法在該帳號上的效果會​更好​,因為我們不需要浪費時間把遊戲掛至​X​小時⸺在掛多個遊戲時,掉卡率會接近0%。 反之,若您的帳號受到掉卡限制,​Complex​演算法會更適合您,因為如果遊玩時數還未達到​HoursUntilCardDrops​小時,單獨掛卡並無意義⸺所以我們將先掛​遊玩時數​,​然後​才掛單一遊戲。

不要聽信其他人的說法盲目設定​HoursUntilCardDrops​,您需要進行測試、比較結果,並依據您獲得的資料,來決定何值適合您。 鑒於您正閱讀本Wiki頁面,您應該很需要提高ASF的效率。只要您為此付出些許努力,您就能確保ASF以最大可能的效率為您的帳號運作。 如果存在適用於所有人的解決方案,您就不需要選擇了⸺ASF會自行決定。


確認您的帳號是否為受限的最好的方法是什麼?

確認您有一些​沒有任何遊玩時數​的遊戲可以掛卡,最好有5款或以上,並以​HoursUntilCardDrops​為​0​的值來執行ASF。 最好在掛卡期間不遊玩任何遊戲,這樣能獲得更加準確的結果(最好是在深夜執行ASF測試)。 讓ASF掛卡這5款遊戲,然後再查看紀錄日誌來獲得掛卡結果。

ASF會清楚說明給定遊戲的交換卡片於何時掉落。 您需要特別注意ASF裡最早掉落的交換卡片。 舉例來說,若您的帳號不受限制,那麼您在開始掛卡後的30分鐘內會掉第一張卡。 若您發現​至少一款​遊戲在開始的30分鐘內掉卡,就代表您的帳號​不受限制​,且​HoursUntilCardDrops​應使用​0​。

反之,若您發現​每款​遊戲均需至少​X​小時才能掉落第一張卡,那就代表您應該將​HoursUntilCardDrops​設定成該小時數。 大多數(但不是全部)的受限使用者需要至少​3​小時的遊玩時數才會開始掉卡,而這也是​HoursUntilCardDrops​設定的預設值。

記住,不同遊戲可能有不同的掉落速率,這就是為什麼您應以​至少​3款,最好5款或以上的遊戲來測試您的猜測,以確保您得到的結果並非巧合。 只要有一款遊戲在一小時之內掉卡,就可以確定您的帳號​不受限制​,可以把​HoursUntilCardDrops​設定成​0​;但要確定您的帳號​受限制​,則需要有數款遊戲在達到一定時間後才會掉卡。

特別注意,在以前​HoursUntilCardDrops​只能是​0​或​2​,這就是為什麼ASF有個​CardDropsRestricted​屬性,使設定在這兩個值之間切換。 但隨著最近的改動,我們注意到,不只是大多數使用者現在需要​3​個小時,而不是之前的​2​個小時,且​HoursUntilCardDrops​現在也是動態的,可以依不同帳號而有不同的值。

當然,設定最後的決定權在您。

比這更糟糕的是⸺我遇到有些人能從受限制變成不受限制的狀態,反之亦然⸺有可能是因為Steam的錯誤(沒錯,Steam有很多錯誤),亦或是Valve調整了一些邏輯。 所以,即使您確認您的帳號受限制(或不受限制),也不能相信它會一直維持這種狀態⸺只要您要求退款,就有可能從不受限制變成受限制。 若您覺得之前設定的值不再適當,您可以隨時重新測試並更新它。


預設情形下,ASF會假設​HoursUntilCardDrops​為3​,因為在它應小於​3​時,這樣設定的負面影響比設定成其他值要小。 這是因為在最糟的情形下,我們每掛卡​32​款遊戲,只會浪費​3​個小時;而若把​HoursUntilCardDrops​預設成​0​,則在最糟的情形下,每款遊戲都將浪費​3​個小時。 但是,您仍應調整這個變數來配合您的帳號,以獲得最大效率,因為這只是依據大多數使用者的情形的盲猜(所以我們選擇嘗試預設成「兩害相權取其輕」的狀態)。

目前上述兩種演算法已足以應付帳號當前可能遇到的情形,為了盡可能提高掛卡效率,因此不打算加入更多的演算法。

值得一提的是,ASF也可以使用​play​指令來啟用手動掛卡模式。 您可以在​指令​中閱讀更多相關資訊。


Steam 故障

掉卡演算法並不總會依應有的方式運作,它完全有可能出現各種Steam故障,例如受限制的帳號掉卡了、在關閉/切換遊戲時掉卡、玩遊戲時完全不掉卡等。

本章節主要針對那些想知道為什麼ASF不做​某些事情​的人,例如快速切換遊戲以加速掉卡。

什麼能稱為​Steam故障​:觸發​未被定義​的行為的特定操作,它​不可預期、未被證實,且被視為一種邏輯缺陷​。 依據定義它​並不可靠​,這代表它無法在乾淨的測試環境下穩定重現。因此,不應借助猜測來進行編寫程式功能,或是因應/濫用它。 通常在開發人員修復邏輯缺陷前,它是暫時的,但一些雜項故障可能會在很長一段時間內被忽視。

Steam故障​的一個很好的範例是在關閉遊戲時掉卡,這很常見,而Idle Master的遊戲跳過功能在一定程度上濫用了它。

  • 未被定義的行為​:當您觸發故障時,無法確定是否能夠掉落交換卡片。
  • 不可預期​:依據過去的經驗以及Steam網路的行為,在傳送單一請求時無法產生相同的結果。
  • 未被證明​:Steam網站上清楚記載如何獲得交換卡片,且​每個地方​都清楚表明它是​透過遊玩​來獲得,而不是關閉遊戲、獲得成就、切換遊戲,或同時開著32款遊戲。
  • 被視為一種邏輯缺陷​:關閉或切換遊戲應該與掉卡無關,這些交換卡片被明確說明是透過​提高遊玩時數​來獲得。
  • 依據定義並不可靠,且無法穩定重現​:它無法對每個人都有效,且即使您成功過一次,下一次也無法保證仍然成功。

現在我們明白了什麼是Steam故障,並且在關閉遊戲時掉卡​就是​其中之一。那我們就可以繼續說明第二點:​依據定義,ASF並未以任何方式濫用Steam網路,並盡全力遵守Steam服務條款、其協定及普遍接受的內容​。 不斷地向Steam網路傳送開啟/關閉遊戲的請求,可被視為​DoS攻擊​,且​直接違反​Steam線上行為守則​。

身為一名Steam用戶,您同意並願意遵守以下規則。

您不會:

策劃攻擊Steam伺服器或干擾Steam運作。

不論您是否能夠使用其他程式(例如IM)來觸發Steam故障,也不論您是否同意我們,並且也將這類行為視為DoS攻擊⸺這取決於Valve的判斷,但只要我們認為它是經由濫用Steam網路請求來利用/濫用非預期的行為,那麼您可以很確定Valve對此會有相似的看法。

ASF​絕不會​利用Steam漏洞,濫用、駭入、或使用任何其他我們認為依據Steam服務條款、Steam線上行為守則,或做出其他任何可能會使ASF不受Steam網路歡迎的行為, 如​貢獻指南​章節所述。

若您仍想為了幾塊錢的交換卡片,不惜一切代價冒險讓您的Steam帳號比平時更快地掛卡,那麼遺憾的是,ASF永遠不會在自動模式中提供這樣的功能。但您仍能使用​play指令​用來對Steam網路做出任何事情。 我們不建議利用Steam故障來牟利⸺不論是使用ASF或是任何其他工具。 但最後,這是您自己的帳號,您可以選擇如何去使用它⸺但請記住我們已警告過您。

Clone this wiki locally