接上文:ASF挂卡的补充

利用ASF进行STEAM挂卡

在config里面创建XX.json并且填写内容,API及参数的输入如下(节选)如下:

SteamLogin 你的steam账户用户名
“SteamLogin”: “username”

SteamPassword 你的 Steam 账户密码
“SteamPassword”: “password”

Enabled 是否默认启用此bot,即打开软件自动启动此机器人
“Enabled”: true

Paused 是否设置bot初始状态为暂停挂卡
“Paused”: false

DismissInventoryNotifications 是否忽略库存提醒,即是否忽略卡片掉落后提醒
“DismissInventoryNotifications”: false

FarmOffline 是否显示正在挂卡的游戏,容易让小伙伴误以为我们在玩游戏
“FarmOffline”: false

ShutdownOnFarmingFinished 挂完卡后是否自动关闭
“ShutdownOnFarmingFinished”: false

GamesPlayedWhileIdle 空闲时挂游戏的时长,输入游戏id,最多可以输入30个
“GamesPlayedWhileIdle”: []

 

CustomGamePlayedWhileFarming 挂卡时显示的非Steam游戏名字
“CustomGamePlayedWhileFarming”: “挂卡中本人不在”

CustomGamePlayedWhileIdle 空闲时显示的非Steam游戏名字
“CustomGamePlayedWhileIdle”: “睡觉中”

 

CustomGamePlayedWhileIdle:挂时长时显示的游戏

CustomGamePlayedWhileFarming:挂游戏时显示的游戏

 

其余的内容:

Debug(调试模式) – bool:默认值为false。该属性定义程序是否以调试模式运作。调试模式中,ASF将在可执行文件所在位置创建一个特殊的debug文件夹,当中能够包含ASF与Steam服务器之间的完整通讯内容。调试信息能帮助查找关于网络的问题。除非是开发者需要,用户不要用调试模式运行ASF。ASF在调试模式下性能会降低,如非开发者要求记录调试日志,不要将其开启。注意:调试日志包含诸如Steam登陆密码等敏感信息。所以不要将你的调试日志在任何场所公开。ASF开发者只会要求将其发送至他的电子邮箱。

Headless(无标头模式) – bool:默认值为false。该属性定义程序是否以无标头模式运行。当处在无标头模式中,ASF会假定其在服务器上运行,因此不会尝试读取诸如2FA码、Steam令牌码、密码以及任何需要ASF操作的宝贵数据。该模式对用服务器运行ASF的用户有用,比如在要求2FA码时,ASF将静默终止操作并停用账号。除非用户在服务器上使用ASF,并确认其能够在非无标头模式下运作,否则请将该属性禁用。无标头模式下将拒绝任何用户的干预,你的账户在需要你的协助的情况下不会启动。这在服务器状态下有用,能够中止任何要求凭证的操作,而非一直等待玩家提供相应信息。

AutoUpdates(自动更新) – bool:默认值为true。该属性定义ASF是否在新版本发布时自动更新本体。更新内容相当重要,其不单单会增加新特性,同时也修复bug、增强性能、提升稳定性等等。该属性启用后,ASF会在新版本发布后自动下载、替换并重启。ASF会以24小时的间隔查询是否有更新内容。更新进程通常只会替换核心可执行程序(ASF.exe),其不会触及任何配置或是数据库文件。除非用户有充足的理由禁用该特性,请一直将其保持启用。

AutoRestart(自动重启) – bool:默认值为true。该属性定义ASF是否在需要时重启。目前唯一可能会让ASF重启的事件就是上述的自动更新。但之后可能会有变化。一般说来,重启包含两部分操作:创建新进程,以及退出目前进程。对多数用户来说,将其设定为true是没问题的,然而,如果你通过自己的脚本或是Mono运行ASF,可能想要完全掌控启动进程,以避免ASF在别处后台静默启动。这种情况下你可以将其设定为false。但要记住这种设定下你需要自行重启进程,因为ASF只会退出而不会启动新进程,如果你没有添加任何的逻辑语句,ASF将会在你手动启动之前一直停止运作。ASF退出时会提供暗示成功(0),和非成功(非0)的错误代码,这可帮助你在脚本中添加正确的逻辑语句,避免因失败自动重启的情况,或者至少在本地留有一份log.txt供之后分析。在Mono的部分提供了示例脚本,请记住无论属性如何设置,!restart指令仍能重启ASF进程,!exit也是同样。除非你有理由禁用该特性,请将其保持启用。

