ArchiSteamFarm(以下简称 ASF)是基于 SteamKit2 制作的多账户模拟运行工具。基于 ASF 可以实现全自动挂卡、完成节日活动、命令行激活、交易 BOT 等功能。将 ASF 托管在云服务器中即可实现基于 ASF 的云挂卡功能。
首先在justarchinet.github.io/ASF-WebConfigGenerator生成 ASF 运行所需的配置文件,分为全局配置文件ASF.JSON
和 BOT 配置文件BOTNAME.JSON
。
请注意:**justarchinet.github.io/ASF-WebConfigGenerator
**并不会为您储存任何信息,该程序甚至可以脱机运行
ASF.JSON
的生成结构如下,此处主要配置 ASF 的运行行为,和管理员账户用于通过聊天窗口或 IPC 执行相应指令。
{
"AutoRestart": true,
"Blacklist": [],
"CommandPrefix": "!",
"ConfirmationsLimiterDelay": 10,
"ConnectionTimeout": 90,
"CurrentCulture": null,
"Debug": false,
"FarmingDelay": 15,
"GiftsLimiterDelay": 1,
"Headless": false,
"IdleFarmingPeriod": 8,
"InventoryLimiterDelay": 3,
"IPC": false,
"IPCPassword": null,
"LoginLimiterDelay": 10,
"MaxFarmingTime": 10,
"MaxTradeHoldDuration": 15,
"OptimizationMode": 0,
"Statistics": true,
"SteamMessagePrefix": "/me ",
"SteamOwnerID": 0,
"SteamProtocols": 7,
"UpdateChannel": 1,
"UpdatePeriod": 24,
"WebLimiterDelay": 300,
"WebProxy": null,
"WebProxyPassword": null,
"WebProxyUsername": null
}
BOTNAME.JSON
的配置在 ASF 运行中是相互独立的,如果你有多个账户请分别为它们设置。
{
"AcceptGifts": false,
"AutoSteamSaleEvent": false,
"BotBehaviour": 0,
"CustomGamePlayedWhileFarming": null,
"CustomGamePlayedWhileIdle": null,
"Enabled": false,
"FarmingOrders": [],
"GamesPlayedWhileIdle": [],
"HoursUntilCardDrops": 3,
"IdlePriorityQueueOnly": false,
"IdleRefundableGames": true,
"LootableTypes": [1, 3, 5],
"MatchableTypes": [5],
"OnlineStatus": 1,
"PasswordFormat": 0,
"Paused": false,
"RedeemingPreferences": 0,
"SendOnFarmingFinished": false,
"SendTradePeriod": 0,
"ShutdownOnFarmingFinished": false,
"SteamLogin": null,
"SteamMasterClanID": 0,
"SteamParentalCode": null,
"SteamPassword": null,
"SteamTradeToken": null,
"SteamUserPermissions": {},
"TradingPreferences": 0,
"TransferableTypes": [1, 3, 5],
"UseLoginKeys": true
}
由于 ASF 3.0 后更新了对 Linux 运行的支持,所以新版本的 ASF 将不需要单独配置.NET Core 依赖,请直接下载 ASF 最新版并直接运行。如果有特殊需要,可以参考内容 1 对于.NET Core 的依赖配置。
根据需求在命令行使用apt-get install
安装以下依赖包
libcurl(libcurl4、libcurl3)
libicu(您的发行版上的最新版,例如 libicu60)
libkrb5-3(krb5-libs)
liblttng-ust0(lttng-ust)
libssl(libssl1.1、openssl-libs、您的发行版中最新的 1.1.X 版本)
zlib1g(zlib)
直接在ASF 发布页面找到适合当前操作系统的 ASF 版本并下载 zip 包。
使用unzip
命令解压下载的 ASF.zip 此时得到的目录树如下
\ASF (放置您所有与 ASF 相关的东西)
├── ASF shortcut.lnk (ASF 的快捷方式,可选)
├── Config shortcut.lnk (配置的快捷方式,可选)
├── Commands.txt (您记录的一些命令,可选)
├── MyExtraScript.bat (一些您使用的相关脚本,可选)
├── ... (总之这里是您自己存放的一些与 ASF 有关的东西,都是可选的)
└── Core (ASF 本身使用的文件夹,解压 ASF 安装包的地方)
├── ArchiSteamFarm.dll
├── config
└── (...)
在 ASF 目录中为 ArchiSteamFarm 程序赋权,在命令行输入sudo chmod +x ArchiSteamFarm
即可。
将第一步在justarchinet.github.io/ASF-WebConfigGenerator中生成的ASF.JSON
和BOT.JSON
复制到 ASF 目录中的config
文件夹中。
在 ASF 目录中使用命令行输入./ArchiSteamFarm
启动 ASF,查看控制台输出,如果账户在每次登入时都需要输入二次验证即可使用 Screen 方式将 ASF 进程挂载于云端,但这种方式效率低下,所以不做推荐。
在 ASF 目录中新建 Screen 会话窗口并运行 ASF 程序即可,具体的 Screen 命令可以参考以下
$ sudo apt-get install screen #安装Screen
$ screen -S <name> #创建一个Screen窗口
$ screen -ls #列出所有活动的Screen窗口
$ screen -r <id> #恢复指定id的会话
$ kill -9 <id> #结束指定id的进程
在 Screen 中配置完成后使用LCTRL+A+D
分离会话,此时可安全退出。
使用 PM2 运行可以参考Pm2 作为进程辅助管理器的简单使用 ,推荐将开启二次验证账户的验证密钥导入到 ASF 中使用(PM2 运行需要 ASF 已配置相应账户的 2FA)。
ASF-ui 是 ASF 较为友好的 web 交互平台,通过 IPC 进行通讯,可以在 web 页面管理和查看 ASF 的运行。
修改ASF.JSON
中的 IPC 项为 true
"IPC": true,
运行 ASF 后浏览器打开LocalHost:1242
即可访问 ASF 控制台。
由于控制台可直接执行命令行指令,放置于服务器中会将控制台暴漏于外网中,所以推荐将 ASF-ui 放置于本地环境中管理,或在 IPC Password 条目中设置高强度密码。
首先需要 Android 设备已 root,使用具有 root 权限的资源管理器在/data/data
文件夹中找到com.valvesoftware.android.steam.community
,将其导出备用。
将com.valvesoftware.android.steam.community
文件夹中的files/Steamguard-SteamID
改名为BotName.maFile
(需要与开启 2FA 的账户配置文件名相同),复制到 ASF 目录中的config
文件夹中,运行 ASF 控制台输出如下:
[*] INFO: ImportAuthenticator() <1> 正在将 .maFile 转换为 ASF 格式……
<1> 请输入您的设备 ID (包括"android:"):
此时在com.valvesoftware.android.steam.community
文件夹中找到shared_prefs/steam.uuid.xml
打开后查找DeviceID
键值复制在 ASF 控制台中即可完成导入(这个值应该在 XML 标签中,以 android: 开头)
[*] INFO: ImportAuthenticator() <1> 成功导入手机验证器!
注意:如果在输入DeviceID
时出错,就会获得一个残疾的 2FA 功能即验证令牌正常,但无法接受交易确认,此时可以将config
中的BOT.db
文件删除,重复上述导入操作即可。
自己看
{
"shared_secret": "STRING",
"identity_secret": "STRING",
"device_id": "STRING"
}
命令 | 权限 | 说明 |
---|---|---|
2fa | Master | 为指定机器人生成临时的 两步验证 令牌 |
2fano | Master | 为指定机器人拒绝所有等待操作的 两步验证 交易确认 |
2faok | Master | 为指定机器人接受所有等待操作的 两步验证 交易确认 |
addlicense | Operator | 为指定机器人激活给定的 Licenses |
balance | Master | 显示指定机器人的 Steam 钱包余额 |
level | Master | 显示指定机器人的 Steam 帐户等级 |
redeem | Operator | 为指定机器人激活给定的游戏序列号或钱包充值码 |
r | 同 redeem | 同 redeem |
stats | Owner | 显示进程统计信息,例如托管内存用量 |
status | FamilySharing | 显示指定机器人的状态 |
sa | 同 status | status |