在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
嫌麻烦可以直接参考我下面的配置,只配置一些常用功能。
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.本地运行
将ArchiSteamFarm.exe创建一个快捷方式。
右键快捷方式-属性。
「目标」一栏在路径最后加上
--server
,比如D:\ASF\ArchiSteamFarm.exe --server
通过快捷方式启动ASF。出现IPC服务已就绪的字样就成功。
浏览器输入自己设置的IPC地址,输入密码,进入网页端。
至此,ASF成功运行在本地。登录过程中需要输入验证码,直接在窗口中按提示输入。功能实现可以直接看第四章。
三. 运行在服务器端的配置
1.Nginx配置
下载并安装nginx,解压到磁盘即可。
运行nginx.exe。其启动没有表现。在任务管理器中验证是否启动。
修改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.更新配置并运行
- 进入cmd,cd进入nginx的根目录,比如
cd C:\nginx-1.13.10
,然后输入nginx -s reload
。如果没有提示信息说明完成。 - 将ASF全局设置中的headless设为true。启动asf。
- 在服务器的浏览器上输入全局配置中的IPC地址,输入密码,进入网页端。完成。
- 在其他设备上输入服务器的外网IP,也进入网页端。完成。
至此,ASF成功运行在服务器上。
四.详细使用
1.网页端的功能
- 机器人:能看到所有机器人的状态,能直接更改设置,禁用启用。以及激活key。
- 命令:在headless模式中,软件假定在服务器上运行,将不能在交互式控制台输入任何东西。如果正确运行有自动补全命令功能。详细见下2
- 日志:
- 版本发布:
不做任何操作,不折腾ASF会按照默认的规则挂卡。其他功能用到命令。

2.命令
通过命令控制程序和机器人的行为。您可以通过不同的方式发送命令:
通过 ASF 交互式控制台 (headless模式中被禁用
通过 Steam 私人/群组聊天
通过 IPC 接口。(在我这个教程中即本地网页端和远程网页端
(可选项)首先解释一下在steam聊天中输入命令,只要有正常运行的机器人加入群聊,且机器人正确设置了SteamMasterClanID这一项参数,就可以在steam的聊天中输入命令。用群聊的意义是,当你只有一个机器人的时候,想要该机器人监听自己账号的命令,唯一办法是创建一个自己加入的群,因为不能和自己私聊。在聊天框中键入命令需要前缀,而网页端不需要且会自动补全,前缀默认是”!”,可以在全局配置中修改。
命令的wiki 所有的命令在这里
我常用的命令:bot指机器人的名字,即文件名去掉.json。
balance bot
查询该账户钱包余额farm bot
启动该机器人的挂卡status bot
查询机器人状态启动一个机器人的完整指令(很重要)
start bot
启动该机器人,尝试登录,需要验证码,登录受阻,因为是headless模式,将不会反复尝试。input bot TwoFactorAuthentication 验证码
将验证码发送给ASF,ASF会将其保存。start bot
再次启动该机器人,读取验证码,登陆成功。
五.结语
太闲了,打了一晚上,主要是怕自己以后要用的时候忘干净了。如果能有所帮助那就更好了。
参考: