搭建ASF并配置https

发表于 2019-09-05  231 次阅读


文章目录

 

实现本文需要:一台可以访问steam社区的服务器以及一个域名。

这次用CentOS7搭建了一个ArchiSteamFarm并且配合nginx实现https.

感谢狐狸的指导帮助。

 

以下正文

 

服务器端安装ArchiSteamFarm

这次使用的是centos7,嫖了朋友的一台海外服务器玩的。

在ASF之前的版本中,需要自己手动装.NET Core依赖,步骤还是挺多的,在本文(4.0.4.2)的版本中,安装ASF已经很方便了,只需要安装几个必须的库就可以了,根据Linux发行版本的不同,你可能需要安装名称不同但作用相同的包,如果下面的包安装不了的话,可以去自己Linux版本的官网搜索相关的包下载。


libcurl3(libcurl)
llibicu
llibkrb5-3(krb5-libs)
liblttng-ust0(lttng-ust)
libssl1.0.2(libssl、openssl-libs、compat-openssl10)

然后就可以去ASF的发布页面下载最新的版本,本文中是4.0.4.2,手动下载或者用wget都可以,弄到服务器上解压即可,比如我就放在/root/asf

配置ASF文件

然后我们需要生成asf的配置文件,先生成一个BOT的,我自己目前不需要一些接受交易之类的功能,所以我没配置,如果需要其他功能可以去查看官方WIKI。下面我贴我自用的

 // bakashigure.json 

{
"SteamLogin": "steam账号",
"SteamPassword": "steam密码",
"SteamParentalCode": "steam家庭监护令牌",
"Enabled": false,
"CustomGamePlayedWhileFarming": "在使用asf挂卡",
"CustomGamePlayedWhileIdle": "在摸鱼"
}

然后需要一个全局文件ASF.json,你同样可以在网页自助生成 ,以下贴我自用的

// ASF.json 

{
"s_SteamOwnerID": "你的STEAM64位ID",
"IPC": true,
"CurrentCulture": "zn-CN",
"Debug": false,
"IPCPassword": "你的IPC密码,后面登陆web要用",
"Headless": true
}

还差一个IPC的配置文件,默认端口你可以改,因为等会需要再用niginx做代理,所以这样配置,如果你想直接用http访问的话,将127.0.0.1换成*就可以了。官方提供了两种实现https的方法,考虑到服务器上可能还会跑别的web,我就选了nginx。

//IPC.config

{
"Kestrel": {
"Endpoints": {
"HTTP": {
"Url": "http://127.0.0.1:1242"
}
}
}
}

将这三个文件,放进asf目录下的config。

Nignx配置

证书的话,用腾讯云生成一个免费的就可以了,生成之后放到服务器上备用。

如何安装Nginx自行百度即可。

在nginx/conf目录下,打开nginx.conf,修改如下,注意下面的中文

 //nginx.conf文件中server的块

   server {
        listen *:443 ssl;
        server_name 你的asf站点网址;
        ssl_certificate 你申请的证书.crt;
        ssl_certificate_key 你申请的证书.key;

        location ~* /Api/NLog {
        proxy_pass http://127.0.0.1:1242;

        proxy_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;
}
        location / {
        #妈的千万不要加expires,气死我了。
        proxy_pass http://127.0.0.1:1242;
        proxy_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;
        }
    }

    server{
    listen 80;
    server_name 你的asf站点网址;
    return 301 https://$server_name$request_uri;
    }
}

第一个server是https相关,第二个server块是将http的请求跳转到https。

启动!

screen -S ASF新建窗口 在其中启动asf来达到后台运行的效果。

在ASF的目录中输入 ./ArchiSteamFarm 来启动ASF,无法启动的话先chmod +x ArchiSteamFarm

大概会正常启动,不出意外的话。

然后启动你的nginx

安装目录/nginx/sbin/nginx

也大概会正常启动,不出意外的话。

记得去域名那边配置好解析,

然后你就可以在你的浏览器中打开你新搭建的ASF辣 !

启动!(2) (有关两步验证)

点命令,输入 start 你的bot  ,如果你用的是邮箱验证的话,等收到邮箱验证码之后,去命令里面输入 input 你的bot SteamGuard 邮箱验证码,然后再输入 start 你的bot,bot就能上线了.

如果是两步验证(2FA)的话,第二步中输入input 你的bot TwoFactorAuthentication 手机令牌 ,其他步骤一样,记得动作快点就好。

正文结束


杂谈,感想

之前也搞过一个asf,但是那个限制条件有点多,服务器上跑了一个wordpress,就是你现在看到的这个,然后那台服务器内存也不够,整台服务器只有500mb左右的内存,还跑了一堆别的服务,asf跑十几分钟就会白给。。。总之很惨,apache的反代也没有搞,只能用ip+端口访问asf。跑了一天我就放弃了,因为一直需要手动去服务器上重启asf,效率过低。

过了几天突然来了想法,找蔡徐坤嫖了台服务器,用一天多时间搭好了这个,大部分时间都浪费在了nginx的expires上面,这个expires是为服务器节省资源的,当浏览器重复访问网页时,浏览器会读取缓存而不是重新问服务器要,我就加了expires 12h,就是下图:

这导致了在ASF中删除或者新建BOT之后,页面并不会反应过来,呈现的仍然是未修改过的状态,我一开始以为是权限的问题,没给权限导致不能删改文件,反复给ASF权限,无效之后又去给Nginx权限,还是无法解决问题。 直到我笔记本没电了,我用手机登陆了ASF,发现bot的数量变了,由此怀疑是浏览器的问题,回宿舍接电后测试果然是这样,举例就是原来有3个bot,我删掉一个后刷新网页仍然是3个,开浏览器无痕模式重新登陆ASF,bot的数量变成两个,原来的网页仍然是3个,这个就是expires 12h导致的。 我不知道我有没有讲清楚,总之这个问题卡了我好久。

还有一个就是我要看看眼科(,这里骂一句sbdhy,不知道怎么输两步验证,翻来翻去在wiki的最后面找到了。。。在asf.json中添加headless属性然后在web的命令行里面输入就好了。

我太菜了,群里的大佬轻轻松松就搞好了,我还要摸索这么久。。。

我啊,什么都不会,呜呜。

unlimited rulebook

本站文章基于国际协议BY-NA-SA 4.0协议共享;
如未特殊说明,本站文章皆为原创文章,请规范转载。

0

:(