UpdateChannel(更新通道) – byte:默认值是1。该属性定义自动更新的通道,目前ASF支持两种通道 – 1为稳定版,2为实验版。稳定版通道是默认的发布通道,适合大多数用户。实验版通道不单提供稳定版,还包含为高阶用户及其他开发者用来测试新特性、验证bug修复或是给予未来计划特性反馈的预发布版。实验版通常包含未被修复的bug,尚处在开发中的特性或是重写的实现。如果你不认为自己是高阶用户,请保持默认的1(稳定版)更新通道。实验版通道适用于了解如何汇报bug,处理问题以及给予反馈的用户。不提供任何技术支持。如果用户想要完全取消所有新版本的检测,也可以将UpdateChannel设置为0(未知),不推荐这么做,除非是有不想收到更新提示的特定原因。

SteamProtocol(Steam协议) – byte:默认值为6。该属性定义ASF内置Steam客户端所用的网络协议。目前仅支持2种数值 – 6代表特定的TCP协议,17代表特定的UDP协议。使用其他数值结果都是采用默认数值6。在你尝试应对特定防火墙,或是尝试设置代理时,从TCP切换到UDP可能会有效。UDP Steam协议目前尚为试验性功能,使用请自担风险。除非你有充足的理由修改该属性,请将其保持默认。

SteamOwnerID(Steam所有者ID) – byte:默认值是0。该属性有点类似每个bot的SteamMasterID,但是,其中的SteamID用以定义ASF进程的所有者。SteamMasterID能够完全掌控bot,但像是!exit,!restart或是!update这样的全局指令只由SteamOwnerID使用。这样做很便利,你可能会想为朋友挂卡,但不允许他们控制ASF进程,比如说通过!exit指令退出程序。默认值0表示ASF进程没有所有者,意味着没有账户能够执行ASF全局指令。要记住WCF在SteamOwnerID提供的状态下才能生效,所以必须提供可用的数值,这在子端机器上也是同样的。

MaxFarmingTime(最大挂卡时间) – byte:默认值为10。你要知道,Steam并非总是正常运作,有时候可能会发生诸如事实上你在玩游戏,但游戏时间未被记录的怪异情况。ASF能够让单独挂卡模式下,单款游戏最多挂上MaxFarmingTime设定的小时数内,超过时限便认为该游戏挂卡结束。这不仅能防止怪异情况下挂卡停滞的情况发生,也能避免部分情况下Steam发布新徽章会停滞ASF挂卡进程的情况(查看:Blacklist)。10小时的默认值应该足够让一款游戏掉落所有的卡片。将该选项设置过低可能会导致部分尚有卡牌的游戏被略过(没错,部分游戏甚至需要9小时来挂卡),将其设定过高可能会导致挂卡进程停滞,除非你有足够的理由修改属性,将其保持默认就好。

IdleFarmingPeriod(空置挂卡周期) – byte:默认值为3。当ASF没有任何游戏可挂卡时,它会以IdleFarmingPeriod属性中设定小时周期,周期性检查是否有新游戏需要挂卡。数值设定为0可禁用该特性。也请查看:ShutdownOnFarmingFinished。

