总篇

本文过长,请善用ctrl+F组合键搜索本文你想要的东西。
本文分为初级与高级教程。
steam作为一个目前依然是pc平台上的最大游戏平台,其游戏数量目前最多(pc平台),游戏大作如果想在pc上发行,steam也会是厂商的首选。
作为一个游戏平台,steam的社交也是很不错的,他推出的游戏卡牌也让一堆人为其买单,和卡,卖卡成为很多steamer津津乐道的事情。
即使现在卡牌政策变得十分严厉,但玩家买的游戏很多依旧是有卡牌的,但可能并没有时间玩,但依旧想让卡牌“掉出来”这时候就要用到其他工具,手机上有idle,pc上有samidleasf其中asf作为功能上最全,深受大多数玩家的喜爱。
手机上的idle:如果有闲置的手机,比较方便,但注意连接的网络要可以打开社区。
pc上的idle:原版年久失修,网上有大佬的魔改版,只能windows上用且需要steam客户端配合,其他平台没有支持,需要当前网络可以打开社区。
sam:全名为SteamAchievementManager 主要功能是解锁成就,因为其可以模拟游戏进程所以有挂卡的功能,但不自动,完全要用手动

asf(ArchiSteamFarm)

作为功能最多的steam周边软件,它不仅可以挂卡,还可以挂游戏时长,批量激活steam cdkey等,而且其摆脱了steam客户端,也可以在linux主机里部署。

linux篇

安装

安装.NET Core 依赖项

yum -y install dotnet-sdk-2.1        #centos
apt-get install dotnet-sdk-2.1        #debian

安装具体步骤移步为centos与debian安装.NET Corecentos用ssh软件连接主机,以root用户登录。#导入源 rpm -Uvh https://packages…

下载最新版的程序
官方github下载地址https://github.com/JustArchi/ArchiSteamFarm/releases/latest
下载ASF-linux-x64.zip或者ASF-linux-arm.zip根据你的实际情况下载。
解压到一个你选择的地方,将该文件夹上传至vps中。
cd到asf目录下执行以下

chmod +x ArchiSteamFarm

基础配置(单账号挂卡)

打开配置页面https://justarchinet.github.io/ASF-WebConfigGenerator/#/
点击机器人(bot)

然后下载。
将下载的文件放入asf文件夹中的config中。

高阶配置(主从账号,组,开启ipc)

