--:--
卡农
使用国际互联网体验更佳
Project: 【ASF 教程】2025 Steam 冬促版:从零新建机器人、游戏 ID 提取黑科技与全自动挂机配置

【ASF 教程】2025 Steam 冬促版:从零新建机器人、游戏 ID 提取黑科技与全自动挂机配置

前言: 本文记录了我在部署 ASF (ArchiSteamFarm) 时遇到的实际问题与最佳实践。 涵盖内容:新建机器人的必填项避坑、如何优雅地提取 Steam 游戏 ID 列表(含 JS 脚本)、以及利用 ASFEnhance 插件全自动薅冬促羊毛。


📅 第一部分:新建机器人 (Bot) 的避坑指南

新建一个 ASF 机器人看似简单,但很多人会卡在“验证码”和“必填项”上。

1. 必填的三大金刚

在 Web UI 新建机器人时,只需要关注这三项,其他留空即可:

  1. Name: 机器人的文件名(纯英文/数字,建议用 bot1steam_main)。
  2. SteamLogin: 登录 Steam 的账号名(注意:不是昵称)。
  3. SteamPassword: 登录密码。
  4. 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,说明挂机成功)

📝 总结

  1. 新建 ASF 机器人记得搞定 JSON 配置和 2FA 验证码。
  2. 利用 JS 脚本提取游戏 ID,只挂 32 个精品游戏,既美观又合规。
  3. ASFEnhance 插件配置好 AutoClaimItemBotNames,从此告别手动领贴纸。
  4. 善用 Docker 日志筛选,随时掌握机器人动态。

祝大家冬促愉快,挂卡丰收!🚀

NORMAL docs/【ASF 教程】2025 Steam 冬促版:从零新建机器人、游戏 ID 提取黑科技与全自动挂机配置.md 0%
```