FarmingDelay(挂卡延迟)  byte:默认值为15。ASF为了正常运作,会以FarmingDelay设定的分钟内定期检查目前挂卡的游戏,判断该游戏是否挂卡完毕。将该数值设置过低会导致发送过多的Steam请求,设置过高会让ASF在游戏挂卡完毕后依然继续为其挂卡。默认值应该适用于多数用户,不过若是你有许多bot运行,可能需要将其延长至30分钟以限制过多的Steam请求。由于ASF采用基于事件的机制,其会在账户有新物品时检查徽章页面,所以通常我们就不需要按照固定周期进行检查,但对于Steam网络传达的信息也不能完全信赖 – 这也就意味着还是需要周期性检查(在Steam网络不知会物品掉落信息等情况下)。除非你有足够的理由编辑该选项,请将其保持默认。

AccountPlayingDelay(账户游戏延迟) – byte:默认值为5。当你决定启动游戏时并自动停止挂卡之后,ASF在等待AccountPlayingDelay属性设置的分钟数后尝试继续挂卡。记住Steam限制每小时的登录次数,除非是特别充足的理由,不要将其设置过低。默认值5分钟非常短暂,应该满足大多数用户。你可能会想将数值提升到15或是30分钟,如果觉得5分钟的检测实在太不爽了,你也可将数值设置为0,这会让ASF留意到账号进行其他操作时立即关闭bot。除非你有足够的理由编辑该选项,请将其保持默认。
『该属性在2.0.4.8之后版本被移除,相比于之前半瞎一般采用定时重连的摸索方式,现在ASF能够监听PlayingSessionState“游戏会话状态”事件,并有效地更新挂卡状态。这不仅仅会让游戏结束后能及时恢复挂卡,也会减少重连次数及其他相关问题。』

LoginLimiterDelay(登陆间隔延迟) – byte:默认值为7。如上述提到的那样,Steam拥有登录请求的数目限制。同时也包含短时间内的过多登录。ASF通过LoginLimiterDelay设定的秒数来限定两次连续登录的时间间隔(排除2FA登陆的情况,这需要越快越好)。默认值7的设定基于同时连接100个bot的情况考量,也应该满足大多数用户的需求。用户可能会因为拥有少量bot的情况下降低数值,甚至将其更改为0,这时候ASF将无视延迟并很快连接Steam。这里需要警示一下,设定太低可能会导致Steam暂时封禁你的IP,让所有的登陆都会出现InvalidPassword(无效密码)报错。除非你有充足的理由修改该属性,请将其保持默认。

InventoryLimiterDelay(物品间隔延迟) – byte:默认值为3。与上述属性类似,获取Steam物品栏信息同样拥有频数限制,需要在物品请求中加入一定间隙。ASF将确保每次物品请求至少留有InvetoryLimiterDelay设置的秒数间隙。默认值3是基于同时连接100个bot的情况考量,也应该满足大多数用户的需求。用户可能会因为拥有少量bot的情况下降低数值,甚至将其更改为0。这是ASF将无视延迟并更快地获取steam物品信息。需要警示的是,将该数值设置过低会导致Steam暂时封禁你的IP,结果就是所有物品请求失败。除非你有充足的理由修改该属性,请将其保持默认。

ForceHttp(强制Http) – bool:默认值为false。默认情况下ASF会优先使用https安全协议。然而,极少数情况下,你可能想要从https切换回http这种兼容性更好的方式。这时候可以将ForceHttp数值设为true。使用该设置并不确保ASF所有请求都以http发送,一些服务(比如GitHub api)仅支持https。这种情况下,没有办法通过http使用这些服务,ASF会直接拒绝发送https请求,其结果就是部分请求失败。如果你并不在调试网络,强烈推荐继续使用安全且加密的https。除非你有充足的理由修改该属性,请将其保持默认。

HttpTimeout(Http间隔) – byte:默认值为60。该属性定义ASF发送HTTP(S)请求的间隙,单位为秒。默认数值60应该适合大多数用户,然而,如果你的网络传输过慢,可能会想提升该数值(比如90)。要记住更大的数值并非修复与Steam服务器连接缓慢或是中止的神药,有时候也不得不接受Steam服务器无响应并之后尝试连接的事实。将该数值设置过高会无故等待,并降低全局性能。除非你有充足的理由修改该属性,请将其保持默认。

WCFHostname(WCF主机名) – string:默认值为”localhost”。这是主机名,也是“全局地址”,由WCF使用。该属性仅在WCF启动时生效。ASF默认仅仅监听来自”localhost”地址以确保没有其他机器能够访问。这是一道安全措施,进入WCF界面可能会让攻击者掌管你的ASF进程,并带来极大影响。然而,当你清楚自己要做什么,比如限制WCF的链接,使用类似iptables的功能,可能会将该属性(自担风险)限制设为较为宽松,比如设置”0.0.0.0″让任意网络地址启动WCF。需记住该属性需要在服务器与客户端上(如果两者不在一台机器上)正确设置。除此以外,用户还可使用数值null。这将导致ASF每次启动都会询问该属性(如果你不想暴露服务器的IP,这可能是有效的安全手段)。除非你有充足的理由修改该属性,请将其保持默认。

WCFPort(WCF端口) – ushort:默认值为1242。这是WCF运行的默认端口。用户可能想要修改该数值,推荐设置超过1024的端口数值,因为在Unix类型操作系统上,0-1024通常需要root权限。记住该属性必须在服务器和客户端(如果两者并非一台机器)上设置一致。除非你有充足的理由修改该属性,请将其保持默认。

LogToFile(日志至文件) – bool:默认值为true。该属性定义ASF是否应该保留最近运行的log.txt文件。之前已经说明,日志文件用于分析ASF行为时十分有用,也是汇报bug时的关键。不过另一方面,如果用户有许多bot,日志文件体积可能会快速增长,为了不让ASF将所有内容记录在日志中,你可能想要重定向标准输出(stdout)至别处。比如说,输出至grep过滤器。这种情况下,你并不对日志文件感兴趣,而且有自己的方式记录日志,便可以将日志记录禁用。然而,在没有手段记录日志的情况下,请将该属性设为默认值true,即便你确定用不到日志文件 – 如果有打算汇报bug,这对ASF开发者查找bug来说至关重要。除非你有充足的理由修改该属性,请将其保持默认。

Statistics(统计) – bool:默认值为true。该属性定义ASF是否启用统计。统计帮助ASF开发者提供开发周期的重要信息。如果你想要看到新版本出炉,bug被修复,以及实现的新特性,请将其保持在默认数值true。目前统计仅包含极少量信息 – 使用ASF的账户将自动加入我们的steam群组与群聊。统计开放给所有人,所以你可以查看我们的群组信息,当中的会员数目以及多少bot正在运行中。我们不会收集任何其他信息,尤其是像密码、steam用户名或是当前使用的操作系统这样的敏感信息,将该特性开启将会帮助ASF开发者们了解目前有多少用户使用该程序。除非你有理由修改属性,请将其保持默认。

HackIgnoreMacineID – bool:默认值为false。该属性为SK2当中损坏的GenerateMachineID()功能的变通属性。如果ASF卡在连接Steam与登陆操作之后,你可能就需要启动该选项。该选项是个hack,将会在GenerateMachineID()bug修复之后移除。请前往https://github.com/JustArchi/ArchiSteamFarm/issues/154https://github.com/SteamRE/SteamKit/issues/254查看详细信息。除非你有充足的理由修改该属性,请将其保持默认。

Blacklist(黑名单) – HashSet<unint>:默认值为267420, 303700, 335590, 368020, 425280这些appID。很不幸Steam喜欢将夏季/冬季特卖徽章设定为“有卡牌掉落”,这会迷惑ASF,以为他们是可以挂卡的有效游戏。如果没有黑名单的话,ASF将会突然为这些实质上不是游戏的内容挂卡而停滞。Blacklist能让这些徽章不参与挂卡,所以ASF可以在选择要为哪些内容挂卡时静默忽略这些。ASF默认包含两种黑名单 – GlobalBlacklist全局黑名单,嵌入在了ASF进程中,不能被用户编辑。以及普通的Blacklist,也就是这段所描述的内容。该属性的唯一目的就是能让你将不该挂卡的游戏加入。嵌入式黑名单将尽可能快速地更新,因此在你使用最新版本时不用更新自身黑名单。当Valve发布新的特卖徽章时,你可以通过该属性保持ASF的正常运作。除非你有充足的理由修改该属性,请将其保持默认。

