为什么用Docker版?

因为Docker版本,不用装screen,管理起来也更方便。

ASF项目地址

搭建好基础

  • 安装Docker
1
2
3
4
#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

安装Portainer能使用可视化界面管理,更加方便简单。当然可以不安装,并没有影响

  • 拉取Portainer
1
docker pull portainer/portainer
  • 启动Portainer
1
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /path/on/host/data:/data portainer/portainer

构建ASF

  • 拉取ASF镜像
1
docker pull justarchi/archisteamfarm

这里默认标签是latest,对于一般的x86 x64平台都是可用的,但是如果是树莓派等arm架构的设备则需要相应的标签镜像,比如arm-latest
具体的可以在官方的镜像仓库查看。

  • 启动ASF
1
docker run -it --name asf justarchi/archisteamfarm

但一般不用这个极为简单的命令,为了更自定义化,我们一般会将ASF的配置文件的路径映射到宿主机,这样修改起来也比较方便。
假设想要映射出来的目录为/home/asf,则需要新建目录:

1
mkdir -p /home/asf

当然不提前建也可以,映射的时候也会自动创建,但是我们可以提前建好,并将配置文件提前放进去,等下启动就好了。
如果是自己上传,那么得给改文件夹可写权限:

1
chmod 777 /home/asf
  • 账号配置

配置文件有三个ASF.json bot.json IPC.config

1.ASF.json

1
2
3
4
5
{
"IPC": true, #开启IPC,即网页版管理
"IPCPassword": "password", #IPC管理密码
"s_SteamOwnerID": "" #控制号的64位id,即发送命令的账号
}

2.bot.json

1
2
3
4
5
{
"SteamLogin": "id", #steam账号
"SteamPassword": "password", #steam账号密码
"Enabled": true #是否开启挂卡
}

3.IPC.config

1
2
3
4
5
6
7
8
9
{
"Kestrel": {
"Endpoints": {
"HTTP": {
"Url": "http://*:1242" #该端口可自定义,但得与docker映射出去的端口一致
}
}
}
}

具体的可以使用在线配置文件生成器

  • 上传配置文件

将上边的三个文件上传到那个映射文件夹就可以了。
当然,如果你使用的工具不具备上传的能力,也可以用vim新建这三个文件,不过得首先安装vim

1
2
3
4
#Centos
yum update -y && yum install vim -y
#Debian & Ubuntu
apt-get update -y && apt-get install vim -y

示例:
新建ASF.json
1.vim ASF.json(这里是进入目录后的操作,即cd /home/asf,否则直接vim /home/asf/ASF.json
2.输入i
3.粘贴or输入
4.Esc
5.输入:wq回车

运行ASF

  • 真正的运行asf
1
docker run -it -p 1242:1242 -v /home/asf:/app/config --name asf justarchi/archisteamfarm

这样会直接进入容器,然后会让你输入二次验证码,这样程序就跑起来了,这时就可以访问http://ip:1242访问了。
最后记得退出容器,使用命令exit或者Ctrl+P+Q(推荐,这样不会关掉容器)。

进入容器:

1
2
3
docker attach 容器ID
or
docker exec -it 容器ID /bin/bash