如何使用 ASF 挂卡
如果你有一台服主机 (VPS、树莓派、一台被淘汰的 PC…) 你会用它做什么?
玩法有很多,可以用来挖矿赚点零花钱 {{< spoiler >}}虽然可能连电费都赚不回来{{< /spoiler >}},也可以养只爬虫没事爬爬网页,或者加入 BOINC 为世界科研贡献力量… 如果你和我一样,恰好是个 Steam 玩家玩家的话,用闲置的主机来挂 Steam 集换式卡牌似乎是个不错的选择。
关于 ASF 挂卡🔗
众所周知,要在 Steam 上玩游戏,Steam 才会给你相应的集换式卡牌。而在闲置的主机上挂真正的游戏却不怎么现实 (性能不够)。所以,我们要使用 ASF 挂卡器来挂卡。
关于ASF**(ArchiSteamFarm):**
ASF 是由 C# 編寫,能同時掛載多個 Steam 賬號的掛卡工具。其不像 Idle Master 那樣:同一時間只能為一個賬號掛卡,需要後台運行 Steam 客戶端,需啟動額外進程模擬『正在遊戲』狀態。ASF 不需要後台運行任何Steam 客戶端,不需要啟動額外進程,而且能為不限數目的 Steam 賬號同時掛卡。不僅如此,該軟件還能在服務器和其他非桌面電腦上運行,並擁有完整支持 Mono 的特性,這能讓其在 Windows、Linux 以及 OS X 等任何支持 Mono 的操作系統上運行。ASF 存在的基礎要歸功於 SteamKit2。
[注] ArchiSteamFarm V3.0 以后的版本已经将 Mono 换成了 .Net Core。
简单来说 ASF 就是一个假的 Steam 客户端,它通过“假装玩游戏”,让 Steam 以为你真的在玩某款游戏,从而获得 Steam 集换式卡牌。
那么“假装玩游戏”有风险吗?会被 Steam 发现吗?理论上是有被 Steam 发现的可能性的,但到目前为止,还没有听说过谁因为挂卡被封号或者其他处罚的情况,V 社官方也没有明确表态过禁止挂卡 {{< spoiler >}}挂卡从某种意义上来说是可以增加用户粘性的{{< /spoiler >}},所以基本上可以认为挂卡是安全的。(出了事别找我就对了 | ・ω・’))
不过为了保险起见,最好还是将带有 VAC 的游戏排除在外。
ASF 的安装与使用🔗
Windows 安装🔗
到这个页面去下载最新版的 ASF,然后解压。
双击 ArchiSteamFarm.exe
便可运行。
GNU/Linux 安装🔗
首先去这个页面获取适合你系统的最新版 ASF 的下载地址。这里以 64 位 x86 架构的 ArchiSteamFarm V3.4.0.7 为例。
在终端中运行:(如果没有 unzip
的话先安装 unzip
)
mkdir asf
cd asf
wget https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/3.4.0.7/ASF-linux-x64.zip
unzip ASF-linux-x64.zip
在 asf
目录中使用命令 ./ArchiSteamFarm
便可运行。
使用 Docker 部署🔗
相对于直接运行,我更喜欢用 Docker 来部署 ASF。
同样以 64 位 x86 架构的 ArchiSteamFarm V3.4.0.7 为例。
在终端中运行:
mkdir asf
cd asf
wget https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/3.4.0.7/ASF-generic.zip
unzip ASF-generic.zip
然后在 asf
目录中新建并编写 Dockerfile
文件:
FROM microsoft/dotnet
WORKDIR /home/asf
COPY . /home/asf
EXPOSE 5000
ENV ASPNETCORE_URLS http://*:5000
RUN rm -rf /home/asf/config
ENTRYPOINT [ "dotnet","/home/asf/ArchiSteamFarm.dll" ]
然后运行以下命令来制作 Docker 镜像:
docker build --tag=asf:v1.0.0 .
使用以下命令启动容器:(默认你的 asf/config
目录为 ~/asf/config
)
docker run -it \
-v ~/asf/config:/home/asf/config \
-p 5000:5000 asf:v1.0.0 --name asf
ASF 配置🔗
ASF 的配置文件在 config
目录中。
在 config
目录中新建 / 编辑两个文件:
- ASF.json:全局配置文件
- Bot.json:每个帐号的配置文件
Bot.json 可以有多个,每个文件对应一个 Steam 帐号,文件名可以换成你喜欢的任意名称
ASF.json🔗
{
"AutoRestart": true,
"CommandPrefix": "!",
"ConfirmationsLimiterDelay": 10,
"ConnectionTimeout": 60,
"CurrentCulture": "zh-CN",
"Debug": false,
"FarmingDelay": 15,
"GiftsLimiterDelay": 1,
"Headless": false,
"IdleFarmingPeriod": 8,
"InventoryLimiterDelay": 3,
"IPC": false,
"IPCPassword": null,
"IPCPrefixes": ["http://127.0.0.1:1242/"],
"LoginLimiterDelay": 10,
"MaxFarmingTime": 10,
"MaxTradeHoldDuration": 15,
"OptimizationMode": 0,
"Statistics": true,
"SteamMessagePrefix": "/me ",
"SteamOwnerID": 0,
"SteamProtocols": 7,
"UpdateChannel": 1,
"UpdatePeriod": 24,
"WebLimiterDelay": 200,
"WebProxy": null,
"WebProxyPassword": null,
"WebProxyUsername": null,
"Blacklist": [
730, 440, 221100, 10, 240, 50, 70, 500, 550, 20, 30, 300, 320, 40, 60, 80,
360, 58610, 222880, 4000, 252490, 2100, 61700, 21970, 1250, 204300, 219640,
10180, 115300, 42700, 2400, 216250, 255220, 65800, 4920, 35450, 44350,
221040, 70000, 282800, 227100, 215470, 222480, 208090, 243800, 17710, 1200,
63000, 63500, 61730, 45500, 63200, 39000, 224260, 223710, 104900, 55110,
247730, 55100, 6510, 214360, 214630, 63970, 42160, 204080, 212410, 209610,
201070, 244630, 91310
]
}
简单介绍几个重要的配置:
-
“Blacklist”:不挂卡的游戏 (这里排除了所以带 VAC 的游戏)
-
“SteamOwnerID”:ASF 所有者的
SteamID
;ASF 所有者可以使用全局指令 (例如:!exit
、!restart
、!update
等 ) 获取SteamID
的方法:怎么获取 SteamID?
详细的配置说明请参考:ASF.json 详细配置说明
Bot.json🔗
{
"AcceptGifts": false,
"AutoSteamSaleEvent": false,
"BotBehaviour": 0,
"CustomGamePlayedWhileFarming": null,
"CustomGamePlayedWhileIdle": null,
"Enabled": true,
"FarmingOrders": [],
"GamesPlayedWhileIdle": [],
"HoursUntilCardDrops": 3,
"IdlePriorityQueueOnly": false,
"IdleRefundableGames": true,
"LootableTypes": [1, 3, 5],
"MatchableTypes": [5],
"OnlineStatus": 1,
"PasswordFormat": 0,
"Paused": false,
"RedeemingPreferences": 0,
"SendOnFarmingFinished": false,
"SendTradePeriod": 0,
"ShutdownOnFarmingFinished": false,
"SteamLogin": null,
"SteamMasterID": 0,
"SteamMasterClanID": 0,
"SteamParentalPIN": "0",
"SteamPassword": null,
"SteamTradeToken": null,
"SteamUserPermissions": {},
"TradingPreferences": 0,
"UseLoginKeys": true
}
简单介绍几个重要的配置:
- “Enabled”:是否启用本 Bot
- “SteamLogin”:用来登陆 Steam 的用户名;为空着表示在启动时输入
- “SteamPassword”:用来登陆 Steam 的登录密码;为空着表示在启动时输入
- “SteamMasterID”:管理员的
SteamID
;管理员可以使用与 Bot 相关的控制命令。 如果不添加「小号」的话保持默认 (为 0) 即可。 获取SteamID
的方法:如何获取 SteamID - “SteamMasterClanID”:Steam 群组的 ID;如果有很多 Bot 需要控制,可以创建一个 Steam 群组,然后群主和管理员可在群组聊天中使用与 Bot 相关的控制命令进行控制 如果不添加「小号」的话保持默认 (为 0) 即可。 获取 Steam 群组 ID 的方法:如何获取 Steam 群组 ID
详细的配置说明请参考:Bot.json 详细配置说明
ASF 命令
所谓 ASF 命令实际上就是用「主号」给「小号」发送 Steam 消息,来控制指挥 ASF 控制「小号」和 ASF 。
因为比较常用,所以特地做了一个图片格式的速查表 (右键,保存即可下载) -> [查看原图](https://mogeko.github.io/blog-images/r/036/ASF 命令速查表.png)
命令 | 描述 |
---|---|
!redeem [Bots] [key1, key2,...] | 指定 Bot 激活给予的全部密钥,同 !r |
!redeem^ [Bots] [key1, key2,...] | 指定 Bot 激活给予的全部密钥,不转发,同 !r^ |
!redeem^ [Bots] [Modes] [Keys] | 使指定 Bot 以指定模式激活 key Modes: FD = 分发,FF = 转发,FKMG = 补缺,SD = 不分发,SF = 不转发,SI = 舍己,SKMG = 不补缺,V = 验正跳废 |
!addlicense [Bots] [appID1, appID2 ...] | 使指定 Bot 激活指定 ID 的游戏(仅限于免费游戏) |
!owns [Bots] [appID,gameName...] | 检查当前 Bot 是否已经拥有游戏,同 !oa (指定 ID, 游戏名, 部分游戏名) |
!ownsall [appID,gameName...] | 检查所有 Bot 是否已经拥有指定 ID 的游戏 |
!exit | 退出 ASF |
!restart | 重启 ASF |
!start [Bots] | 启动指定的 Bot |
!startall | 启动所有 Bot |
!resume [Bots] | 恢复指定 Bot 的 !pause 暂停和 !play 手动挂卡 |
!pause [Bots] | 永久暂停指定 Bot,直至重启或手动恢复,使用 !resume 恢复 |
!pause~ [Bots] | 暂时暂停指定 Bot,自动恢复 |
!farm | 重启当前 Bot 的挂卡模块 |
!farm [Bots] | 重启指定 Bot 的挂卡模块 |
!play [Bots] [appID1, appID2,...] | 切换至手动挂卡,让指定 Bot 启动指定 ID 的游戏。使用 !resume 恢复自动挂卡模式 |
!stop [Bots] | 停止指定 Bot,注销登录 |
!leave | 让 Bot 离开当前的群组聊天。该指令只在群组聊天中生效。 |
!rejoinchat [Bots] | 强制指定 Bot 重新加入群聊 |
!status [Bots] | 输出指定 Bot 的状态,同 !sa |
!statusall | 输出所有 Bot 以及 ASF 本身的状态 |
!loot [Bots] | 将指定 Bot 所有 Steam 物品交易给 SteamMasterID |
!lootall | 将已启动 Bot 所有 Steam 物品交易给 SteamMasterID |
!transfer [Bots] [Modes] [Bots] | 使指定 Bot 发送某类交易至指定 Bot Modes: A = 全部,BG = 背景,BO = 卡包,C = 卡,E = 表情,F = 闪卡,G = 宝珠,U = 其他 |
!unpack [Bots] | 将所有补充包存储在指定Bot的库存 |
!bl [Bots] | 列出指定 Bot 交易模块中的黑名单用户 |
!bladd [Bots] [SteamIDs64] | 为指定 Bot 的黑名单增加用户 |
!blrm [Bots] [SteamIDs64] | 为指定 Bot 的黑名单删除用户 |
!ib [Bots] | 列出指定 Bot 黑名单中的 apps |
!ibadd [Bots] [AppIDs] | 为指定 Bot 的黑名单中增加 apps |
!ibrm [Bots] [AppIDs] | 为指定 Bot 的黑名单删除 apps |
!2fa [Bots] | 为指定 Bot 生成 2FA 验证 |
!2fano [Bots] | 否决指定 Bot 所有的验证请求 |
!2faoff [Bots] | 关闭指定 Bot 的 2FA 验证功能 |
!2faok [Bots] | 接受指定 Bot 所有的验证请求 |
!password [Bots] | 显示指定 Bot 加密后的密码 (在使用 PasswordFormat 时) |
!iq [Bots] | 列出指定 Bot 的优先队列 |
!iqadd [Bots] [AppIDs] | 为指定 Bot 的优先队列增加 apps |
!iqrm [Bots] [AppIDs] | 为指定 Bot 的优先队列删除 apps |
!nickname [Bots] [Nickname] | 改变指定 Bot 的昵称 |
!input [Bots] [Type] [Value] | 给予指定 Bot 输入类型,Headless 模式下工作 Type:DeviceID, Login, Password, SteamGuard, SteamParentalPIN, TwoFactorAuthentication |
!help | 弹出帮助信息 (链接到 Wiki 指令页面) |
!update | 检查在 GitHub 的更新 (默认每 24 小时进行一次) |
!version | 显示当前版本信息 |
附录🔗
如何获取 Steam 群组 ID🔗
在你所创建的 Steam 群组的页面的地址末尾添加 /memberslistxml/?xml=1
例如:https://steamcommunity.com/groups/mogeasf/memberslistxml/?xml=1
然后在 <groupID64>
标签中就可以找到类似于 103582791462949118 的数字,这就是 Steam 群组 ID 了。
如何获取 SteamID🔗
首先打开你的 Steam 个人主页 ([用户名] -> 个人资料),复制网页地址
打开网页:http://steamrep.com
在搜索框中粘贴上刚刚复制的网页地址,搜索
然后搜索框中的一串数字就是 SteamID
了
如何注册 Steam 网页 API 密匙🔗
点击这个链接 (需要科学上网):https://steamcommunity.com/dev/apikey
登录,就可以获取生成的网页 API 了
域名名称随便什么是都可以,不影响使用的。
ASF 详细配置说明🔗
ASF 使用 C#
开发,所以配置文件中的配置语句也是带有类型的。
ASF 支持如下类型:
- bool:布尔型;只接收
true
与false
数值。 - byte:字节型;接受 0 至 255 的数字。
- ushort:无符号短整形;接受 0 至 65535 的数字。
- uint:无符号整型;接受 0 至 4294967295 的数字。
- ulong:无符号长整型;接受 0 至 18446744073709551615 的数字。
- string:字符串;接受英文字母,需要用双引号 ("") 包裹起来。
- HashSet:无符号数组;接受一个数组。
ASF.json 详细配置说明🔗
[bool] “Debug” (默认:false):该程序是否以调试模式运作。调试模式中,ASF 将在可执行文件所在位置创建一个特殊的 debug 文件夹,当中能够包含 ASF 与 Steam 服务器之间的完整通讯内容。调试信息能帮助查找关于网络的问题。除非是开发者需要,用户不要用调试模式运行 ASF。ASF 在调试模式下性能会降低,如非开发者要求记录调试日志,不要将其开启。注意:调试日志包含诸如 Steam 登陆密码等敏感信息。所以不要将你的调试日志在任何场所公开。ASF 开发者只会要求将其发送至他的电子邮箱。
[bool] “Headless” (默认:false):该配置定义程序是否以无标头模式运行。当处在无标头模式中,ASF会假定其在服务器上运行,因此不会尝试读取诸如2FA码、Steam令牌码、密码以及任何需要ASF操作的宝贵数据。该模式对用服务器运行ASF的用户有用,比如在要求2FA码时,ASF将静默终止操作并停用账号。除非用户在服务器上使用ASF,并确认其能够在非无标头模式下运作,否则请将该配置禁用。无标头模式下将拒绝任何用户的干预,你的账户在需要你的协助的情况下不会启动。这在服务器状态下有用,能够中止任何要求凭证的操作,而非一直等待玩家提供相应信息。
[bool] “AutoUpdates” (默认:true):是否开启自动更新。如果使用 Docker 部署可以考虑关闭,因为 Docker 不允许容器自动重启。
[bool] “AutoRestart” (默认:true):是否在更新后自动重启。
[byte] “UpdateChannel” (默认:1):该配置定义自动更新的通道,目前 ASF 支持两种通道 1
为稳定版,2
为实验版。稳定版通道是默认的发布通道,适合大多数用户。实验版通道不单提供稳定版,还包含为高阶用户及其他开发者用来测试新特性、验证bug修复或是给予未来计划特性反馈的预发布版。实验版通常包含未被修复的 bug,尚处在开发中的特性或是重写的实现。如果你不认为自己是高阶用户,请保持默认的 1
(稳定版)更新通道。
[byte] “SteamProtocol” (默认:6):该配置定义 ASF 内置 Steam 客户端所用的网络协议。目前仅支持2种数值 - 6代表特定的TCP协议,17代表特定的UDP协议。使用其他数值结果都是采用默认数值6。在你尝试应对特定防火墙,或是尝试设置代理时,从TCP切换到UDP可能会有效。UDP Steam协议目前尚为试验性功能,使用请自担风险。除非你有充足的理由修改该配置,请将其保持默认。
[byte] “SteamOwnerID” (默认:0):ASF 所有者的 SteamID
;ASF 所有者可以使用全局指令 (例如:!exit
、!restart
、!update
等 )
[byte] “MaxFarmingTime” (默认:10):最大挂卡时间。
[byte] “IdleFarmingPeriod” (默认:3):当ASF没有任何游戏可挂卡时,它会以 “IdleFarmingPeriod” 配置中设定小时周期,周期性检查是否有新游戏需要挂卡。数值设定为 0
可禁用该特性。
[byte] “FarmingDelay” (默认:3):挂卡延迟。ASF为了正常运作,会以 “FarmingDelay” 设定的分钟内定期检查目前挂卡的游戏,判断该游戏是否挂卡完毕。将该数值设置过低会导致发送过多的 Steam 请求,设置过高会让 ASF 在游戏挂卡完毕后依然继续为其挂卡。默认值应该适用于多数用户,不过若是你有许多 Bot 运行,可能需要将其延长至 30 分钟以限制过多的 Steam 请求。由于 ASF 采用基于事件的机制,其会在账户有新物品时检查徽章页面,所以通常我们就不需要按照固定周期进行检查,但对于 Steam 网络传达的信息也不能完全信赖 - 这也就意味着还是需要周期性检查(在 Steam 网络不知会物品掉落信息等情况下)。除非你有足够的理由编辑该选项,请将其保持默认。
[byte] “LoginLimiterDelay” (默认:7):登陆间隔延迟。如上述提到的那样,Steam 拥有登录请求的数目限制。同时也包含短时间内的过多登录。ASF 通过 “LoginLimiterDelay” 设定的秒数来限定两次连续登录的时间间隔。默认值 7
的设定基于同时连接 100 个 Bot 的情况考量,也应该满足大多数用户的需求。用户可能会因为拥有少量 Bot 的情况下降低数值,甚至将其更改为 0
,这时候 ASF 将无视延迟并很快连接 Steam。这里需要警示一下,设定太低可能会导致 Steam 暂时封禁你的 IP,让所有的登陆都会出现 「InvalidPassword(无效密码)」报错。除非你有充足的理由修改该配置,请将其保持默认。
[byte] “InventoryLimiterDelay” (默认:3):物品请求延长。与上述配置类似,获取 Steam 物品栏信息同样拥有频数限制,需要在物品请求中加入一定间隙。ASF 将确保每次物品请求至少留有 “InvetoryLimiterDelay” 设置的秒数间隙。默认值 3
是基于同时连接 100 个 Bot 的情况考量,也应该满足大多数用户的需求。用户可能会因为拥有少量Bot的情况下降低数值,甚至将其更改为 0
。这是 ASF 将无视延迟并更快地获取steam物品信息。需要警示的是,将该数值设置过低会导致Steam暂时封禁你的IP,结果就是所有物品请求失败。除非你有充足的理由修改该配置,请将其保持默认。
[bool] “ForceHttp” (默认:false):默认情况下 ASF 会优先使用 https 协议。然而,极少数情况下,你可能想要从 https 切换回 http 这种兼容性更好的方式。这时候可以将 “ForceHttp” 数值设为 true
。使用该设置并不确保 ASF 所有请求都以 htt p发送,一些服务(比如 GitHub api)仅支持 https。这种情况下,没有办法通过 http 使用这些服务,ASF 会直接拒绝发送 https 请求,其结果就是部分请求失败。如果你并不在调试网络,强烈推荐继续使用安全且加密的 https。除非你有充足的理由修改该配置,请将其保持默认。
[byte] “HttpTimeout” (默认:60):该配置定义 ASF 发送 HTTP(S) 请求的间隙,单位为秒。默认数值 60
应该适合大多数用户,然而,如果你的网络传输过慢,可能会想提升该数值(比如 90
)。要记住更大的数值并非修复与 Steam 服务器连接缓慢或是中止的神药,有时候也不得不接受 Steam 服务器无响应并之后尝试连接的事实。将该数值设置过高会无故等待,并降低全局性能。除非你有充足的理由修改该配置,请将其保持默认。
[string] “WCFHostname” (默认:localhost
):主机名,也是“全局地址”,由 WCF 使用。该配置仅在 WCF 启动时生效。ASF 默认仅仅监听来自localhost
地址以确保没有其他机器能够访问。这是一道安全措施,进入 WCF 界面可能会让攻击者掌管你的 ASF 进程,并带来极大影响。然而,当你清楚自己要做什么,比如限制 WCF 的链接,使用类似 iptables 的功能,可能会将该配置(自担风险)限制设为较为宽松,比如设置 “0.0.0.0” 让任意网络地址启动 WCF。需记住该配置需要在服务器与客户端上(如果两者不在一台机器上)正确设置。除此以外,用户还可使用数值 null
。这将导致 ASF 每次启动都会询问该配置(如果你不想暴露服务器的 IP,这可能是有效的安全手段)。除非你有充足的理由修改该配置,请将其保持默认。
[ushort] “WCFPort” (默认:1242):WCF 运行的端口。
[bool] “LogToFile” (默认:true):该配置定义 ASF 是否应该保留最近运行的 log.txt 文件。之前已经说明,日志文件用于分析 ASF 行为时十分有用,也是汇报 bug 时的关键。不过另一方面,如果用户有许多 Bot,日志文件体积可能会快速增长,为了不让 ASF 将所有内容记录在日志中,你可能想要重定向标准输出(stdout)至别处。比如说,使用 grep
进行过滤。这种情况下,你并不对日志文件感兴趣,而且有自己的方式记录日志,便可以将日志记录禁用。
[bool] “Statistics” (默认:true):该配置定义 ASF 是否启用统计。统计帮助 ASF 开发者提供开发周期的重要信息。如果你想要看到新版本出炉,bug 被修复,以及实现的新特性,请将其保持在默认数值 true
。
[HashSet] Blacklist:不挂卡的游戏
Bot.json 详细配置说明🔗
[bool] “Enabled” (默认:false):该 Bot 是否启
[bool] “StartOnLaunch” (默认:true):该 Bot 是否在 ASF 启动后自动启用。如果为 false
则需要使用 !start
命令手动启动
[string] “SteamLogin” (默认:null):用来登陆 Steam 的用户名;为空着表示在启动时输入
[string] “SteamPassword” (默认:null):用来登陆 Steam 的登录密码;为空着表示在启动时输入
[string] “SteamParentalPIN” (默认:“0”):家长控制 PIN
[string] “SteamApiKey” (默认:null):你的 Steam 网页 API 密钥;点击这里生成。可用于与 “SteamTradeMatcher” 配合自动接收交易请求。API 密钥仅对生成该密钥的账户有用,不能将同一密钥用于多个 Bot,每个 Bot 都拥有自己独有的 API 密钥。另外该配置并不强制要求填写,ASF 会在默认值 null 的情况下正常运作,但这样会削减部分需要密钥的功能,比如自动接收交易请求。如何注册 Steam 网页 API 密匙
[ulong] “SteamMasterID” (默认:0):管理员的 SteamID
;管理员可以使用与 Bot 相关的控制命令。如果不添加「小号」的话保持默认即可。如何获取 SteamID
[ulong] “SteamMasterClanID” (默认:0):Steam 群组的 ID;如果有很多 Bot 需要控制,可以创建一个 Steam 群组,然后群主和管理员可在群组聊天中使用与 Bot 相关的控制命令进行控制。如果不添加「小号」的话保持默认即可。如何获取 Steam 群组 ID
[bool] “CardDropsRestricted” (默认:false):该帐号是否有卡牌掉落 (游玩 2 小时以上才会掉卡)。新规则中,好像所有的帐号都有这个限制了,最好开启
[bool] “DismissInventoryNotification” (默认:true):关闭每张掉落的卡牌都会触发物品通知。设置为 false
的情况下,每张掉落的卡牌都会触发物品通知,Steam 通知系统会告诉你收到了新物品。这可能会相当扰人,而且也没太大意义,因此 ASF 默认将其关闭。如果你仍然想接收这些信息,可将该选项切换为 false
。
[bool] “FarmOffline” (默认:false):是否开启「离线挂卡」。挂卡会让你的 Steam 状态显示“当前正在游戏”,这可能会误导你的朋友,让他们以为你真的在玩这款游戏。离线挂卡就能解决这个问题,在你用 ASF 挂卡时,账号不会显示正在玩某款游戏。离线挂卡依然会增加被挂游戏的游戏时长,并会在个人资料的“最新动态”中显示出来。
[bool] “HandleOfflineMessages”(默认:false):是否接收离线消息;配合 “FarmOffline” 使用
[bool] “AcceptGifts” (默认:false):自动接收所有礼物
[bool] “SteamTradeMatcher” (默认:false):自动接收交易请求;需要配合 “SteamApiKey” 使用
[bool] “IsBotAccount” (默认:false):是否为「小号」
[bool] “ForwardKeysToOtherBots” (默认:false):是否转发密匙 (激活码)。转发密匙在拥有 2 个以上帐号的情况下有用。如果为 true
,Bot 将会在激活失败 (已拥有) 的情况下将密匙发送给其他 Bot 激活。这样很容易触发:「 (短期内) 激活失败次数过多」,慎用
[bool] “DistributeKeys” (默认:false):分发密匙 (激活码)。如果为 true
,Bot 接收密匙并尝试激活接收到的第一个密匙,无论成功失败,将剩下的密匙转发给其他 Bot 激活,以此类推。可以在一定程度上减少触发:「 (短期内) 激活失败次数过多」的可能。但是 “ForwardKeysToOtherBots” 会影响这个操作,多数情况你可能只想启用两种配置之一,如果这两个配置被同时启用,那么已经激活该游戏的 Bot 在收到密钥后还会将其转发给另一个 Bot,那么就要注意发送的密钥必须小于 Bot 数量才行。如果你不确定是否该启用这项特性,请将其保持默认值 false
。
[bool] “UseAsfAsMobileAuthenticator” (默认:false):是否将ASF用作手机认证器,既是否为账号启用「ASF 2FA」机制。该特性相当复杂,你可以点击这里获知更多信息。该特性可能会锁死你的账号,因此不要在未充分理解「ASF 2FA」的情况下使用。
[bool] “ShutdownOnFarmingFinished” (默认:false):是否挂卡结束后关闭。ASF 在启动后会一直“占据”账号。当指定账号挂卡结束后,ASF 还会进行周期性检查(“IdleFarmingPeriod” 设定的小时数),如果该账号添加了新游戏,那么将会继续进行挂卡,这过程不用重启进程。这对多数用户来说很有用,毕竟ASF能够自动继续挂卡。然而,你可能会想在账号挂卡结束后停止该进程,那可以将该配置设置为 true
来实现。启用之后,ASF 在挂卡完毕后会注销账号,不会再周期性检查或是启用账号。当全部 Bot 挂卡完毕后,ASF 进程也将完全退出。如果你不确定是否该启用这项特性,请将其保持默认值 false
。
[bool] “SendOnFarmingFinished” (默认:false):挂卡结束后发送交易。当某个账号挂卡完毕后,其会自动向 “SteamMasterID” 发起全部挂卡所得的交易请求,这项功能十分便利。该选项的作用与 !loot
指令一样,因此需要设置 “SteamMasterID”,同时还需要设置下方介绍的 “SteamTradeToken”。此外账号需要满足交易条件,除非你使用「ASF 2FA」进行自动化操作,不然需要手动通过电子邮件来确认交易。
[string] “SteamTradeToken” (默认:null):如果 “SteamMasterID” 在其他 Bot 的好友列表里,Bot 可立即发起交易请求,不用操心交易凭证。因此可将该配置维持默认值 null
。然而如果你的好友列表不打算列入其他Bot账号,就需要生成并输入 “SteamMasterID” 的交易凭证。于官网登陆 Steam 账号,点击这里便能查看交易URL。凭证就是URL当中&token=
之后的8位字母。你需要将其复制粘贴到 “SteamTradeToken” 之中。请记住不要复制整个URL,只需要凭证代码。
[byte] “SendTradePeriod” (默认:0):该配置与上述的 **“SendOnFarmingFinished”**作用类似,但有一点不同,该配置并非在挂卡结束后才发起交易,而是以 “SendTradePeriod” 当中设置的小时数为周期发起。这对想要时常 !loot
其他 Bot 的用户来说很有帮助。默认值 0
禁用了该项特性,如果你想要每隔一天进行收获,就设置该配置数值为 24
。如果你不确定是否该启用这项特性,请将其保持默认值 0
。
[byte] “AcceptConfirmationPeriod” (默认:0):该配置只有为账号启用「ASF 2FA」情况下生效。最近 Valve 加入了额外的限制,所有发到市场的请求都需要额外的「ASF 2FA」验证。该选项与 !2faok
指令功能相同,ASF 会以 “AcceptConfirmationPeriod” 设置的分钟数为间隔,自动接收所有发起的验证。默认值 0
禁用了该特性,通常来说并不推荐启用该选项。如若启用,请将间隔设置较长时间,比如 30
分钟。如果你不确定是否该启用这项特性,请将其保持默认值 0
。
[string] “CustomGamePlayedWhileIdl” (默认:null):ASF 空置时意味着无事可做(比如账号挂卡结束),其依然能显示“非Steam游戏中:CustomGamePlayerdWhileIdle”。默认值null禁用该特性。
[HashSet] “GamesPlayedWhileIdle” (默认:0):与上面较为类似,如果ASF不在挂卡状态时其能继续挂载你所指定的游戏。被指定的游戏时长会增长。默认值0禁用该特性。