介紹
閑來無事悉患,想把steam上的卡都給掛出來肩钠,想著剛好手里有閑置的騰訊云服務器碾褂,不過由于是Linux系統(tǒng)的兽间,所以經過一番百度決定使用ArchiSteamFarm來作為部署在服務器上的掛卡工具
為了吸引大家的關注,先說這個掛卡工具的優(yōu)點吧:
1.此工具掛卡不需要開著steam客戶端正塌,牛逼的作者相當于用C#實現(xiàn)了一個內置的steam客戶端嘀略;
2.由于第一個優(yōu)點,這款掛卡特別適合魔法主機或者有多臺電腦的人掛卡【比如公司的電腦等乓诽。帜羊。】鸠天,程序開著就不用管了讼育,掛著卡的steam賬號可以正常玩游戲,當你玩游戲時這個工具會自動斷開,你不玩以后該工具自動繼續(xù)掛卡奶段;
3.掛卡速度快饥瓷,比idle master要快,至于為什么痹籍,請移步“https://github.com/JustArchi/ArchiSteamFarm/wiki/FAQ
”的第一個問題呢铆,英文好自己看,我就不翻譯了蹲缠,英文好的非計算機專業(yè)的可能也不一定懂棺克。。反正涉及操作系統(tǒng)和steam本身客戶端的一些問題线定。娜谊。
4.全平臺,Windows/linux/osx斤讥,linux和osx要用mono運行因俐;
5.有一些舒心的小功能,比如離線掛卡周偎,不顯示你掛卡的游戲信息等抹剩;
6.此工具可以同時掛多個steam賬號,只需設置多個配置文件即可(根據steam的限制蓉坎,一臺機器可以同時掛100個左右)澳眷。也可以同時掛多個游戲,這個目前
是算法自己控制的蛉艾,不能手動設置钳踊,即此工具會優(yōu)先串行掛游戲時間超過2小時的游戲,掛完以后勿侯,同時掛游戲時間小于兩小時的游戲讓其游戲時間超過2小時拓瞪。
7.此工具實現(xiàn)了一個模擬steam手機令牌的東西【對于掛卡來說我沒看出來有什么用。助琐。
雖然網上關于在服務器上部署ASF的教程還蠻多的祭埂,但大部分都是Windows界面化的部署,而有關于Centos環(huán)境的部署少而且比較雜亂兵钮,所以整理此篇隨筆當做備忘用蛆橡。
教程
開始之前默認已經擁有騰訊云的Centos 7.2云服務器
1.首先用ssh工具連接上遠程主機,進入命令行
2.可能需要的準備工作
yum install bison gettext glib2 freetype fontconfig libpng libpng-devel libX11 libX11-devel glib2-devel libgdi* libexif glibc-devel urw-fonts java unzip gcc gcc-c++ automake autoconf libtool make bzip2 wget cmake zip
yum update
yum -y install yum-utils
3. 安裝mono,先添加yum源
rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
如果提示找不到y(tǒng)um-config-manager 掘譬,這個是因為系統(tǒng)默認沒有安裝這個命令泰演,這個命令在yum-utils 包里,可以通過命令yum -y install yum-utils安裝葱轩。
然后
yum -y install mono-complete
經過漫長的等待之后
測試mono
mono -V
4.下載配置ASF
下載
wget https://github.com/JustArchi/ArchiSteamFarm/releases/download/2.3.1.6/ASF.zip
unzip ASF.zip -d ASF
不過由于我卡在了這里睦焕,所以選擇了一重更簡單粗暴的方法
直接從github上下載了ASF.zip解壓完成之后藐握,直接用FTP工具把ASF文件夾上傳到了服務器的root文件夾下
配置
- 介紹
下載之后,大家文件夾的config下面會是如下的結構垃喊。其中ASF.json是全局配置文件趾娃,example.json是較完整的配置方案,而minimal.json則是最精簡版的賬戶配置方案
ASF配置分為兩個主要部分:全局配置以及單個bot配置缔御。bot是運作在ASF進程當中的單個Steam賬號。ASF的運作至少需要啟動一個bot妇蛀,而bot數量沒有上限耕突,可使用任意數量的Steam賬號(bot)。
-
文件結構
帶有必要標簽意味著該文件對啟動ASF至關重要评架,帶有生成標簽意味該文件默認狀態(tài)下不存在眷茁,由ASF根據需求生成。
如果要將ASF移至另一處地方纵诞,或是另一臺電腦上祈。只要將上述整個文件結構當中的內容移過去即可,不需要其他操作浙芙。
ASF.exe(必要):核心可執(zhí)行(二進制)文件登刺,用來啟動程序。
log.txt(生成):ASF進程的日志文件嗡呼。日志文件只在ASF運行時使用纸俭,并會自動在每次啟動時清除之前內容。該文件的目的是記錄潛在的bug和崩潰信息南窗,以讓ASF開發(fā)者查找并修復問題揍很。日志當中不包含任何敏感信息,只用來debug和信息傳輸万伤。
config(必要):包含ASF進程以及所有bot配置的文件夾窒悔。
ASF.json(必要):ASF全局配置文件。該配置用來制定ASF進程的行為敌买,全局作用于整個程序简珠。你可以(也應該)根據自身需求修改全局配置。該內容將在下文詳述虹钮。
ASF.db(生成):ASF全局數據庫文件北救。其作為ASF全局持久性存儲文件,用來儲存一些關鍵信息芜抒。請用戶不要編輯該文件珍策。
現(xiàn)在我們來看bot配置文件,每個bot擁有單獨的配置和關聯(lián)文件宅倒。
Bot.json(必要):bot配置文件攘宙。該文件用來制定該bot的行為,包含所有用于正常運作的信息。當中的屬性只會影響該bot蹭劈,用戶可讓諸多bot以不同的方式運作疗绣。(這與作用于全局進程和所有bot的ASF全局設置相對應)
Bot.db(生成):bot數據庫文件。該文件用來儲存bot的關鍵數據铺韧。請用戶不要編輯該文件锄禽。
Bot.bin(生成):bot特殊文件。當中包含Steam安全哈希信息静尼,安全哈希用作Steam令牌機制的授權挖炬。請用戶不要編輯該文件。
- 首先是全局配置文件料仗,里面都是字面意思湾盗。我認為對大家有用的就是Blacklist了,黑名單功能立轧,不想掛卡的游戲就把對應的appid添加到Blacklist里格粪。別的可以不用動。想了解具體什么作用的氛改,可以去看教程
{
"AutoRestart": true,
"AutoUpdates": true,
"Blacklist": [
267420,
303700,
335590
],
"ConnectionTimeout": 60,
"CurrentCulture": null,
"Debug": false,
"FarmingDelay": 15,
"GiftsLimiterDelay": 1,
"Headless": false,
"IdleFarmingPeriod": 3,
"InventoryLimiterDelay": 3,
"LoginLimiterDelay": 10,
"MaxFarmingTime": 10,
"MaxTradeHoldDuration": 15,
"OptimizationMode": 0,
"Statistics": true,
"SteamOwnerID": 0,
"SteamProtocol": 6,
"UpdateChannel": 1,
"WCFBinding": 0,
"WCFHost": "127.0.0.1",
"WCFPort": 1242
}
- 然后新建json文件帐萎,只是基礎掛卡的話直接給minimal.json里的內容復制過來就行了,至于命名可以依次命名為bot1.json,bot2.json 也可以直接以steam賬號來命名
{
"Enabled": true, //啟動軟件
"SteamLogin": "你的id",
"SteamPassword": "你的密碼",
"FarmOffline": true //啟動離線掛卡
}
- 賬號設置部分屬性
Enabled(啟用) - bool:默認值為false胜卤。該屬性定義是否bot是否啟動吓肋。將其啟動并不意味著bot開始運作,而是讓ASF“留意”到這是一個有效且配置完畢的bot瑰艘,可以被Start()或是Stop()是鬼。該屬性能夠讓你輕松啟用與禁用bot,而不用去移除配置文件紫新。默認設置下所有bot都被禁用均蜜,如果你想要讓其生效,需要將其更改為true芒率。
SteamLogin(Steam用戶名) - string:默認值為null囤耳。該屬性為你用來登陸Steam的用戶名。如果你想要每次啟動ASF輸入用戶名偶芍,可以保持其默認值null充择。這在你不想讓配置文件留有敏感信息時可能有所幫助。
SteamPassword(Steam密碼) - string:默認值為null匪蟀。該屬性為你登陸Steam的賬戶密碼椎麦。如果你想要每次啟動ASF輸入密碼,可以保持其默認值null材彪。這在你不想讓配置文件留有敏感信息時可能有所幫助观挎。
FarmOffline(離線掛卡) - bool:默認值為false琴儿。離線掛卡對主賬號來說極為有用。要知道掛卡會讓你的Steam狀態(tài)顯示“當前正在游戲”嘁捷,這可能會誤導你的朋友造成,讓他們以為你真的在玩這款游戲。離線掛卡就能解決這個問題雄嚣,在你用ASF掛卡時晒屎,賬號不會顯示正在玩某款游戲。這功能歸功于ASF本身不需要登陸Steam社區(qū)的特性缓升,其實該賬號的確在玩這款游戲鼓鲁,只不過是處在“半離線”的模式下。離線掛卡依然會增加被掛游戲的游戲時長仔沿,并會在個人資料的“最新動態(tài)”中顯示出來。另外尺棋,為bot啟用離線掛卡特性會讓其不響應指令(直接)封锉,這一點在啟用副帳號時較為重要。查看:HandleOfflineMessages
以上配置方面細節(jié)設定膘螟,和屬性詳解成福,想具體了解的可以去查看配置 - 細節(jié)設定、屬性詳解
5.開始掛卡
- 安裝完mono荆残,可別急著運行奴艾,因為當前直接運行的話,一旦斷掉ssh會話内斯,程序就停止啦!使用screen命令蕴潦,沒安裝的先yum -y install screen安裝下開啟screen新窗口,并命名為asf
screen -S asf
- 讓mono支持ssl
mozroots --import --sync
- 運行
mono ASF/ASF.exe
看到
大功告成俘闯!這時候你就可以安心的退出ssh連接
- 退出掛卡
screen -ls #顯示所有的screen窗口名字和進程號
kill [進程號] //結束進程
screen -S PID -X quit //PID 進程號
//screen常用命令
screen -r PID //恢復進程