热爱技术
专注分享

适合steam大佬:centos7下利用ASF V3和ASCF实现steam云挂卡

ArchiSteamFarm(ASF)是steam大佬们常用的挂卡软件,这个软件相当厉害,可以自动挂steam开游戏掉落卡牌。

ASF的github项目地址:https://github.com/JustArchi/ArchiSteamFarm

 ASF介绍:

1.此工具挂卡不需要开着steam客户端,牛逼的作者相当于用C#实现了一个内置的steam客户端;
2.由于第一个优点,这款挂卡特别适合魔法主机或者有多台电脑的人挂卡【比如公司的电脑等。】,程序开着就不用管了,挂着卡的steam账号可以正常玩游戏,当你玩游戏时这个工具会自动断开,你不玩以后该工具自动继续挂卡;
3.挂卡速度快,比idle master要快,至于为什么,请移步“https://github.com/JustArchi/ArchiSteamFarm/wiki/FAQ
”的第一个问题,英文好自己看,我就不翻译了,英文好的非计算机专业的可能也不一定懂。。反正涉及操作系统和steam本身客户端的一些问题。。
4.全平台,Windows/linux/osx,linux和osx要用mono运行;
5.有一些舒心的小功能,比如离线挂卡,不显示你挂卡的游戏信息等;
6.此工具可以同时挂多个steam账号,只需设置多个配置文件即可(根据steam的限制,一台机器可以同时挂100个左右)。也可以同时挂多个游戏,这个目前
是算法自己控制的,不能手动设置,即此工具会优先串行挂游戏时间超过2小时的游戏,挂完以后,同时挂游戏时间小于两小时的游戏让其游戏时间超过2小时。
7.此工具实现了一个模拟steam手机令牌的东西。

      以前刚接触ASF的时候,感觉这个东西真心强大,于是有空就开电脑挂卡。可是由于没有可以稳定24小时挂机的电脑,挂卡的效率并不高,200多张卡牌愣是挂了一个月。今天看github的时候,发现ASF支持linux,于是在云服务器上试验了下,还是比较顺利的,完美运行。

运行截图:

image.png
image.png
image.png

最后来一张自己的steam截图(大佬轻喷)

image.png

好了闲话不多说,直接开始主题吧。本次服务器为阿里云国内版,系统为centos7。

准备工具:xshell,winscp。附上xshell5永久不过期版:链接:https://pan.baidu.com/s/1P0JUQUjMrXM-5D4wNBhJiQ 密码:zjs5

一、环境搭建

虽然ASF支持linux,但实际上是个C#程序,需要微软的 .Net Core 2.0环境。(微软官方安装文档:https://www.microsoft.com/net/learn/get-started/linux/centos

1.添加Microsoft产品feed

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

2.添加yum安装源

sudo 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';

这两步运行完不会有任何提示,如果第三步找不到dotnet请检查上面的命令有没有复制全。

3.安装 .Net Core 2.0

yum -y update
yum -y install libunwind libicu
yum -y install dotnet-sdk-2.0.0

安装完成截图

image.png

这时候试一下 dotnet –vision 命令,如有回显版本即为安装完成。

 dotnet --version
2.0.0

二、下载安装ASCF(非国内服务器可跳过这一步)

ASCF项目链接:https://steamcn.com/t339641-1-1

由于国内steam社区被墙,打开会导致118等错误,而ASF需要通过steam社区读取你的卡牌状况,如果社区无法打开会导致ASF运行异常。幸亏某大神写出了steamcommunity 302工具,可以本地端口转发,解决steam社区被墙的问题,目前这个工具已经有linux版本 AnotherSteamCommunityFix,简称ASCF(作者命名还真是随意 – -!)

ASCF已经打包好了,可以直接下载运行,下载地址:https://github.com/zyfworks/AnotherSteamCommunityFix/releases centos可根据你的系统位数选择 linux_x86或者linux_64下载。

yum -y install wget && wget https://github.com/zyfworks/AnotherSteamCommunityFix/releases/download/1.2.2/ascf_v1.2.2_Linux_x64.zip

如果下载不了可以直接电脑上下载在用winscp传到你的服务器上。

运行ASCF:

unzip ascf_v1.2.2_Linux_x64.zip
chmod +x ascf
./ascf

程序运行成功图:

image.png

如果出现如下错误,是因为端口冲突,本程序需要使用80和443端口,请退出nginx等web程序。

image.png

三、下载安装ASF

1.下载ASF

cd ~
wget https://github.com/JustArchi/ArchiSteamFarm/releases/download/3.1.1.8/ASF-linux-x64.zip

如果无法下载请用电脑下载到本地然后使用winscp传到你的服务器的/root文件夹,下载地址:https://github.com/JustArchi/ArchiSteamFarm/releases 同样centos请选择linux_x64版本。

2.解压ASF

mkdir asf
mv ASF-linux-x64.zip asf/ASF-linux-x64.zip
yum -y install zip
cd asf
unzip ASF-linux-x64.zip

解压完成:

image.png

四、配置ASF

配置文件生成地址:https://justarchinet.github.io/ASF-WebConfigGenerator/