SteamParentalPIN(Steam家长控制PIN) – string:默认值为”0″,该属性为你的家长控制PIN。ASF需要访问家长控制的限制内容,因此如果你之前启用了该特性,需要提供PIN码用以解锁。默认值”0″意味着该账户未启用家长控制。你也可将该属性数值设置为null,这样在启动ASF时会被要求手动输入PIN码。这在你不想让配置文件留有敏感信息时可能有所帮助。

SteamApiKey – string:默认值为null。该属性为你的Steam网页API密钥。ASF在多种情况下需要用到你的API密钥,比如接受或拒绝交易请求,因此你需要在此处填写Steam API密钥以使功能生效。API密钥可点击这里生成,登陆并点击注册便可获得。当中的域名信息对于ASF并不重要,可任意填写。需要注意API密钥仅对生成该密钥的账户有用,不能将同一密钥用于多个bot,每个bot都拥有自己独有的API密钥。另外该属性并不强制要求填写,ASF会在默认值null的情况下正常运作,但这样会削减部分需要密钥的功能,比如接受或是拒绝交易。如果你的账号能够生成和使用API密钥,那么非常推荐你填写此项,因为该密钥不仅仅用于交易,还用来启用其他特性与增强已有功能,比如为!owns指令使用更为优化的方式,让其可用于私密个人资料,而不单单依靠Steam社区功能。

SteamMasterID(Steam主ID) – ulong:默认值为0。该属性为64位形式的主botSteamID。主bot拥有执行与bot有关的ASF指令权限。如果用户配置主账号且不打算使用任何指令,那么将该属性保持为默认值即可。如果用户想配置副账号,或是执行与bot有关的指令,那就需要填写SteamID以控制bot。ASF能够自动接收由SteamMasterID发送的好友申请、聊天申请以及交易。另外ASF通过!loot指令发送物品时也会使用该SteamID,可以点击这里获取64位形式的SteamID。SteamID的形式诸如76561198006963719这样。

SteamMasterClanID(Steam主群组ID) – ulong:默认值为0。该属性与上述类似,但其为能让bot自动加入,参与群聊的Steam群组所用的SteamID。获取群组SteamID可在群组页面网址的末尾加上/memberslistxml/?xml=1,比如http://steamcommunity.com/groups/ascfarm/memberslistxml/?xml=1,页面当中可在<groupID64>标签找到类似于103582791440160998这样形式的SteamID。如果你没有“挂卡群组”,将其保持默认便好。

CardDropsRestricted(卡牌掉落限制) – bool:默认值为false。该属性定义账户是否限制卡牌掉落。卡牌掉落限制意味着该账号只有在游戏游玩2小时以上才开始掉落卡牌。可惜目前并没有任何魔法手段来侦测此项,所以ASF只能依赖于用户的判断来设定。该属性影响所使用的卡牌掉落算法。设置合理会最大化受益并最大程度减少挂卡的时间。不过目前关于该选项究竟设置true还是false为好没有明确的定论,如果用户不确定是否该设置此项,建议将其保持默认值false,如果你留意到2小时内没有任何卡牌掉落,可以将其修改到true以加速掉落速度。貌似注册较早的账号不需要限制卡牌掉落时间,但这仅仅是理论而已,不该作为规则来用。

DismissInventoryNotification(忽略物品通知) – bool:默认值为true。每张掉落的卡牌都会触发物品通知,Steam通知系统会告诉你收到了新物品。这可能会相当扰人,而且也没太大意义,因此ASF默认将其关闭。如果你仍然想接收这些信息,可将该选项切换为false。

