在此我只讲如何用服务器搭建,因为自己电脑相对耗电,也推荐使用服务器挂载。想要用自己电脑的请自行baidu。个人服务器为centos7,并使用了nginx作为web服务器。
(1) 下载: 访问Releases · JustArchiNET/ArchiSteamFarm · GitHub。如果你想下最新版本可以下pre-release,但可能没有正式版稳定;推荐下载Latest版本。如果你想在自己电脑上跑找到相应windows和mac版本,这里只讲服务器安装。找到ASF-linux-x64.zip,右键复制链接。推荐执行以下代码
cdmkdir /asf/cd /asf/wget https://xxxxxxxunzip ASF-linux-x64.zip
(2) 生成用户配置文件两种办法
1.ASF web config (justarchinet.github.io)
2. (推荐)后台简单更改
vim /asf/config/用户名(随意).json
{"Enabled": true,"SteamLogin": "账号","SteamPassword": "密码"}
说明: Enabled 为是否开机asf就自动开始挂卡该账号
(3)运行
./ArchiSteamFarm-Service.sh
但是此时开启没有UI界面,你可以先输入二步验证开始挂卡,并进行测试是否有问题(大概率您的服务器无法访问steamcommunity,后续讲解如何操作
(4)配置ASF IPC UI界面
参考官方网站两种方法IPC zh CN · JustArchiNET/ArchiSteamFarm Wiki · GitHub
1. 个人使用了nginx 代理,并且只设置了443端口, 具体nginx配置见上面官网,我是直接复制并改了 ssl 文件位置,详细配置见(7.9)配置nginx,也可以参考我的nginx服务器配置参考博客。比如最终我的访问网站为https://asf.pancake.work
2. 另外一种自带方法
vim /asf/config/IPC.config
{"Kestrel": {"Endpoints": {"HTTP": {"Url": "127.0.0.1:1242"}}}}
之后只需要去开启阿里云安全组1242端口,当然端口号你可以随意设置。推荐只用nginx方法。
(5)设置IPC密码
vim /asf/config/ASF.json
{"Headless": false,"IPCPassword": "密码"}
推荐Headless为false,更安全,具体原因可以设置好后进入UI设置查看。
(6)设置完成,可以kill或ctrl+c刚才进程,重启。
进入 http://域名:1242 或者 https://域名 看是否正常运行
(7) 因为中国github 和steamcommunity 访问会出问题需要配置代理才能正常使用asf的一些功能
电脑版可以用
原作者使用caddy方法。本文为nginx配置方法,因为caddy和nginx不能同时在443和80端口运行,特此做如下讲解。如果你服务器使用的是caddy可以直接用作者方法。
linux 配置方法:
下载一下三个文件,放入/ca/ 文件夹下
steamcommunity.key
steamcommunity.crt
steamcommunityCA.pem
导入根证书 steamcommunityCA.pem(centos写法如下,如果是unbuntu可以复制原作者使用方法中的代码或自行百度)
cp /ca/steamcommunityCA.pem /etc/pki/ca-trust/source/anchors/bin/update-ca-trust
(7.5)寻找github与steamcommunity服务器
自己电脑上下载UsbEAm Hosts Editor
找到steam社区 和 github 分别检测延迟,可以寻找几个最好的记下来
(7.9)配置nginx
最终在http下加入如下代码,根据自己需要更改
其中两个upstream中可插入7.5中找到的对应的github和steamcommunity的ip地址,注意要加:443
# steamcommunity 代理服务器地址upstream steamcommunityServer {server 23.32.241.160:443;}# github 代理服务器地址upstream githubServer {server 15.164.81.167:443;}# github 服务器代理设置server {listen 443 ssl;server_name ;server_name ;ssl_certificate /ca/steamcommunity.crt;#下边签发的证书ssl_certificate_key /ca/steamcommunity.key;location / {proxy_pass https://githubServer/;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real_IP $remote_addr;proxy_set_header User-Agent $http_user_agent;proxy_set_header Accept-Encoding '';proxy_buffering off;}}# steamcommunity 服务器代理设置server {listen 443 ssl;server_name ;server_name ;ssl_certificate /ca/steamcommunity.crt;#下边签发的证书ssl_certificate_key /ca/steamcommunity.key;location / {proxy_pass https://steamcommunityServer/;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real_IP $remote_addr;proxy_set_header User-Agent $http_user_agent;proxy_set_header Accept-Encoding '';proxy_buffering off;}}# asf 挂卡网站配置server {listen *:443 ssl;server_name asf.pancake.work;ssl_certificate /ca/asf.pem;ssl_certificate_key /ca/asf.key;location ~* /Api/NLog {proxy_pass http://127.0.0.1:1242;# 只需在您需要覆盖默认 Host 时启用# proxy_set_header Host 127.0.0.1;# 代理 ASF 请求时,应该始终指定 X- 前缀的 HTTP 头# 这对正确鉴别源 IP 至关重要,使 ASF 能够封禁真正的攻击者而非您的 Nginx 服务器# 指定这些头后,ASF 能正确解析发送请求用户的 IP 地址 - 使 Nginx 真正成为反向代理# 如果不这样设置,ASF 会认为您的 Nginx 是客户端 - 此时 Nginx 只是一个普通的代理程序# 如果您无法在同一台机器上同时运行 Nginx 与 ASF,则应该额外设置正确的 KnownNetworksproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Host $host:$server_port;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Real-IP $remote_addr;# 我们添加了这 3 个额外的选项用于 WebSockets 代理,详见 /en/docs/http/websocket.htmlproxy_http_version 1.1;proxy_set_header Connection "Upgrade";proxy_set_header Upgrade $http_upgrade;}location / {proxy_pass http://127.0.0.1:1242;# 只需在您需要覆盖默认 Host 时启用# proxy_set_header Host 127.0.0.1;# 代理 ASF 请求时,应该始终指定 X- 前缀的 HTTP 头# 这对正确鉴别源 IP 至关重要,使 ASF 能够封禁真正的攻击者而非您的 Nginx 服务器# 指定这些头后,ASF 能正确解析发送请求用户的 IP 地址 - 使 Nginx 真正成为反向代理# 如果不这样设置,ASF 会认为您的 Nginx 是客户端 - 此时 Nginx 只是一个普通的代理程序# 如果您无法在同一台机器上同时运行 Nginx 与 ASF,则应该额外设置正确的 KnownNetworksproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Host $host:$server_port;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Real-IP $remote_addr;}}
(8)配置host
vim /etc/hosts
127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1
至此全部配置完成
(9)设置service
最简单配置如下
vim /lib/systemd/system/asf.service
[Unit]Description=steam asfAfter=network.target remote-fs.target nss-lookup.target[Service]ExecStart=/asf/ArchiSteamFarm[Install]WantedBy=multi-user.target
systemctl enable asf
systemctl restart asf
或者可以文件夹下asf@service那个文件(未测试可行性)
(10)asf现有bug须知
1. 用systemctl启动因为在后台运行,新建机器人后如果有令牌无法输入,需要关闭asf,然后运行./ArchiSteamFarm或行./ArchiSteamFarm.sh 在提示栏中才能输入。
2. 用systemctl启动的asf在UI截面左上角点重启实则无法重启,可能是因为service配置问题,暂时不知
3. /asf文件夹下不要放别的文件,可能asf一更新文件夹下其他东西就没了
(11)现在你可以去探索asf里的功能了,设置里可以点每个设置选项的问号教你具体作用。
希望这篇文章对你有帮助
个人博客原地址:steam 集换式卡牌 挂卡软件 ASF 介绍 及 服务器搭建 – Pancake's Personal Website