服务器运行ASF

  1. 1. 准备工作
  2. 2. 安装.NET core
  3. 3. 安装ASF
  4. 4. 配置ASF
  • 5. 运行ASF
  • 如标题所示。

    以前是PC上运行了ASF的。也没有很别扭,但是可控性不高,一旦PC关机就会结束挂卡。
    而且桌面上始终有一个窗口,对于强迫症也不是很友好。
    后来有了自己的VPS,就打算在服务器端运行ASF,所以查询各种资料,有了这篇博客。

    1. 准备工作

    您需要:Steam账号,VPS(ip+root密码), 远程连接程序(如PuTTY)和想挂卡的程序的Manifest id。

    2. 安装.NET core

    依次输入以下命令:

    1
    2
    3
    4
    5
    6
    rpm --import https://packages.microsoft.com/keys/microsoft.asc
    sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'
    yum update
    yum install libunwind libicu
    yum install dotnet-sdk-2.0.0
    export PATH=$PATH:$HOME/dotnet

    理论上来说到这里就好了。测试一下:dotnet --version,如果显示版本号,说明安装无误。

    3. 安装ASF

    1
    2
    3
    4
    5
    mkdir asf && cd asf
    wget https://github.com/JustArchi/ArchiSteamFarm/releases/download/4.1.2.1/ASF-linux-x64.zip
    # 以上版本号可能会变,请去Github自行寻找最新版本。
    unzip ASF-linux-x64.zip
    chmod +x ArchiSteamFarm

    简单的操作过后,ASF就已经安装在VPS上了。

    4. 配置ASF

    首先获取JSON配置文件。由于博主本人之前用了windows版的ASF,因此直接上传到asf\config下就好了。
    如果没有JSON文件,请访问JSON配置页面填写相关信息即可获取。
    如果是挂卡,需要在GamesPlayedWhileIdle里面输入游戏的manifest id,类似如下格式:

    1
    2
    3
    4
    "GamesPlayedWhileIdle": [
    570, //Dota2
    535930,//Two Point Hospital
    ]

    全部修改完之后,保存即可。

    5. 运行ASF

    1
    2
    screen -S asf #screen命令
    ./ArchiSteamFarm

    注意:默认安装路径在/root/asf下。
    就成功在VPS上运行了ASF。
    运行Screen命令的目的在于可以后台运行。如果用CentOS自带的快捷键Ctrl+Z,ASF程序会进入后台并退出挂卡状态。
    在挂卡成功以后,按Ctrl+A,然后按D键就可以返回到控制台本身,同时挂卡也不会停止。
    (按Ctrl+D则会结束当前的Screen)
    如果有需要返回这个Screen,首先查看一下当前有哪些Screen:

    1
    screen -ls

    获取到以后,通过以下命令进入Screen:

    1
    screen -r ASF

    虽然个人觉得没有这个必要。毕竟直接修改JSON文件,ASF会自动识别更新的。
    (除非你想停止挂卡)

    PS:如何kill screen窗口
    a. screen内部:
    输入exit或Ctrl+D
    b. screen外部:
    1.使用screen窗口的名字
    screen -S session_name -X quit
    2.回到screen窗口,再退出screen窗口

    或

    1.回到screen窗口
    screen -r session_name
    2.利用exit退出screen窗口,退出窗口后session窗口被自动kill
    exit # 可能需要多次exit命令,因为screen中正在运行的程序可能也需要使用exit命令才退出(先使用exit命令退出screen中正在运行的程序,再使用exit命令退出screen)


    写论文之余学点新东西。


    这篇博文参考了以下文章:

    Linux下使用ASF工具 Steam 挂卡的配置使用
    JustArchiNET / ArchiSteamFarm - Github
    Screen命令 - Linux命令大全
    Linux 用户必知:一分钟掌握14个常用Linux命令行快捷键
    Linux中的screen命令的用法
    感谢他们的分享。