美文网首页
从零开始的ASF详细食用手册(windows限定)

从零开始的ASF详细食用手册(windows限定)

作者: 望月时生 | 来源:发表于2018-04-03 18:02 被阅读0次

    1 在windows上部署ASF

    我用的是腾讯云1核1G1M的CVM,没错,就是旧版学生套餐每个月1块钱那个。
    系统是Windows Server 2012 R2 标准版 64位。

    1.1 测试版Pre-release

    V3.1.1.8 功能最新最全(理论上)但可能有未能预知的BUG
    [ASF V3.1.1.8官方下载链接]
    [ASF V3.1.1.8度盘分流] 提取码c1sr

    V3.1.1.8 Changes since V3.1.1.1:

    • [!] Re-enabled link-time optimizations, which results in smaller overall ASF size (especially in OS-specific variants). Please let me know if you find any weird errors before this goes stable!
    • IPC GUI improvements, new features, optimizations and bugfixes.
    • BGR improvements (more verbosity, used and unused output files).
    • Added CommandPrefix global config property.
    • Fixed V3.1 regression that made SteamTarget no longer possible to be declared (ref: #765).
    • Changed default value of SteamProtocols from 1 to 3 due to #186) issue being resolved.
    • Removed obsolete GET /Api/Command IPC endpoint.
    • Usual amount of other code improvements, optimizations and bugfixes.

    1.2 稳定版Latest release

    V3.1.1.1
    [ASF V3.1.1.1官方下载链接]
    [ASF V3.1.1.1度盘分流] 提取码c1sr

    1.3 运行ASF

    以上下载链接更新于2018.4.2。
    压缩包是免安装的,解压之后直接执行里面的ArchiSteamFarm.exe即可。


    2 配置ASF

    2.1 不想折腾能用就行的简易配置

    在ASF\config文件夹里新建文本文档,重命名为bot1(名字随意).json。
    用记事本打开,输入以下内容并保存:

    {
      "SteamLogin": "你的Steam账号",
      "SteamPassword": "你的Steam密码",
      "Enabled": true
    }
    

    然后启动ASF就行了。

    2.2 ASF全局配置详解

    配置文件生成器[官方链接]版本 V3.1.1.3+
    [ASF全局配置wiki]

    BASIC 基本

    SteamOwnerID ASF最高权限拥有者
    "SteamOwnerID": "你Steam大号的64位ID"
    指定了ASF程序的所有者,即你的Steam大号,所有的bot示例都会被这个账号完全控制。
    因为你可能会帮朋友挂卡,之类的。
    64位ID可到SteamRepCN查询。
    此外,如果你想启用IPC功能,你必须设置一个有效值。

    MISC 杂项

    CommandPrefix 命令前缀
    "CommandPrefix": "!"
    是否使用命令前缀 使用何种命令前缀
    假如值为"!",所有!开头的指令才被视为命令。
    如果为空,ASF会阅读每一条指令并判断它是否为命令,毫无疑问,这将降低性能。
    建议保持默认值"!"不变,当然你也可以修改为你觉得更顺手的前缀,比如"@"或"#"。

    Statistics 是否开启统计功能
    "Statistics": true
    除非你有理由要修改此属性,否则应该将其保留为默认值开启。

    Blacklist 黑名单
    "Blacklist": [730]
    AppID写进黑名单的游戏将会被ASF无视。
    这个设置的作用是当夏促/圣诞时,夏促/圣诞徽章会被视为“可掉卡游戏”;
    ASF会不断挂这个“游戏”,然而事实是再怎么挂也不会掉卡,因此ASF会无限卡住。
    或者你只是单纯的不想挂某个游戏(即使它可以掉卡)时也可以用;
    比如你刚买了CSGO,但你不想要这几张卡,只想让它保持在0小时,那么你可以像下面这么写:

    CurrentCulture 当前语言
    CurrentCulture": null
    默认值为空,ASF会试图使用当前操作系统的语言。
    如果你不想使用本机语言,可以使用此设置选择你喜好的任何有效语言。

    MaxTradeHoldDuration 最大交易持续时间
    "MaxTradeHoldDuration": 15
    ASF允许交易最多持续MaxTradeHoldDuration天。
    这个选项只对设定了TradingPreferences的SteamTradeMatcher的机器人有意义,不会影响Master/SteamOwnerID的交易,也不会影响捐赠(不损失任何物品的交易)。
    除非你有理由要修改此属性,否则应该将其保留为默认值15天。

    UPDATES 更新

    AutoRestart 是否自动重启
    "AutoRestart": true
    更新程序/修改配置/到了UpdatePeriod设定的时间 是否自动重启
    如果你不知道如何设置这个属性,强烈建议将其保留为默认值开启。

    UpdateChannel 自动更新版本
    "UpdateChannel": 1
    设置更新ASF使用的版本,有三种:
    0 不更新 禁用所有有关更新的相关功能 包括更新命令
    1 稳定版(Stable)
    2 实验版(Experimental)
    如果你不知道如何设置这个属性,建议将其保留为默认值1。

    UpdatePeriod 自动更新检测周期
    "UpdatePeriod": 24
    设置ASF每隔UpdatePeriod小时检查是否有新版本。
    除非你有特别的理由要修改此属性,否则应该将其保留为默认值24小时。

    REMOTE ACCESS 远程访问

    IPCPassword IPC密码
    "IPCPassword": null
    设置IPC的密码。
    当值为空时,会跳过验证密码这一步,IPC会处理所有收到的请求。
    当设置了密码后,短时间内发送大量错误密码的IP将会被IPC暂时ban掉。
    如果你使用IPC功能,强烈建议使用一个强度足够高的安全密码。
    如果你没有使用IPC功能,不用理会此项设置。

    IPCPrefixes IPC前缀
    "IPCPrefixes": ["http://127.0.0.1:1242/"]
    设置IPC的地址和端口。
    详情见3.1。

    Headless 是否开启无头模式
    "Headless": false
    如果开启无头模式,ASF会假定它在服务器上运行,因此它不会尝试读取二次验证码/移动端验证码/Steam密码/ASF操作要求的任何其他变量等关键账户凭据。
    在无头模式下,所有的用户交互都会被被拒绝。
    如果登录时需要凭据,ASF会自动中止尝试登录,而不是无限等待用户输入凭据。
    此外,ASF还将调整为适合服务器的配置。比如,在windows上防止系统休眠。
    如果你不知道如何设置这个属性,强烈建议将其保留为默认值关闭。

    CONNECTION 连接

    SteamProtocols Steam协议
    "SteamProtocols": 3
    设置ASF连接到Steam时使用的协议,可多选:
    0 None No protocol
    1 TCP Transmission Control Protocol
    2 UDP User Datagram Protocol
    4 WebSocket WebSocket
    除非你要调试具体问题,否则你应该确保ASF可以自由使用任何协议,而不是特定的某一种或者两种协议。
    除非你有特别的理由要修改此属性,否则应该将其保留为默认值3。

    ConnectionTimeout 连接超时判定
    "ConnectionTimeout": 60
    设置ASF各种网络行为算作超时的时间。
    对于大多数人来说,应该设置为60秒;如果你的网络很卡,你可能想设置为90。
    如果此值过高,会导致ASF做很多无用功,降低整体性能。
    如果此值过低,失效的请求仍会被解析,降低整体稳定性和性能。
    除非你有理由要修改此属性,否则应该将其保留为默认值60秒。

    PERFORMANCE 性能

    ConfirmationsLimiterDelay 确认延时
    "ConfirmationsLimiterDelay": 10
    Steam的服务器处理各种请求时会有一个速率限制,因此ASF必须增加一些额外的延迟。
    ASF会确保在连续两次二次验证以及进行各种交易相关操作之间至少有ConfirmationsLimiterDelay秒的延时。
    默认值是通过测试设定的,如果你不想遇到问题,就不该降低这个值。
    除非你有特别的理由要修改此属性,否则应该将其保留为默认值10秒。

    FarmingDelay 挂卡检测延时
    "FarmingDelay": 15
    每隔FarmingDelay分钟,ASF会检查目前挂的游戏是否还能掉卡。
    对于大多数人来说,默认值的15分钟是非常合适的;
    如果你有很多机器人同时运行,你可以考虑增加到30分钟。
    如果此值过高,会导致卡已经掉完了,ASF还在挂。
    如果此值过低,会导致发送给Steam的请求过多。
    只要Steam网络正常,降低这个值不会以任何方式提高挂卡效率,同时显著增加网络开销。
    除非你有特别的理由要修改此属性,否则应该将其保留为默认值15分钟。

    GiftsLimiterDelay 礼物限制延时
    "GiftsLimiterDelay": 1
    Steam的服务器处理各种请求时会有一个速率限制,因此ASF必须增加一些额外的延迟。
    ASF会确保在连续两次礼物/key/licenses之间至少有GiftsLimiterDelay秒的延时。
    此外,这个设置还将被用作ASF请求的全局延时设置,比如!命令。
    除非你有特别的理由要修改此属性,否则应该将其保留为默认值1秒。

    IdleFarmingPeriod 空闲挂卡周期(严酷的监工)
    "IdleFarmingPeriod": 8
    当ASF没有挂卡时,每隔IdleFarmingPeriod小时检查库里是否有新的可掉卡游戏。
    当购买/激活新的可掉卡游戏时,ASF不需要额外配置也能自动检测到。
    这个选项的作用是当库里本来没有交易卡的游戏添加了交易卡后(原来不能掉卡的老游戏可以掉卡了),ASF可以检测到这类游戏(检查徽章页面统计可掉卡游戏)。
    如果你不知道如何设置这个属性,建议将其保留为默认值8小时。

    InventoryLimiterDelay 库存限制延时
    "InventoryLimiterDelay": 3
    Steam的服务器处理各种请求时会有一个速率限制,因此ASF必须增加一些额外的延迟。
    ASF会确保在连续两次库存操作之间至少有InventoryLimiterDelay秒的延时。
    默认值3秒是基于超过100个bot实例的!loot命令设置的,应该满足大部分用户的要求。
    如果你的bot数量很少(甚至只有2个),你可以将此值设置为0,即取消这个延时。
    ASF会忽略这个延时,!loot库存时会快很多。
    但要小心,如果延时太低而操作次数太多可能会导致Steam暂时ban掉你的IP。
    如果你没有小号,就只有一个Steam号挂挂卡,你用不到此设置,你连!loot功能都用不到。
    除非你有特别的理由要修改此属性,否则应该将其保留为默认值3秒。

    LoginLimiterDelay 登录限制延时
    "LoginLimiterDelay": 10
    Steam的服务器处理各种请求时会有一个速率限制,因此ASF必须增加一些额外的延迟。
    ASF会确保在连续两次登录之间至少有LoginLimiterDelay秒的延时。
    默认值10秒是基于超过100个bot实例的登录操作设置的,应该满足大部分用户的要求。
    如果你的bot数量很少(甚至只有1个),你可以将此值设置为0,即取消这个延时。
    ASF会忽略这个延时,连接到Steam时会快很多。
    但要小心,如果延时太低而操作次数太多可能会导致Steam暂时ban掉你的IP。
    除非你有特别的理由要修改此属性,否则应该将其保留为默认值10秒。

    MaxFarmingTime 最大挂卡时间
    "MaxFarmingTime": 10
    你应该知道,Steam不是永远都能正常工作,甚至有时候你确实在玩游戏,但Steam没有记录游戏时间。
    ASF允许挂某个游戏的最大时间为MaxFarmingTime小时。
    这样可以防止奇怪的情况发生,而且当Steam发布一个新的徽章时防止ASF进一步恶化(详见Blacklist设置)。
    默认值的10小时应该足够一个游戏掉完所有的卡。
    如果此值过高,会导致挂卡进程卡在奇怪的地方。
    如果此值过低,会导致明明还能掉卡却被跳过(没错,有游戏需要9个小时才能掉完所有卡)。
    除非你有特别的理由要修改此属性,否则应该将其保留为默认值10小时。

    OptimizationMode 优化模式
    "OptimizationMode": 0
    ASF支持两种模式:
    0 MaxPerformance 最高性能
    1 MinMemoryUsage 最少内存占用
    默认情况下,ASF使用负载均衡,使用所有CPU内核,多个CPU线程,多接口和多线程任务。
    除非你的内存小到令人发指,可以设置为1(开启优化模式),否则都不该启用此设置。

    ADVANCED 高级

    Debug 是否打开调试模式
    "Debug": false
    在调试模式下,会建立一个debug目录,ASF和Steam之间的通信信息都会保存在里面。
    此外,一些程序行为将会有更详细的说明。
    开启调试模式将使ASF降低性能,影响稳定性,在不必要的地方产生多余的详细信息。
    即使是有目的性地调试特定问题,也只需要短期地开启调试模式。
    调试模式下产生的调试目录里包含敏感信息,包括Steam密码等,请妥善保管。
    除非你是拥有相当知识量的开发者,并且有特定需要使用调试模式,否则都不该启用此设置。

    BackgroundGCPeriod 垃圾回收周期
    "BackgroundGCPeriod": 0
    此设置专门用于帮助超低内存机器,可以减少内存使用量,但会影响ASF的效率并造成额外的CPU使用率。
    默认值为0时禁用此设置。
    除非你的内存小到令人发指,可以设置为10,否则都不该启用此设置。

    EXAMPLE 示例

    {
        "AutoRestart": true,
        "BackgroundGCPeriod": 0,
        "Blacklist": [],
        "CommandPrefix": "!",
        "ConfirmationsLimiterDelay": 10,
        "ConnectionTimeout": 60,
        "CurrentCulture": null,
        "Debug": false,
        "FarmingDelay": 15,
        "GiftsLimiterDelay": 1,
        "Headless": false,
        "IdleFarmingPeriod": 8,
        "InventoryLimiterDelay": 3,
        "IPCPassword": null,
        "IPCPrefixes": [
            "http://127.0.0.1:1242/"
        ],
        "LoginLimiterDelay": 10,
        "MaxFarmingTime": 10,
        "MaxTradeHoldDuration": 15,
        "OptimizationMode": 0,
        "Statistics": true,
        "SteamOwnerID": 0,
        "SteamProtocols": 3,
        "UpdateChannel": 1,
        "UpdatePeriod": 24
    }
    

    2.3 BOT配置详解

    配置文件生成器[官方链接]版本 V3.1.1.3+
    [BOT配置wiki]

    BASIC 基本

    SteamLogin 你的Steam账号用户名
    "SteamLogin": "username"

    SteamPassword 你的 Steam 账户密码
    "SteamPassword": "password"

    Enabled 是否启用此bot
    "Enabled": false
    如果启用,ASF运行时bot也会自动运行。
    如果关闭,bot需要手动启动。

    IsBotAccount 此bot是否是小号
    "IsBotAccount": false
    小号会自动拒绝除UserPermission MasterSteamClanID以外的交易报价/好友请求/群组邀请。

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

    SECURITY 安全

    PasswordFormat Steam密码格式
    "PasswordFormat": 0
    0 明文
    1 AES加密
    2 ProtectedDataForCurrentUser
    如果你想启用加密,你设置的密码也应该匹配此格式。
    除非你知道自己在干什么,否则应该将其保留为默认值0。

    UseLoginKeys 是否使用登录密钥机制
    "UseLoginKeys": true
    登录密钥存储在BotName.db的文件里并自动更新。
    类似“记住我”功能。
    如果你想每次运行ASF都手动输入二次验证码,可以将值设置为false。

    ACCESS 访问

    SteamUserPermissions Steam账户权限
    "SteamUserPermissions": {}
    映射关系:
    0 None 没有任何权限 参考值
    1 FamilySharing 家庭共享用户 拥有最小权限 参考值
    2 Operator bot实例 拥有最基本的权限 主要是添加licenses和激活key
    3 Master 大号 拥有控制给定bot的所有权限
    小号会自动接受来自Master的交易报价/好友请求/群组邀请

    SteamParentalPIN 家庭监护PIN
    "SteamParentalPIN": "0"

    COMMUNITY 社区

    HandleOfflineMessages 是否处理离线消息
    HandleOfflineMessages": false
    如果启用此功能,bot将不能以通常的方式接受命令,因为它没有登录到Steam社区。
    但你可以发送命令到离线的bot,离线bot也能做出响应。
    但是,bot会阅读并标记所有离线消息,因此,如果不是ASF命令而是你的好友给你发消息也会被标记,导致你可能会错过好友的消息。
    此外,本功能算是一个不够可靠的黑科技,可能有效,也可能失效。
    所以完全有可能离线bot收不到你的命令。
    如果你不知道如何设置这个属性,强烈建议将其保留为默认值false。

    TRADING 交易

    SteamTradeToken Steam交易Token
    "SteamTradeToken": "你的交易token"
    如果大号小号不是好友,则需要TradeToken才能完成交易。
    交易token在[Steam交易报价页面]最下面的「第三方网站」获取:
    steamcommunity.com/tradeoffer/new/?partner=[9位数字打码]&token=[你的交易token]

    TradingPreferences 交易规则
    "TradingPreferences": 0
    交易规则,可多选:
    0 None 只接受来自Master的交易报价 当然!loot命令也有效
    1 AcceptDonations 若不损失任何东西则接受交易
    2 SteamTradeMatcher 使用类似SteamTradeMatcher换卡网的规则[更多信息]
    4 MatchEverything 需设置SteamTradeMatcher结合规则接受包括不等价的交易报价
    8 DontAcceptBotTrades 不接受!loot命令

    LootableTypes 提取类型
    "LootableTypes": [1,3,5]
    执行!loot命令时从小号提取哪种物品,可多选:
    0 Unknown 不属于下列任何一种的其他类型
    1 BoosterPack 补充包
    2 Emoticon 表情
    3 FoilTradingCard 闪卡
    4 ProfileBackground 背景
    5 TradingCard 交易卡
    6 SteamGems 宝珠
    Valve可能会给Steam添加一些新的项目,新项目会被分类为0(Unknown类型物品),如果!loot新项目可能会产生无法预料的错误。
    因此,强烈建议不要包括0(Unknown类型物品),即使你想提取所有物品。

    MatchableTypes 匹配类型
    "MatchableTypes": [5]
    TradingPreferences设置为SteamTradeMatcher的匹配类型:
    0 Unknown 不属于下列任何一种的其他类型
    1 BoosterPack 补充包
    2 Emoticon 表情
    3 FoilTradingCard 闪卡
    4 ProfileBackground 背景
    5 TradingCard 交易卡
    6 SteamGems 宝珠
    注意:ASF不是专门的交易bot,它不会在乎价格或者品质。
    假如你使用它,比如说Emoticon类型,它可能会把两个罕见表情跟一个罕见表情和一个普通表情交易。
    如果你要使用此功能,请手动进行二次评估。
    除非你知道自己在干什么,否则应该将其保留为默认值5(只换卡)。

    AcceptGifts 是否接受礼物
    "AcceptGifts": false

    DismissInventoryNotifications 是否忽略库存提醒
    "DismissInventoryNotifications": false
    每次掉卡时都会触发一个库存通知,这是非常无谓且让人讨厌的行为。
    如果启用此设置,ASF会自动阅读库存通知(不止掉卡,包括你交易或者其他方式获得库存而产生的通知)。
    当然,此选项只影响库存通知,其他所有通知类型(新留言/新邀请/新礼物/未读聊天信息)都会保留。

    FARMING 挂卡

    FarmingOrder 挂卡规则
    "FarmingOrder": 0
    ASF首选的挂卡规则:
    0 Unordered 无序 略微提高CPU性能
    1 AppIDsAscending 先挂AppID数字小的游戏 [App1111]和[App99999] 挂[App1111]
    2 AppIDsDescending 先挂AppID数字大的游戏 [App1111]和[App99999] 挂[App99999]
    3 CardDropsAscending 先挂剩余掉卡数少的游戏 [剩1张卡可掉]和[剩4张卡可掉] 挂[剩1张卡可掉]
    4 CardDropsDescending 先挂剩余掉卡数多的游戏 [剩1张卡可掉]和[剩4张卡可掉] 挂[剩4张卡可掉]
    5 HoursAscending 先挂已游玩时间少的游戏 [游戏时间0小时]和[游戏时间3小时] 挂[游戏时间0小时]
    6 HoursDescending 先挂已游玩时间多的游戏 [游戏时间0小时]和[游戏时间3小时] 挂[游戏时间3小时]
    7 NamesAscending 先挂首字母顺序靠前的游戏 [ACO]和[CSGO] 挂[ACO]
    8 NamesDescending 先挂首字母顺序靠前的游戏 [ACO]和[CSGO] 挂[CSGO]
    9 Random 顺序完全随机
    10 BadgeLevelsAscending 先挂徽章等级低的游戏 [0级徽章]和[1级徽章] 挂[0级徽章]
    11 BadgeLevelsDescending 先挂徽章等级高的游戏 [0级徽章]和[1级徽章] 挂[1级徽章]
    12 RedeemDateTimesAscending 先挂先入库的游戏 [3月31日入库]和[4月1日入库] 挂[3月31日入库]
    13 RedeemDateTimesDescending 先挂后入库的游戏 [3月31日入库]和[4月1日入库] 挂[4月1日入库]
    这个规则设置只是一个建议倾向,ASF并不会严格遵守。
    在不影响性能的情况下ASF会尽量遵守。

    SendTradePeriod 库存转移周期
    "SendTradePeriod": 0
    SendTradePeriod小时,会把库存自动发往Master。
    如果你不知道如何设置这个属性,建议将其保留为默认值0(关闭此功能)。

    AutoSteamSaleEvent 自动完成事件
    "AutoSteamSaleEvent": false

    众所周知,Steam夏促/圣诞活动中,每天浏览发现队列或者投票会额外掉卡。
    如果启用本功能,每6小时都会自动检查并完成活动。
    注意:由于Valve的决策是不可知的,ASF不保证此功能能够正常工作。
    因此完全有可能这个选项根本不起作用,ASF不接受任何错误报告,也不提供此选项的技术支持。
    此功能没有绝对保证,使用者后果自负。

    IdlePriorityQueueOnly 空闲优先级队列
    "IdlePriorityQueueOnly": false
    如果启用此功能,ASF将跳过所有不在名单上的游戏,优先挂你想要挂的游戏。
    如果你没有添加任何有游戏到队列,ASF会以为此bot没有可挂的游戏而空转。
    如果你不知道如何设置这个属性,建议将其保留为默认值false。

    IdleRefundableGames 是否挂可退款游戏
    "IdleRefundableGames": true
    Steam的退款规则是“2周内购买的游戏时间不超过2小时的游戏可以无条件退款”。
    如果选否,则ASF不会挂任何14日内购买/激活的游戏。

    FarmOffline 是否显示正在玩挂卡游戏
    "FarmOffline": false
    当你在挂卡的时候,你可能会误导你的好友你正在游玩某个游戏,实际上你只是在挂卡。
    启用此功能,则Steam账号不会显示“XXX游戏中”;但仍然会计算游戏时间,并显示到个人资料的最新动态中。

    SendOnFarmingFinished 自动转移库存
    "SendOnFarmingFinished": false
    如果启用此功能,当ASF挂完卡之后会把库存自动发往Master,当小号从其他人那获得库存时也会自动转发。
    如果大号小号不是好友,则需要TradeToken才能完成交易。

    ShutdownOnFarmingFinished 挂完卡后是否自动关闭
    "ShutdownOnFarmingFinished": false
    ASF是“占领”一个账户活动的进程,即ASF运行某bot时,该bot的steam账户是在线状态。
    挂完卡后bot会中止“XXX游戏中”的状态,但steam仍然在线。
    而检测到有新卡可以掉落时,bot让steam进入“XXX游戏中”的状态挂卡而不用重新启动。
    如果启用此功能,bot挂完卡会关闭,这意味着steam将离线,ASF也不会定期检查是否有新卡可以掉落了。
    当所有bot都停止,ASF也不是以服务器模式运行的时候,ASF进程将会关闭。

    CUSTOMIZATION 自定义

    SteamMasterClanID Master的群组ID
    "SteamMasterClanID": 0
    进入http://steamcommunity.com/groups/[你的群组名]/memberslistxml/?xml=1
    第二行<groupID64>[这个18位数字就是你的群组ID]</groupID64>
    如果你没有“本人专用挂卡Steam群组”,建议将其保留为默认值0。

    GamesPlayedWhileIdle 空闲时挂游戏时间游戏
    "GamesPlayedWhileIdle": []
    当ASF无卡可挂时,设定挂时数的Steam游戏。

    CustomGamePlayedWhileFarming 挂卡时显示的非Steam游戏名字
    "CustomGamePlayedWhileFarming": "挂卡睡觉中"
    ASF进行挂卡时,显示“非Steam游戏中 XXX”。

    CustomGamePlayedWhileIdle 空闲时显示的非Steam游戏名字
    "CustomGamePlayedWhileIdle": "睡觉中"
    当ASF无卡可挂时,显示“非Steam游戏中 XXX”。

    MISC 杂项

    RedeemingPreferences 分发key规则
    "RedeemingPreferences": 0
    分发key规则:
    0 None 不分发
    1 Forwarding 将所有不能激活的key自动发给其他小号
    2 Distributing 均分所有key 这意味着每个bot都能从中获得一个key 当你为同一个游戏激活许多key时使用这个选项才有意义
    4 KeepMissingGames 当不能激活key时(短时间内超出激活限制/缺少本体的DLC/锁区key)跳过规则2 如果该bot已经拥有或者购买该游戏(即库里有这个app)正常转发 如果规则2没有启用则本规则无效

    PERFORMANCE 性能

    HoursUntilCardDrops 掉卡前预挂时间
    "HoursUntilCardDrops": 3
    根据多年统计、无数账户的经验来看,Steam有一个掉卡限制,如果是新账户或者申请过退款将导致信用下降,触发掉卡限制,所有游戏的前3个小时都不会掉落任何卡。
    当然,这只是一种理论,而不是一种明文规则。
    ASF会先把每个游戏挂满HoursUntilCardDrops小时,然后再挂还有剩余卡片可掉落的游戏。

    EXAMPLE 示例

    {
        "AcceptGifts": false,
        "AutoSteamSaleEvent": false,
        "CustomGamePlayedWhileFarming": null,
        "CustomGamePlayedWhileIdle": null,
        "DismissInventoryNotifications": false,
        "Enabled": false,
        "FarmingOrder": 0,
        "FarmOffline": false,
        "GamesPlayedWhileIdle": [],
        "HandleOfflineMessages": false,
        "HoursUntilCardDrops": 3,
        "IdlePriorityQueueOnly": false,
        "IdleRefundableGames": true,
        "IsBotAccount": false,
        "LootableTypes": [
            1,
            3,
            5
        ],
        "MatchableTypes": [
            5
        ],
        "PasswordFormat": 0,
        "Paused": false,
        "RedeemingPreferences": 0,
        "SendOnFarmingFinished": false,
        "SendTradePeriod": 0,
        "ShutdownOnFarmingFinished": false,
        "SteamLogin": null,
        "SteamMasterClanID": 0,
        "SteamParentalPIN": "0",
        "SteamPassword": null,
        "SteamTradeToken": null,
        "SteamUserPermissions": {},
        "TradingPreferences": 0,
        "UseLoginKeys": true
    }
    

    3 启用ASF的IPC功能

    [IPC相关wiki]

    3.1 本地测试

    编辑ASF\config\ASF.json,将其中的内容修改为:

        "IPCPassword": "设置一个IPC密码",
        "IPCPrefixes": [
            "http://127.0.0.1:1242/"
        ],
    

    其中1242这个端口号可以设置为你喜欢的端口,建议不要使用默认的1242,比如我就改成了6666。

    1. 然后用ArchiSteamFarm.exe创建一个快捷方式。

    2. 右键快捷方式-属性。

    3. 「目标」一栏在路径最后加上--server,注意--server与路径之间有一个空格。
      比如我的就是C:\ASF\ArchiSteamFarm.exe --server

    4. 然后使用快捷方式启动ASF,看到

      INFO|ASF|StartServer() Starting IPC server on http://127.0.0.1:1242/...
      INFO|ASF|StartServer() IPC server ready!
      

      就说明IPC启用成功了。

    5. 打开浏览器,输入http://127.0.0.1:1242/,进入「ASF | Config Generator」页面,本地测试完成。

    3.2 网络测试

    3.2.1 下载nginx

    [nginx官方下载链接]
    [nginx/Windows-1.13.10度盘分流] 提取码c1sr
    第三列随便下一个版本,我下的nginx/Windows-1.13.10。

    3.2.2 安装nginx

    解压,运行nginx-1.13.10\nginx.exe,然后一个命令行窗口会一闪而过,就像闪退一样。
    不要慌,是技术调整 正常现象,nginx已经启动了。
    验证方法1:
    打开任务管理器,可以看到后台有两个名为nginx.exe的进程。
    验证方法2:
    打开cmd,输入tasklist /fi "imagename eq nginx.exe"并回车。
    验证方法3:
    打开浏览器,输入http://127.0.0.1/并回车。

    3.2.3 配置nginx

    编辑nginx-1.13.10\conf\nginx.conf,找到http {标签里的:

        server {
            listen       80;
            server_name  localhost;
    

    将「这三行」改为

        server {
            listen 80;
            server_name  localhost;
    
            location / {
                proxy_pass http://127.0.0.1:1242;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
            }
        }
        server {
            listen       800;
            server_name  localhost;
    

    保存并退出,如果你之前不是用的1242端口,记得这里的proxy_pass http://127.0.0.1:1242;要改成对应的端口。
    然后打开cmd,cd [你的nginx.exe所在的目录]进入工作目录,比如我就是cd C:\nginx-1.13.10,然后nginx -s reload更新配置文件。
    如果没有任何提示信息说明更新配置成功。

    3.2.4 测试效果

    然后打开浏览器,输入http://127.0.0.1/并回车,如果进入「ASF | Config Generator」页面则配置成功。
    现在不管服务器,打开任意一台电脑,输入你服务器的外网IP,应该都能进入IPC了。


    4 做一个自己的Telegram机器人

    4.1 友谊是魔法~! ★

    首先要保证你的服务器能够连上Telegram。
    最简单的测试方法:打开浏览器,输入 https://core.telegram.org/api ,如果能连接就没问题。
    如果不能,要么换一台能直连Telegram的服务器,要么使用友谊的魔法~!★☆
    记得用使用PAC模式,全局模式会导致nginx服务失效。

    4.2 安装Python3.6

    [Python3.6.5官方下载链接]
    [Python3.6.5度盘分流] 提取码c1sr
    打开安装界面第一步一定要记得勾选最下面的「Add Python 3.6 to PATH」
    如果你不想慢慢配置环境变量的话。

    4.3 注册机器人

    打开telegram,跟@BotFather新建对话:
    /newbot 新建一个机器人
    然后BotFather问你机器人要叫什么名字(昵称),随便取,反正之后可以改。
    然后BotFather问你机器人的「用户名」要叫什么,前面无所谓但最后必须以bot结尾,可以mybot/myBot/my_bot/my_Bot等等形式。
    然后机器人就建好了,BotFather会告诉你机器人的token。
    Use this token to access the HTTP API:后面的一串就是机器人token。

    4.4 绑定机器人

    先下载人生亦梦写的机器人。
    [telegram-bot-asf Github地址]
    [telegram-bot-asf 度盘分流] 提取码c1sr

    解压之后可以看到telegram-asf.py和requirements.txt两个文件。
    如果你用了友谊的魔法~!★☆,打开requirements.txt把第二行的#pysocks改为pysocks
    打开cmd,cd [你的telegram-asf.py所在的目录]进入工作目录,比如我就是cd C:\telegram-bot-asf\
    然后pip3 install -r requirements.txt安装依赖。

    右键telegram-asf.py选择Edit with IDLE编辑:

    token = '你的机器人token'
    admin = [你的telegram数字ID]  # 多位管理员则用英文逗号,分隔
    ipc_address = 'http://127.0.0.1:1242/' # 如果你用的其他端口 改成你的端口
    ipc_password = '你的IPC密码'
    use_proxy = True  # 如果不使用代理则为False
    proxy = 'socks5://127.0.0.1:1080/' # 你没改过的话默认就是这个
    

    保存并退出。

    有两点要提一下。
    第一,如果你不知道你的telegram数字ID。
    Telegram搜索@get_id_bot然后/start,它会告诉你Your Chat ID = 你的telegram数字ID
    第二,要不要设置密码。
    因为之前我们把IPC接到了外网,不设置密码等于一旦别人摸到你服务器IP就能控制你的ASF
    因此要么设置一个足够安全的复杂密码,安心使用网页版IPC;要么不把IPC接到外网,就不用设置密码。

    然后直接执行telegram-asf.py就可以了,双击就能运行。

    4.5 使用机器人

    现在跟你的机器人新建对话就可以开始使用了。
    redeem 激活key
    addlicense 激活AppID
    start 开启机器人
    stop 关闭机器人
    pause 暂停挂卡
    resume 继续挂卡
    2fa 显示二次验证码
    2faok 确认二次验证请求
    version 显示ASF版本
    status 机器人状态
    GUI菜单 /start

    4.5 美化机器人

    刚出生的机器人是不是特别丑。
    跟@BotFather对话/mybots,选择你的asf机器人。
    选择Edit Bot,然后BotFather会列出你的机器人信息并提供Edit选项:
    Name 昵称
    Description 跟机器人新建对话后提示“它能做什么?”后面的信息
    About 机器人资料页显示的介绍
    Botpic 头像 选择此选项之后发一张图给BotFather就设置成功了
    Commands 命令 最好別乱改
    最后的成品效果就是@clsrasfbot这样。


    参考资料

    ArchiSteamFarm官方wiki
    SteamCN论坛《【v3.1.1.1更新】ASF升級V3全教程(Windows OS)》By Singx9
    SteamCN论坛《【2018.3.14】Telegram Bot管理ASF【可能有bug】》By 人生亦梦
    博客园《windows下nginx的安装及使用方法入门》By 冒雨ing


    特别鸣谢

    勤恳的大佬JustArchi写的ASF[Github地址]
    我在crowdin上反映翻译问题几乎秒回,真是劳模
    人生亦梦写的Telegram Bot[Github地址]

    相关文章

      网友评论

          本文标题:从零开始的ASF详细食用手册(windows限定)

          本文链接:https://www.haomeiwen.com/subject/mqychftx.html