【ASF 教程】2025 Steam 冬促版:从零新建机器人、游戏 ID 提取黑科技与全自动挂机配置
前言: 本文记录了我在部署 ASF (ArchiSteamFarm) 时遇到的实际问题与最佳实践。 涵盖内容:新建机器人的必填项避坑、如何优雅地提取 Steam 游戏 ID 列表(含 JS 脚本)、以及利用 ASFEnhance 插件全自动薅冬促羊毛。
📅 第一部分:新建机器人 (Bot) 的避坑指南
新建一个 ASF 机器人看似简单,但很多人会卡在“验证码”和“必填项”上。
1. 必填的三大金刚
在 Web UI 新建机器人时,只需要关注这三项,其他留空即可:
- Name: 机器人的文件名(纯英文/数字,建议用
bot1或steam_main)。 - SteamLogin: 登录 Steam 的账号名(注意:不是昵称)。
- SteamPassword: 登录密码。
- Enabled: 必须勾选(或设为
true)。
JSON 配置参考:
{
"Enabled": true,
"SteamLogin": "你的账号名",
"SteamPassword": "你的密码"
}
2. 搞定 Steam 令牌 (2FA)
新号启动必卡验证码。ASF 没有弹窗,需要在 命令控制台 (Command) 手动输入。
- 指令格式:
input [机器人名] [验证码] - 示例:
input bot1 R5D3X
提示:如果是邮箱验证,一定要手快!如果超时报错,输入
restart 机器人名重启后再试。
🎮 第二部分:挂时长黑科技——如何提取纯净的游戏 ID
机器人登录后如果不挂游戏(显示 We don't have anything to farm),是因为没有配置 GamesPlayedWhileIdle。手动查 ID 太慢,Steam 又限制同时挂机上限为 32 个。
这里提供一个浏览器控制台脚本,能一键提取账号下的游戏 ID,并生成 ASF 专用配置。
1. 提取脚本 (浏览器 F12 Console 运行)
登录 Steam 个人主页(游戏列表页),按 F12 打开控制台,粘贴以下代码:
// === ASF 游戏 ID 提取脚本 (全显版) ===
(function() {
console.log("🔍 正在扫描网页源代码...");
var html = document.documentElement.innerHTML;
var games = [];
// 尝试提取源码数据
var match = html.match(/var rgGames = (\[.*?\]);/);
if (match && match[1]) {
try {
games = JSON.parse(match[1]).map(g => ({
id: g.appid,
name: g.name,
hours: g.hours_forever ? parseFloat(g.hours_forever.replace(',', '')) : 0
}));
} catch (e) {}
}
// 如果源码提取失败,尝试 DOM 抓取
if (games.length === 0) {
var rows = document.querySelectorAll('.gameListRow');
rows.forEach(row => {
var id = row.id.replace('game_', '');
var name = row.querySelector('.gameListRowItemName')?.textContent.trim() || "Unknown";
if (id) games.push({ id: parseInt(id), name: name, hours: 0 });
});
}
if (games.length === 0) return console.error("❌ 未找到游戏,请刷新页面重试。");
// 打印表格供核对
console.table(games.map(g => ({ "ID": g.id, "游戏名": g.name })));
// 生成 ASF 代码
var allIDs = games.map(g => g.id);
console.log("\n🚀 === 全量 ID 配置代码 (纯数字) === 🚀");
console.log(`"GamesPlayedWhileIdle": ${JSON.stringify(allIDs)},`);
})();
2. 筛选策略
脚本会列出所有游戏。为了账号“牌面”,建议人工剔除掉奇怪的小游戏,保留 3A 大作和热门网游。
精选配置示例 (32 个热门游戏演示): (涵盖 CS2, 巫师3, HOI4, 群星, 2077 等)
"GamesPlayedWhileIdle": [
281990, 394360, 275850, 1158310, 1145360, 413150, 391540, 365670,
8500, 346110, 242760, 424840, 1504980, 349040, 730, 1085660,
1608450, 2149010, 407530, 582660, 49520, 2921380, 3032020, 2457890,
1025440, 1368870, 1659040, 2928340, 2071500, 624690, 610570, 489630
],
将这行代码填入机器人配置文件的 JSON 中即可。
❄️ 第三部分:冬促全自动薅羊毛 (ASFEnhance)
冬促期间有免费贴纸和卡牌,手动领太累。利用 ASFEnhance 插件可以实现全自动化。
1. 核心指令 (手动版)
- 投票 (拿卡牌):
WV(Winter Vote) - 领贴纸:
CI(Claim Item)
2. 全自动配置 (推荐)
修改 全局配置 (Global Config),找到 ASFEnhance 部分。
关键点:AutoClaimItemBotNames 必须填入你想自动领取的机器人名字,多个名字用英文逗号隔开。
"ASFEnhance": {
"EULA": true,
"Statistic": true,
"AutoClaimItemBotNames": "bot1,bot2",
"AutoClaimItemPeriod": 60
}
这样设置后,插件每 60 分钟会自动检查并领取所有免费物品,彻底解放双手。
🔍 第四部分:实用日志筛选技巧
在 Docker 环境下,如果想确认机器人是否真的在“干活”,直接看滚动的日志太乱。可以使用 grep 进行精准筛选。
- 只看某个机器人的活动:
docker logs asf --tail 50 | grep "你的机器人名字"(例如:查看 bot1 最近在干嘛) - 检查是否正在挂游戏:
docker logs asf --tail 100 | grep "你的机器人名字" | grep "Playing"(如果输出包含Playing selected GamesPlayedWhileIdle,说明挂机成功)
📝 总结
- 新建 ASF 机器人记得搞定 JSON 配置和 2FA 验证码。
- 利用 JS 脚本提取游戏 ID,只挂 32 个精品游戏,既美观又合规。
- ASFEnhance 插件配置好
AutoClaimItemBotNames,从此告别手动领贴纸。 - 善用 Docker 日志筛选,随时掌握机器人动态。
祝大家冬促愉快,挂卡丰收!🚀