本地以及服务器使用ASF挂卡教程


在Windows服务器上使用ASF-傻瓜教程

一.相关软件介绍以及准备

1.ASF

ASF是由C#编写,能同时挂载多个 Steam 账号的挂卡工具。其不像 Idle Master 那样:同一时间只能为一个账号挂卡,需要后台运行 Steam 客户端,需启动额外进程模拟‘正在游戏’状态。ASF 不需要后台运行任何 Steam 客户端,不需要启动额外进程,而且能为不限数目的 Steam 账号同时挂卡。不仅如此,该软件还能在服务器和其他非桌面电脑上运行,并拥有完整支持 Mono 的特性,这能让其在 Windows、Linux 以及 OS X 等任何支持 Mon o的操作系统上运行。ASF 存在的基础要归功于 SteamKit2。

  一个功能强大的steam辅助软件,基本功能是挂卡,还能同时管理多个账号,用规则管理多账号的库存,或者激活游戏,所有功能不需要steam客户端支持。

  ASF是开源软件,下载地址。其有自动更新功能,下载下来随意解压到本地。

2. Nginx(如果只在自己电脑上挂卡不需要)

Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东新浪网易腾讯淘宝等。

  简单来说靠这个软件实现远程网页端控制。

  下载地址

3. 稳定科学上网

因为卡片信息和徽章信息要访问steamcommunity,因为众所周知的原因。。。

4.阿里云试用的Windows server

  别问,问就是我只会用Windows。或许Linux也行。

二.在本地测试运行

  配置文件保存于/asf/config。分为全局配置和每个机器人的配置。全局配置顾名思义,机器人则是对应每个steam账户。

  有网页端的配置生成器,配合wiki使用。善用ctrl+F

  配置wiki页

  网页端配置生成器

  嫌麻烦可以直接参考我下面的配置,只配置一些常用功能。

1. 全局配置

  我自己使用的简单例子。不做过多赘述。ASF.json

{
  "Headless": false,#运行在服务器上需要true,下面再介绍。
  "IPC": true,#启动IPC服务以便各种交互,必要
  "IPCPassword": "这里设置IPC的密码",
  "SteamOwnerID": ,#拥有该ASF进程的账户的64位steamID,其拥有最高权限
  "IPCPrefixes": [
    "http://127.0.0.1:1242/"] #自己设置IPC的地址和端口
}

2.机器人配置

  依然是我自己实用例子。文件名为bot.json.

  bot就是该机器人的名字随意取。简洁易分辨,区分大小写。

{
  "AcceptGifts": true,#是否自动接受礼物
  "CustomGamePlayedWhileIdle": "没挂卡时自定义状态",
  "CustomGamePlayedWhileFarming": "挂卡时自定义状态"
  "Enabled": true,#是否启用该机器人
  "GamesPlayedWhileIdle": [无卡可挂时 挂时长的游戏ID 最多32个逗号隔开],
  "SteamMasterClanID": #机器人群的64ID,该机器人会自动加入这个群组并监听指令。
  "SteamLogin": "steam账号",
  "SteamPassword": "steam密码"
}

3.本地运行

  1. 将ArchiSteamFarm.exe创建一个快捷方式。

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

  3. 「目标」一栏在路径最后加上--server,比如D:\ASF\ArchiSteamFarm.exe --server

  4. 通过快捷方式启动ASF。出现IPC服务已就绪的字样就成功。

  5. 浏览器输入自己设置的IPC地址,输入密码,进入网页端。

  至此,ASF成功运行在本地。登录过程中需要输入验证码,直接在窗口中按提示输入。功能实现可以直接看第四章

三. 运行在服务器端的配置

1.Nginx配置

  1. 下载并安装nginx,解压到磁盘即可。

  2. 运行nginx.exe。其启动没有表现。在任务管理器中验证是否启动。

  3. 修改nginx的配置文件\conf\nginx.conf。找到

    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;

2.更新配置并运行

  1. 进入cmd,cd进入nginx的根目录,比如cd C:\nginx-1.13.10,然后输入nginx -s reload。如果没有提示信息说明完成。
  2. 将ASF全局设置中的headless设为true。启动asf。
  3. 在服务器的浏览器上输入全局配置中的IPC地址,输入密码,进入网页端。完成。
  4. 在其他设备上输入服务器的外网IP,也进入网页端。完成。

  至此,ASF成功运行在服务器上。

四.详细使用

1.网页端的功能

  • 机器人:能看到所有机器人的状态,能直接更改设置,禁用启用。以及激活key。
  • 命令:在headless模式中,软件假定在服务器上运行,将不能在交互式控制台输入任何东西。如果正确运行有自动补全命令功能。详细见下2
  • 日志:
  • 版本发布:

  不做任何操作,不折腾ASF会按照默认的规则挂卡。其他功能用到命令。

2.命令

  通过命令控制程序和机器人的行为。您可以通过不同的方式发送命令:

  • 通过 ASF 交互式控制台 (headless模式中被禁用

  • 通过 Steam 私人/群组聊天

  • 通过 IPC 接口。(在我这个教程中即本地网页端和远程网页端

  (可选项)首先解释一下在steam聊天中输入命令,只要有正常运行的机器人加入群聊,且机器人正确设置了SteamMasterClanID这一项参数,就可以在steam的聊天中输入命令。用群聊的意义是,当你只有一个机器人的时候,想要该机器人监听自己账号的命令,唯一办法是创建一个自己加入的群,因为不能和自己私聊。在聊天框中键入命令需要前缀,而网页端不需要且会自动补全,前缀默认是”!”,可以在全局配置中修改。

  命令的wiki 所有的命令在这里

  我常用的命令:bot指机器人的名字,即文件名去掉.json。

  • balance bot 查询该账户钱包余额

  • farm bot 启动该机器人的挂卡

  • status bot 查询机器人状态

    启动一个机器人的完整指令(很重要)

    1. start bot 启动该机器人,尝试登录,需要验证码,登录受阻,因为是headless模式,将不会反复尝试。
    2. input bot TwoFactorAuthentication 验证码 将验证码发送给ASF,ASF会将其保存。
    3. start bot 再次启动该机器人,读取验证码,登陆成功。

五.结语

  太闲了,打了一晚上,主要是怕自己以后要用的时候忘干净了。如果能有所帮助那就更好了。

参考:

从零开始的ASF详细食用手册

ASF中文wiki


评论
  目录