FarmOffline(离线挂卡) – bool:默认值为false。离线挂卡对主账号来说极为有用。要知道挂卡会让你的Steam状态显示“当前正在游戏”,这可能会误导你的朋友,让他们以为你真的在玩这款游戏。离线挂卡就能解决这个问题,在你用ASF挂卡时,账号不会显示正在玩某款游戏。这功能归功于ASF本身不需要登陆Steam社区的特性,其实该账号的确在玩这款游戏,只不过是处在“半离线”的模式下。离线挂卡依然会增加被挂游戏的游戏时长,并会在个人资料的“最新动态”中显示出来。另外,为bot启用离线挂卡特性会让其不响应指令(直接),这一点在启用副帐号时较为重要。查看:HandleOfflineMessages

HandleOfflineMessages(处理离线信息) – bool:默认值为false。当离线挂卡特性启用时,因为并未登陆Steam社区,bot将不会接受来自SteamMasterID的指令。然而,其依然能接收离线信息,也可以进行回复。如果你为副账号使用了离线挂卡特性,将HandleOfflineMessages属性设置为true就可以给离线的bot发送指令。要留心这项特性基于steam离线信息,并会在自动回复后将其标记为已读,因此该选项并不推荐给主账号使用,因为ASF会强制读取并标记所有的离线信息以监听离线指令,这会影响朋友给你发送的离线信息。如果你不确定是否需要启用该特性,请将其保持默认值false。

AcceptGifts(接受礼物) – bool:默认值为false。一旦启用后,ASF将自动接收bot收到的所有礼物,这不仅仅涉及SteamMasterID,也包括其他的账号发来的礼物。如果bot已经拥有该游戏,那么就会被收入库存之中。该选项只推荐为副账号设置,通常你不会想让主账号自动接收所有的礼物。须留意那些通过电子邮件发送的礼物并不通过客户端渠道,所以ASF不会自动接收那些礼物,必须直接将礼物通过账号发送给其他bot才行。如果你不确定是否该启用这项特性,请将其保持默认值false。

SteamTradeMatcher(Steam交易匹配) – bool:默认值为false。将其设置成true时,ASF会接收来自SteamMasterID的捐赠和交易,同时也接受所有关于卡牌的交易。该选项配合STM公开列表非常有效,但也可以单独使用。要留意该选项涉及到接收和接受交易,因此需要设置好SteamApiKey。还需要提到的是这项特性只能用来接受普通卡牌和闪卡,ASF并不会接收背景与表情交易,因为这些的价格变动过于频繁,你需要亲自查看。ASF将忽略任何不确定的交易内容,因此更像是一个自动交易助手,并不能完全替代你的工作。强烈推荐在启用该选项时使用ASF 2FA,这样你就不用人工确认每项交易。通常你会为主账号启用该项特性,但也在副账号上启用来囤货。如果你不确定是否该启用这项特性,请将其保持默认值false。

IsBotAccount(Bot账号类型) – bool:默认值为false。该属性用于定义当前bot采用的账号是被看作主号(false),还是被看作小号(true)。ASF尽可能为两种类型提供更好的兼容性,因此技术上并不需要将小号的这项属性调整为true,但这么做会让ASF更好地调整逻辑。此时,默认值false会让ASF忽略SteamMasterID以外账号的无效交易和好友请求,这对主号来说是没错的。将该属性更改为true将直接拒绝无效交易与好友请求,这样更适合小号。该逻辑可能会根据需求在之后版本扩展内容。如果你不确定该如何设定该属性,请将其保持默认值false。

