ASF
Steam 有许多好用的挂卡软件,甚至各种移动端的 app 都一应俱全。我选择的是一个开源在 Github 的 5000 stars 的程序:ASF
如此多的 star 数以及作者至今都在辛勤的更新,这是我选择这个程序的理由。首先这个 repo 的 Wiki 页面非常的详细,而且已经有志愿者将之全部翻译成了中文,所以就算你是一个编程小白都可以放心的上手。具体的使用方法在安装指南里已经写的很清楚了,这里就不多说了,这篇博客主要写写怎么把这个程序搞到云服务器上实现云挂卡。
部署到云服务器
首先说一点,假如你的云服务器在国内的话,可能由于网络的原因(你懂的,我现在不开 VPN 都没办法打开 Steam 的各种页面),你的程序在运行时会爆出各种各样的错误。所以不太推荐使用国内的服务器,当然你没其他选择的话还是可以试试的。我刚好有一个国外的 VPS ,专门就搞些有的没的,所以用来搞这事刚刚好。
首先,为了在 Linux 上部署 ASF,你需要照着安装指南的提示先安装好依赖的包,好吧 Linux 下的包管理确实对小白不太友好,不过作者还贴心的把每个包在不同发行版中可能的名字都写了出来,还是很人性化的。之后你还需要额外安装一个程序 screen ,这个程序我们之后会用到,它在不同发行版中应该都叫 screen 。
接下来你需要做的就是按照安装指南的指引成功运行起来 ASF ,像下图就是我的 ASF 已经成功开始刷游戏时长了,如果你是挂卡那么应该就在显示挂卡的有关信息。
然后需要做的就是让这个程序一直在后台运行了。这里推荐使用 screen 这个程序,这个程序可以建立起多个虚拟终端,并且可以随意的在这些终端中切换,使用这个程序的目的是我们可以把 ASF 运行在虚拟终端里,然后把这个虚拟终端“分离”,意思就是让这个虚拟终端在后台继续运行,你可以在之后的任意时间恢复这个虚拟终端到前台来。这样当你关闭当前的 shell 的时候,在另一个虚拟 shell 中运行的 ASF 一点也不受到影响。
第一步新建一个虚拟终端:
$ screen -S terminalName
此时不出意外的话你已经在新的虚拟终端中了,然后直接运行 ASF 即可。
待 ASF 成功挂卡后,将这个虚拟终端转入后台,使用 Ctrl + A + D 快捷键。这时候就回到了最开始的终端。你可以使用 screen -ls
来查看当前后台都有哪些虚拟终端。
也可以看一看 ASF 程序是否在正确的运行
最后,你可以安全的关闭当前的 shell ,ASF 程序不会因此就退出。你可以在任何时候使用 screen -r PID
来将对应的虚拟终端转到前台, PID
就是使用 screen -ls
命令里面显示的那个数字。
两步验证
根据安装指南的提示,要是一切顺利的话我们的程序就已经正常工作了。但好事往往都不是一蹴而就的对吧,我还遇到了一个小问题。
如果你的 Steam 账号用了手机令牌(两步验证),那在 ASF 运行起来之后它会提示你输入两步验证码,按照正常的逻辑 ASF 会和电脑一样记住登录有关的信息,这样你下次再登录得时候就不需要再次输入两步验证码了。但我的 ASF 运行起来后,每一次重新运行都需要我重新输入两步验证码,虽然不是啥大事,但程序嘛,越方便越好,所以还得想办法解决这个问题。
强大的 ASF 居然连这个问题都能解决,看这篇文章。ASF 提供了名为 2FA 的子模块,它可以帮你生成令牌,并且还有更多的功能例如自动确认交易等等。具体的步骤文章里同样说的非常详细,下面就来简单说一说。
首先你必须有一个可以成功生成令牌的软件,最常见的当然就是 Steam 官方 app,但 Github 上还有很多其他选择例如 SteamDesktopAuthenticator 和 WinAuth 。然后你需要把这些软件用到的 Steam 账户凭据导入 ASF 中,这样 ASF 才能根据这份凭据生成令牌以及帮你处理交易等等。大多数人应该还是用的 Steam 的 app ,这就有一个难题,你需要手机 root 了才能获得到这个凭据,因为这个凭据必须有 root 权限才能获取到,所以如果你做不到这点恐怕就不能继续往后走了,别的手机我不了解,但我用的小米要刷 root 的话得先刷开发版系统,现在 MIUI 刷开发版还得去社区申请,我记得小米以前可是开发版随便下随便刷的啊xd。总之你的安卓需要先 root ,下一步就是找一个 root 文件管理器,这里我用的是文章里推荐的文件浏览器根浏览器。然后你需要用这个 root 文件管理器获取到下面这个文件:/data/data/com.valvesoftware.android.steam.community/files/Steamguard-SteamID
,其中的 SteamID
是你的 64 位 ID,你可以把这个文件复制到你的普通目录里,然后再传到电脑上。在这里我还遇到了个小问题,我用的那个软件在复制文件的时候总是会报很奇怪的错,但我阴差阳错的发现把这个文件剪切到普通目录再复制回来就不会报错xd。复制到电脑后就根据文章中的提示将之改名为 BotName.maFile
,其中 BotName
是你的 ASF 机器人的名字,然后复制到 ASF 的 config
目录中。这样就大功告成了,正常情况下你的 ASF 再也不会问你要令牌了,因为它现在可以自己生成了。但这里还没完,现在 2AF 只能生成令牌但不能帮你确认交易等等,如果要这些更多的功能的话,你需要这个文件 /data/data/com.valvesoftware.android.steam.community/shared_prefs/steam.uuid.xml
中的 DeviceID
值,这个值在文件中以 android:
开头,然后 ASF 首次启动的时候会问你要 DevicdID
,你把这个值输入进去就好了,以后就再也不会问你了。这样一来就大功告成啦。
顺便一提,如果你被手机 root 难住了而想用我刚才提到的 SteamDesktopAuthenticator 和 WinAuth 的话,你可能还是走不通。首先 Steam 只允许一个账号同时存在一个令牌,也就是说你不能在手机令牌启用的情况下在这两个软件上新建一个新令牌,也就是只能把手机令牌导入这两个软件中,但不幸的是导入仍然需要上面那个 Steamguard-SteamID
文件,也就是还得 root ,所以可能不太行。但你也不能先把手机令牌解绑了,然后用这两个软件生成你的 Steam 账户的唯一令牌,因为你用了这个软件生成令牌后,以后就只能使用这个软件得到令牌了,而不能说一切都搞完后再把这个软件的令牌销毁用回 Steam 软件,这样那份令牌就会失效。我想应该没有人会为了这个功能去不用 Steam 自己的软件而用这个第三方软件吧,因为这两个软件的 Github 首页已经说了,这只是在你没有手机的时候的不得已而为之的选项而已,如果你有手机 Steam ,就绝对不要用这个软件。
OK,一切都介绍完啦,现在你可以把 ASF 一直运行着,它非常的智能,在你玩游戏的时候它会自动暂停,而在你玩完游戏后它又可以自动开始运行,也就是你再也不用管他啦。终于可以开始愉快的云挂卡/刷时长啦 (虽然不能像 s1mple 那么准,但我可以比他游戏时间长 ;> )