-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Performance zh TW
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故障,例如受限制的帳號掉卡了、在關閉/切換遊戲時掉卡、玩遊戲時完全不掉卡等。
本章節主要針對那些想知道為什麼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或是任何其他工具。 但最後,這是您自己的帳號,您可以選擇如何去使用它⸺但請記住我們已警告過您。