ForwardKeysToOtherBots(转发密钥) – bool:默认值为false。转发密钥在ASF至少启用了两个bot的情况下有效。该选项的作用形象描述就是“我有一个key,只想用来挂卡,无所谓哪个bot账号启用这个key。”将该属性设置为true,bot首先尝试自己激活密钥,如果激活不成功(比如已经拥有了这款游戏),那么bot就会将密钥转发给其他bot,供其他账号激活。但这样会很快触发OnCooldown(激活失败次数过多)状态:账号短时间内激活密钥失败次数达到上限,Steam就会暂时禁止其激活功能。因此,该属性的合理用法是省去检查哪个账号没有某款游戏的步骤,不宜滥用。如果你不确定是否该启用这项特性,请将其保持默认值false。

DistributeKeys(分发密钥) – bool:默认值为false。当ForwardKeysToOtherBots启用时,一个bot如果收到了三个密钥,那么它首先会尝试全部都自己激活,激活失败才会转发给其他bot,以此类推。你可能会想改变这种方式,让首先收到三个密钥的bot只用一个,将另外两个分别转发给bot2和bot3。这在你拥有许多相同游戏密钥,想将其分发给所有bot的情况下非常有用。这种情况下效率和成功率更高,因为所有bot只尝试激活一个密钥,所以也会降低触发OnCooldown的几率。不过要注意ForwardKeysToOtherBots也会影响这个操作,多数情况你可能只想启用两种属性之一,如果这两个属性被同时启用,那么已经激活该游戏的bot在收到密钥后还会将其转发给另一个bot,那么就要注意发送的密钥必须小于bot数量才行。如果你不确定是否该启用这项特性,请将其保持默认值false。

UseAsfAsMobileAuthenticator(将ASF用作手机认证器) – bool:默认值为false。该属性决定ASF是否为账号启用“ASF 2FA”机制。该特性相当复杂,你可以点击这里获知更多信息。该特性可能会锁死你的账号,因此不要在未充分理解ASF 2FA的情况下使用。在将其切换至true之前,请仔细阅读Escrow页面内容。

ShutdownOnFarmingFinished(挂卡结束后关闭) – bool:默认值为false。ASF在启动后会一直“占据”账号。当指定账号挂卡结束后,ASF还会进行周期性检查(IdleFarmingPeriod设定的小时数),如果该账号添加了新游戏,那么将会继续进行挂卡,这过程不用重启进程。这对多数用户来说很有用,毕竟ASF能够自动继续挂卡。然而,你可能会想在账号挂卡结束后停止该进程,那可以将该属性设置为true来实现。启用之后,ASF在挂卡完毕后会注销账号,不会再周期性检查或是启用账号。当全部bot挂卡完毕后,ASF进程也将完全退出。如果你不确定是否该启用这项特性,请将其保持默认值false。

SendOnFarmingFinished(挂卡结束后发送所得) – bool:默认值为false。当某个账号挂卡完毕后,其会自动向SteamMasterID发起全部挂卡所得的交易请求,这项功能十分便利。该选项的作用与!loot指令一样,因此需要设置SteamMasterID,同时还需要设置下方介绍的SteamTradeToken。此外账号需要满足交易条件,除非你使用ASF 2FA进行自动化操作,不然需要手动通过电子邮件来确认交易。

SteamTradeToken(Steam交易凭证) – string:默认值为null。如果(SteamMasterID)在其他bot的好友列表里,bot可立即发起交易请求,不用操心交易凭证。因此可将该属性维持默认值null。然而如果你的好友列表不打算列入其他bot账号,就需要生成并输入SteammMasterID的交易凭证。于官网登陆Steam账号,点击此处便能查看交易URL。凭证就是URL当中&token=之后的8位字母。你需要将其复制粘贴到SteamTradeToken之中。请记住不要复制整个URL,只需要凭证代码。

SendTradePeriod(发起交易间隔) – byte:默认值为0。该属性与上述的SendOnFarmingFinished作用类似,但有一点不同,该属性并非在挂卡结束后才发起交易,而是以SendTradePeriod当中设置的小时数为周期发起。这对想要时常!loot其他bot的用户来说很有帮助。默认值0禁用了该项特性,如果你想要每隔一天进行收获,就设置该属性数值为24.如果你不确定是否该启用这项特性,请将其保持默认值0。