如图,简单挂卡只需要填入配置文件名称,steam账号和登录密码。最后别忘了把enable勾上。

image.png

完了把配置文件下载到本地电脑然后上传到asf的config文件夹即可。如果有多个号可以填写多个配置文件都放到asf文件夹中,支持同时挂多个账号。

(关于高级部分如自动合卡暂时不讨论,有兴趣可以看官方WIKI:https://github.com/JustArchi/ArchiSteamFarm/wiki

五、运行ASF

为了能够让asf在后台运行,需要使用tmux

安装tmux(centos6无法使用yum安装):

yum -y install tmux

创建一个新的tmux窗口:

tmux new -s asf

先运行ascf

./ascf

然后按下ctrl+b,松开后按下%,切分一个窗口:

image.png

接着运行ASF:

cd asf
chmod +x ArchiSteamFarm
./ArchiSteamFarm

image.png

如果需要在两个窗口之间切换,按下ctrl+b 松开后按方向键即可。退出请按下ctrl+b松开后按下d(不会打断后台运行)。如需要重新进入,使用命令 tmux a -t asf即可。

六、后记

用了一段时间的云挂卡,最直观的感觉就是,这个ASF真心强大。大家如果有需要可以自己搭建看看,这个教程只在阿里云和腾讯云上的centos7上试过,其他系统暂时没有试。如果搭建不成功请仔细看看教程。只要你跟着教程不漏看不瞎来一定是能成功的,祝大家都能用云挂卡挂到自己满意的卡,steam等级嗖嗖嗖往上升级。

赞(7) 打赏
未经允许不得转载:小伟博客 » 适合steam大佬:centos7下利用ASF V3和ASCF实现steam云挂卡

评论 10

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    配置文件生成器的网页链接不能用了…梯子也上不去

    QQ游客5年前 (2018-12-18)回复
  2. #2

    2.解压ASF
    第三步 应该安装这个吧
    yum install -y unzip zip

    啦啦啦5年前 (2018-12-24)回复
    • zip就行了 会自动安装unzip

      misery5年前 (2019-02-15)回复
  3. #3

    请问一下怎么改成中文啊?

    E-larex5年前 (2019-02-27)回复
      • -! 过去这么久了我都忘了。 你看下github的WIKI
      misery5年前 (2019-04-11)回复
  4. #4

    求问,我在安装了宝塔面包的centos上运行asf,似乎不能正常连接,运行会这样:
    2020-07-27 17:26:56|ArchiSteamFarm-13519|INFO|ASF|InitASF() ArchiSteamFarm V4.2.3.6 (linux-x64/e77840ff-7f00-483f-bfc2-deff2dc47f46 | Linux 3.10.0-1062.18.1.el7.x86_64 #1 SMP Tue Mar 17 23:49:17 UTC 2020)
    2020-07-27 17:26:56|ArchiSteamFarm-13519|INFO|ASF|InitGlobalDatabaseAndServices() It looks like it’s your first launch of the program, welcome!
    2020-07-27 17:27:06|ArchiSteamFarm-13519|WARN|ASF|InitGlobalDatabaseAndServices() Please review our privacy policy section on the wiki if you’re concerned about what ASF is in fact doing!
    2020-07-27 17:27:11|ArchiSteamFarm-13519|INFO|ASF|InitPlugins() Initializing Plugins…
    2020-07-27 17:27:11|ArchiSteamFarm-13519|INFO|ASF|InitPlugins() Loading SteamTokenDumperPlugin V4.2.3.6…
    2020-07-27 17:27:11|ArchiSteamFarm-13519|INFO|ASF|InitPlugins() SteamTokenDumperPlugin has been loaded successfully!
    2020-07-27 17:27:11|ArchiSteamFarm-13519|INFO|ASF|UpdateAndRestart() ASF will automatically check for new versions every 1 day.
    2020-07-27 17:27:11|ArchiSteamFarm-13519|INFO|ASF|Update() Checking for new version…
    2020-07-27 17:27:15|ArchiSteamFarm-13519|WARN|ASF|UrlGetToJsonObject() Request failed after 5 attempts!
    2020-07-27 17:27:15|ArchiSteamFarm-13519|DEBUG|ASF|UrlGetToJsonObject() Request failing: https://api.github.com/repos/JustArchiNET/ArchiSteamFarm/releases/latest
    2020-07-27 17:27:15|ArchiSteamFarm-13519|WARN|ASF|Update() Could not check latest version!
    2020-07-27 17:27:15|ArchiSteamFarm-13519|INFO|ASF|OnASFInit() SteamTokenDumperPlugin is currently disabled. If you’d like to help SteamDB in data submission, check out our wiki for SteamTokenDumperPlugin.
    2020-07-27 17:27:15|ArchiSteamFarm-13519|WARN|ASF|StartInteractiveConsole() Interactive console is not available due to missing SteamOwnerID config property.
    2020-07-27 17:27:15|ArchiSteamFarm-13519|INFO|ASF|RegisterBots() Initializing SteamDirectory…
    2020-07-27 17:27:15|ArchiSteamFarm-13519|WARN|ASF|RegisterBots() System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
    —> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
    at System.Net.Security.SslStream.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, ExceptionDispatchInfo exception)
    at System.Net.Security.SslStream.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslStream.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslStream.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslStream.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslStream.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslStream.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslStream.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslStream.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslStream.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslStream.PartialFrameCallback(AsyncProtocolRequest asyncRequest)
    — End of stack trace from previous location where exception was thrown —
    at System.Net.Security.SslStream.ThrowIfExceptional()
    at System.Net.Security.SslStream.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)
    at System.Net.Security.SslStream.EndProcessAuthentication(IAsyncResult result)
    at System.Net.Security.SslStream.EndAuthenticateAsClient(IAsyncResult asyncResult)
    at System.Net.Security.SslStream.c.b__65_1(IAsyncResult iar)
    at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
    — End of stack trace from previous location where exception was thrown —
    at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
    — End of inner exception stack trace —
    at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
    at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken)
    at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
    at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
    at SteamKit2.WebAPI.AsyncInterface.CallAsync(HttpMethod method, String func, Int32 version, Dictionary`2 args)
    at SteamKit2.SteamDirectory.LoadCoreAsync(SteamConfiguration configuration, Nullable`1 maxNumServers, CancellationToken cancellationToken)
    at ArchiSteamFarm.ASF.RegisterBots()
    2020-07-27 17:27:15|ArchiSteamFarm-13519|WARN|ASF|RegisterBots() Could not initialize SteamDirectory: connecting with Steam Network might take much longer than usual!
    2020-07-27 17:27:21|ArchiSteamFarm-13519|INFO|test|Start() Starting…
    2020-07-27 17:27:21|ArchiSteamFarm-13519|INFO|test|Connect() Connecting…
    2020-07-27 17:27:21|ArchiSteamFarm-13519|INFO|test|OnDisconnected() Disconnected from Steam!
    2020-07-27 17:27:21|ArchiSteamFarm-13519|INFO|test|OnDisconnected() Reconnecting…
    2020-07-27 17:27:31|ArchiSteamFarm-13519|INFO|test|Connect() Connecting…
    2020-07-27 17:27:31|ArchiSteamFarm-13519|INFO|test|OnDisconnected() Disconnected from Steam!
    2020-07-27 17:27:31|ArchiSteamFarm-13519|INFO|test|OnDisconnected() Reconnecting…
    2020-07-27 17:27:41|ArchiSteamFarm-13519|INFO|test|Connect() Connecting…
    2020-07-27 17:27:41|ArchiSteamFarm-13519|INFO|test|OnDisconnected() Disconnected from Steam!
    2020-07-27 17:27:41|ArchiSteamFarm-13519|INFO|test|OnDisconnected() Reconnecting…
    2020-07-27 17:27:51|ArchiSteamFarm-13519|INFO|test|Connect() Connecting…
    2020-07-27 17:27:51|ArchiSteamFarm-13519|INFO|test|OnDisconnected() Disconnected from Steam!
    2020-07-27 17:27:51|ArchiSteamFarm-13519|INFO|test|OnDisconnected() Reconnecting…
    2020-07-27 17:28:01|ArchiSteamFarm-13519|INFO|test|Connect() Connecting…
    2020-07-27 17:28:01|ArchiSteamFarm-13519|INFO|test|OnDisconnected() Disconnected from Steam!
    2020-07-27 17:28:01|ArchiSteamFarm-13519|INFO|test|OnDisconnected() Reconnecting…
    2020-07-27 17:28:11|ArchiSteamFarm-13519|INFO|test|Connect() Connecting…
    2020-07-27 17:28:11|ArchiSteamFarm-13519|INFO|test|OnDisconnected() Disconnected from Steam!
    2020-07-27 17:28:11|ArchiSteamFarm-13519|INFO|test|OnDisconnected() Reconnecting…

    Google4年前 (2020-07-27)回复
    • 你这么大一串文字真把我吓坏了

      misery4年前 (2020-08-04)回复
  5. #5

    rm -f /etc/init.d/bt && rm -rf /www/server/panel

    wzqvip3年前 (2021-07-28)回复
  6. #6

    报错求助

    pi@raspbian:~/桌面/Files/AnotherSteamCommunityFix$ sudo ./ascf
    ~ 欢迎使用AnotherSteamCommunityFix v1.2.2 ~
    Author: Makazeu [ Steam: Makazeu | Weibo: @Makazeu ]

    main.go:46: 正在获取IP地址,请稍候~
    lookup.go:26: 使用OpenDNS_2-fs解析域名成功,耗时: 85.291509ms
    main.go:53: 域名解析成功: 223.119.219.243

    程序已启动,请不要关闭该窗口!

    对于Mac和Linux用户,使用nohup命令运行程序可使其在后台运行。
    └─ 在终端中进入程序所在目录后执行 “nohup sudo ./ascf &”即可。

    程序发生错误,已退出!
    httpredirect.go:20: listen tcp4 :80: bind: address already in use

    wzqvip3年前 (2021-07-28)回复

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