设定主账号:在配置页面的ASF中的SteamOwnerID填入你的主账号的64位steamid(如不知道登录https://steamrepcn.com/ 即可知道你的64位steamid)。
设定从账号:在该账号的机器人中的高级设置中权限一栏中SteamUserPermissions填入主账号64位steamid并选为Master。如下图示例

ASF程序改为中文:在配置页面的ASF中,点击切换高级设置,在CurrentCulture中填入zh-CN
开启ipc:在配置页面的ASF中,点击切换高级设置,在远程访问栏目如下设置。

这个只能在本机访问(127.0.0.1:1242),如果你想远程访问(通过 ip:1242) 需要以下内容。
新建IPC.config并将其放入asf程序文件夹中的config中。IPC.config文件中的内容如下。

{
    "Kestrel": {
        "Endpoints": {
            "HTTP": {
                "Url": "http://ip:1242"
            }
        }
    }
}

注意:如果配置没有错误,但访问不了,请开启1242端口允许访问。

启用组管理:首先你要新建一个属于你自己的组,并将你准备好的账号加入该组,在每个从账号中的SteamMasterClanID中填入该组的id号。
该id号的查找方法为:
在该组的链接后面加上

/memberslistxml/?xml=1

然后查找groupID64,在该标签中即为该id。

运行

因为当你断开ssh连接后,asf会停止运行,所以我们要使用screen这个软件。

yum -y install screen        #centos
apt -y install screen        #debian

安装后,创建asf窗口(其中asf可以改为你想的名字)

screen -S asf

cd到asf程序的文件夹
为asf赋权

chmod +x ArchiSteamFarm

运行asf

./ArchiSteamFarm

使asf后台运行,按住键盘组合键CTRL+A+D
如果想恢复窗口(其中asf为窗口名)

screen -r asf

启用f2a令牌

这个是代替手机令牌,因为当你如果拥有很多账号的时候,可能因为一些原因,每次重启软件,每个账号都要求输入验证码,所以导入令牌是很方便的事情(注意账号的安全,使用的vps不要默认ssh端口,且不要用弱密码,当你启用ipc时,ipc密码也不要使用弱密码)。
手机导入令牌相对麻烦,且安卓需要root,ios需要第三方工具,所以,我的建议是使用pc版的令牌。
你要先将账号绑定一个手机号。
这里我使用的是WinAuth这个软件是一个聚合类的f2a软件,除了steam还有诸如微软,Google,facebook令牌。
官方地址:https://winauth.github.io/winauth/index.html
下载后,打开软件,点击add,看到steam图标,并点击。并如下图填入信息。

然后新建一个文件,命名为你想启用f2a账号所对应的机器人的名称.maFile例如01.maFile不是01.maFile.txt
该文件的内容为:
右键单击在WinAuth创建的令牌,选择Show SteamGuard and Recovery Code

将红色方框的内容全部复制到该文件中。
将该.maFile文件放入asf程序文件夹中的config中,并重启asf。
你会发现如下图示例

将下图位置的id全部复制粘贴到asf程序要求的位置。

自此,f2a开启完毕。

windows篇

下载最新版的程序
官方github下载地址https://github.com/JustArchi/ArchiSteamFarm/releases/latest
下载ASF-win-x64.zip
解压到一个你选择的地方。
配置文件方面与linux篇完全一致。

其他配置参数

SteamParentalCode:家长控制码(一般情况下忽略)
BotBehaviour:
RejectInvalidFriendInvites:小号帐户会自动拒绝来自非UserPermission Master的好友邀请。
RejectInvalidTrades:小号帐户会自动拒绝不符合TradingPreferences已设定条件的交易报价,而不是忽略等待处理。
RejectInvalidGroupInvites:小号帐户会自动拒绝非来自SteamMasterClanID的群组的邀请。
AcceptGifts:是否同意接收礼物。
SteamTradeToken:交易链接(主账号与小号不是好友时需要填写)以下连接中,token后即为本参数。
http://steamcommunity.com/id/me/tradeoffers/privacy
TradingPreferences
None:只接受来自SteamMasterID和!loot命令的交易报价
AcceptDonations:若我们不损失任何东西则接受交易报价
SteamTradeMatcher:使用类似SteamTradeMatcher换卡网的规则
MatchEverything:需设置SteamTradeMatcher,接受包括不等价的报价
DontAcceptBotTrades:不自动接受!loot命令
LootableTypes:指定!loot指令可以拿取哪些物品。(MatchableTypes与TransferableTypes为其他的交易指定类型,一般忽视)
OnlineStatus:登录状态选择,默认即可,如果不想让其他人看见,选择离线即可。
IdleRefundableGames:是否为还能退款的游戏挂卡(政策原因,当steam认为你游戏时间大于两小时就不能通常退款,asf挂卡就是“模拟游戏运行”)。
GamesPlayedWhileIdle:当不在挂卡的时候,自动挂某些游戏的时长到达装逼的效果(需要填写游戏id,经过我的实际测试,某些游戏,视频大包id也能挂)。
CustomGamePlayedWhileFarming:当挂卡时显示正在玩非steam游戏
CustomGamePlayedWhileIdle:当不在挂卡的时候显示正在玩非steam游戏。(与GamesPlayedWhileIdle不会发生冲突)

asf指令

#源地址 https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Commands-zh-CN
#复制地址 https://steamcn.com/t343050-1-1
!2fa <Bots> ———为指定bot生成2FA临时凭证
!2fano <Bots> ——否决指定bot所有的验证请求
!2faoff <Bots> ——关闭指定bot的2FA功能
!2faok <Bots> ——接受指定bot所有的验证请求
!addlicense <Bots> <appID1,appID2...> ——使指定bot激活指定ID的游戏(仅限于免费游戏)!addlicense 440,570
!bl <Bots> ———————————列出指定bot交易模块中的黑名单用户
!bladd <Bots> <SteamIDs64> ——为指定bot的黑名单增加用户
!blrm <Bots> <SteamIDs64> ——为指定bot的黑名单删除用户
!exit —————退出ASF
!farm —————重启当前bot的挂卡模块
!farm <Bots> ——重启指定bot的挂卡模块
!help ——————弹出帮助信息(链接到wiki指令页面)
!input <Bots> <Type> <Value> ——给予指定bot输入类型,Headless模式下工作
!input Type:DeviceID,Login,Password,SteamGuard,SteamParentalPIN,TwoFactorAuthentication
!ib <Bots> ————————列出指定Bot黑名单中的apps
!ibadd <Bots> <AppIDs> ——为指定Bot的黑名单中增加apps
!ibrm <Bots> <AppIDs> ——为指定Bot的黑名单删除apps
!iq <Bots> ————————列出指定Bot的优先队列
!iqadd <Bots> <AppIDs> ——为指定Bot的优先队列增加apps
!iqrm <Bots> <AppIDs> ———为指定Bot的优先队列删除apps
!leave ————让bot离开当前的群组聊天。该指令只在群组聊天中生效。
!loot <Bots> ——将指定bot所有Steam物品交易给SteamMasterID
!lootall —————将已启动bot所有Steam物品交易给SteamMasterID
!nickname <Bots> <Nickname> ————改变指定bot的昵称
!owns <Bots> <appID,gameName...> ——检查当前bot是否已经拥有游戏,同!oa(指定ID,游戏名,部分游戏名)!owns 440,570,!owns 440,dota,!owns roach
!ownsall ——————检查所有bot是否已经拥有指定ID的游戏
!password <Bots> ——显示指定bot加密后的密码(在使用PasswordFormat时)
!pause <Bots> ————永久暂停指定bot,直至重启或手动恢复,使用!resume恢复
!pause~ <Bots> ————暂时暂停指定bot,自动恢复
!play <Bots> <appID1,appID2,...> ——切换至手动挂卡,让指定bot启动指定ID的游戏。使用!resume恢复自动
!redeem <Bots> <key1,key2,...> ———指定bot激活给予的全部密钥,同!r
!redeem^ <Bots> <key1,key2,...> ———指定bot激活给予的全部密钥,不转发,同!r^
!redeem^ <Bots> <Modes> <Keys> ———使指定bot以指定模式激活key
!redeem^ Modes:FD=分发,FF=转发,FKMG=补缺,SD=不分发,SF=不转发,SI=舍己 ,SKMG=不补缺 ,V=验正跳废
!rejoinchat <Bots> ——强制指定bot重新加入群聊
!restart ———————重启ASF进程
!resume <Bots> ——恢复指定bot的!pause暂停和!play手动挂卡
!start <Bots> ———启动指定的bot
!startall —————启动所有bot
!status <Bots> ——输出指定bot的状态,同!sa
!statusall ————输出所有bot以及ASF本身的状态
!stop <Bots> ——停止指定bot
!transfer <Bots> <Modes> <Bots> ——使指定bot发送某类交易至指定bot
!transfer Modes:A=全部,BG=背景,BO=卡包,C=卡,E=表情,F=闪卡,G=宝珠,U=其他
!unpack <Bots> ——将所有补充包存储在指定Bot的库存
!update —————检查在GitHub的更新(默认每24小时进行一次)
!version ————显示当前版本信息

转自#https://maofun.com/775.html

在服务器上利用Docker搭建ASF

为什么用Docker版?

因为Docker版本,不用装screen,管理起来也更方便。

ASF项目地址

搭建好基础

  • 安装Docker

#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

安装Portainer能使用可视化界面管理,更加方便简单。当然可以不安装,并没有影响

  • 拉取Portainer

docker pull portainer/portainer

  • 启动Portainer

docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /path/on/host/data:/data portainer/portainer

构建ASF

  • 拉取ASF镜像

docker pull justarchi/archisteamfarm

这里默认标签是latest,对于一般的x86 x64平台都是可用的,但是如果是树莓派等arm架构的设备则需要相应的标签镜像,比如arm-latest
具体的可以在官方的镜像仓库查看。

  • 启动ASF

docker run -it --name asf justarchi/archisteamfarm

但一般不用这个极为简单的命令,为了更自定义化,我们一般会将ASF的配置文件的路径映射到宿主机,这样修改起来也比较方便。
假设想要映射出来的目录为/home/asf,则需要新建目录:

mkdir -p /home/asf

当然不提前建也可以,映射的时候也会自动创建,但是我们可以提前建好,并将配置文件提前放进去,等下启动就好了。
如果是自己上传,那么得给改文件夹可写权限:

chmod 777 /home/asf

  • 账号配置

配置文件有三个ASF.json bot.json IPC.config

1.ASF.json

{
  "IPC": true, #开启IPC,即网页版管理
  "IPCPassword": "password", #IPC管理密码
  "s_SteamOwnerID": "" #控制号的64位id,即发送命令的账号
}

2.bot.json

{
  "SteamLogin": "id", #steam账号
  "SteamPassword": "password", #steam账号密码
  "Enabled": true #是否开启挂卡
}

3.IPC.config

{
    "Kestrel": {
        "Endpoints": {
            "HTTP": {
                "Url": "http://*:1242" #该端口可自定义,但得与docker映射出去的端口一致
            }
        }
    }
}

具体的可以使用在线配置文件生成器

  • 上传配置文件

将上边的三个文件上传到那个映射文件夹就可以了。
当然,如果你使用的工具不具备上传的能力,也可以用vim新建这三个文件,不过得首先安装vim

#Centos
yum update -y && yum install vim -y
#Debian & Ubuntu
apt-get update -y && apt-get install vim -y

示例:
新建ASF.json
1.vim ASF.json(这里是进入目录后的操作,即cd /home/asf,否则直接vim /home/asf/ASF.json
2.输入i
3.粘贴or输入
4.Esc
5.输入:wq回车

运行ASF

  • 真正的运行asf

docker run -it -p 1242:1242 -v /home/asf:/app/config --name asf justarchi/archisteamfarm

这样会直接进入容器,然后会让你输入二次验证码,这样程序就跑起来了,这时就可以访问http://ip:1242访问了。
最后记得退出容器,使用命令exit或者Ctrl+P+Q(推荐,这样不会关掉容器)。

进入容器:

docker attach 容器ID
or
docker exec -it 容器ID /bin/bash 

#https://www.nerocats.com/archives/497/

Last modification:June 5, 2020
如果觉得我的文章对你有用,请随意赞赏