AcceptConfirmationPeriod(接受验证间隔) – byte:默认值为0。该属性只有为账号启用ASF 2FA情况下生效。最近Valve加入了额外的限制,所有发到市场的请求都需要额外的2FA验证。该选项与!2faok指令功能相同,ASF会以AcceptConfirmationPeriod设置的分钟数为间隔,自动接收所有发起的验证。默认值0禁用了该特性,通常来说并不推荐启用该选项。如若启用,请将间隔设置较长时间,比如30分钟。如果你不确定是否该启用这项特性,请将其保持默认值0。

CustomGamePlayedWhileIdle(自定义空置游戏) – string:默认值为null。ASF空置时意味着无事可做(比如账号挂卡结束),其依然能显示“非Steam游戏中:CustomGamePlayerdWhileIdle”。默认值null禁用该特性。

GamesPlayedWhileIdle(空置进行游戏) – HashSet<uint>:默认值为0。与上面较为类似,如果ASF不在挂卡状态时其能继续挂载你所指定的游戏。被指定的游戏时长会增长。默认值0禁用该特性。

生成

可以见到,一次运行之后生成了很多文件,他们的含义如下:

如果要将ASF移至另一处地方,或是另一台电脑。只要将上述整个文件结构当中的内容移过去即可,不需要其他操作。

ASF.exe(必要):核心可执行(二进制)文件,用来启动程序。

log.txt(生成):ASF进程的日志文件。日志文件只在ASF运行时使用,并会自动在每次启动时清除之前内容。该文件的目的是记录潜在的bug和崩溃信息,以让ASF开发者查找并修复问题。日志当中不包含任何敏感信息,只用来debug和信息传输。

config(必要):包含ASF进程以及所有bot配置的文件夹。

ASF.json(必要):ASF全局配置文件。该配置用来制定ASF进程的行为,全局作用于整个程序。你可以(也应该)根据自身需求修改全局配置。该内容将在下文详述。

ASF.db(生成):ASF全局数据库文件。其作为ASF全局持久性存储文件,用来储存一些关键信息。请用户不要编辑该文件。

现在我们来看bot配置文件,每个bot拥有单独的配置和关联文件。

Bot.json(必要):bot配置文件。该文件用来制定该bot的行为,包含所有用于正常运作的信息。当中的属性只会影响该bot,用户可让诸多bot以不同的方式运作。(这与作用于全局进程和所有bot的ASF全局设置相对应)

Bot.db(生成):bot数据库文件。该文件用来储存bot的关键数据。请用户不要编辑该文件。

Bot.bin(生成):bot特殊文件。当中包含Steam安全哈希信息,安全哈希用作Steam令牌机制的授权。请用户不要编辑该文件。

数据类型

每一项配置属性都拥有其数据类型。属性的类型定义了其有效的数据范畴。玩家只能使用该类型可用的数值,ASF使用的类型皆为C#自带,包含以下内容:

bool – 布尔型只接收true与false数值。
byte – 字节型,只接受0至255的数字。
ushort – 无符号短整形,只接受0至65535的数字。
uint – 无符号整型,只接受0至4294967295的数字。
ulong – 无符号长整型,只接受0至18446744073709551615的数字。
string – 字符串,只接受诸如”password”或”pablo32″以及null的字符串。注意:除非使用null数值,字符串应当包含在双引号””之中。另外要注意使用特殊字符时,须用\”代替”,\\来代替\,这在手动编辑配置文件时要注意。不过使用图形界面生成器就不用担心这些,只需要正常输入字符即可。
HashSet<uint> – 无符号整形集合,接受任何数字

 

因此理论上ASF可以实现自动化STEAM的一切操作。

文章参考自:

https://zhuanlan.zhihu.com/p/126354850

https://keylol.com/t187703-1-1


1 条评论

qq · 2021年11月29日 下午9:18

只想挂指定游戏时长,不想挂卡 怎么做

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注