【教程類】關(guān)于Source Mod的安裝與故障排除

※注意,本文章并不適合完全沒有接觸過起源游戲的玩家閱讀,最好對起源的文件結(jié)構(gòu)有一定了解再閱讀
※本文章只面向正版玩家,即Steam必須擁有Valve的一些起源游戲,其中半條命2是必須的,當(dāng)然,最好有Valve全家桶
※本文所指起源Mod并不包括BMS(黑山起源)的Mod
※本文章更適合在網(wǎng)頁端上閱讀

序章:文章簡介
本文章的寫作目的是幫助更多剛剛接觸起源Mod的玩家解決一些常見的安裝問題,包括基礎(chǔ)的安裝操作和一個(gè)常見問題的解決方案,由于我對起源的了解程度也并不深,所以只是簡單介紹,有錯(cuò)漏的地方歡迎指出,射射兄弟
注解:SP為Singleplayer,MP為Multiplayer,Source SDK Base有時(shí)縮為Base
快速閱讀指引:
加粗:標(biāo)題/專有名詞
紅:重點(diǎn)
棕:步驟
綠:提醒
?粉:鏈接
?(黑底白字圈):注釋標(biāo)記

1、介紹
1.1? Source SDK Base
簡而言之,Mod以這玩意為本體,這個(gè)東西的作用大概就是整合調(diào)用各個(gè)起源游戲的資源
版本:
Source SDK Base 2006
Source SDK Base 2007
Source SDK Base 2013 SP
Source SDK Base 2013 MP
其中常用的是2007和2013 SP
值得注意的是,Base 2013 SP常常需要更改參與測試為upcoming,但這不是必須的步驟,如果Mod的安裝說明或者簡介信息里沒有寫明需要upcoming,則不需要做這一步

你可以通過對著庫存里的Base 2013 SP右擊—屬性—測試—upcoming—關(guān)閉,并等待Base更新完畢后即切換為upcoming

了解Base的具體信息請看:https://developer.valvesoftware.com/wiki/Source_SDK_Base
※安裝了Base并不意味著不需要安裝游戲,游玩mod仍需要安裝對應(yīng)的游戲
有的mod會(huì)把所需游戲?qū)懺谖募f明里,所以仔細(xì)閱讀,特別留意require之類的詞,沒寫的話就看下的是什么游戲的mod,把對應(yīng)游戲裝了就行,這個(gè)因mod而異
1.2 sourcemods文件夾
sourcemods文件夾用于存放起源mod,Steam會(huì)自動(dòng)讀取這個(gè)文件夾里的mod,并將其顯示在游戲庫中
若安裝了任意一個(gè)Base,這個(gè)文件夾將出現(xiàn)在你Steam安裝目錄下(初始Steam游戲庫)的steamapps里
舉個(gè)例子,我的sourcemods文件夾位置是D:\games\Steam\steamapps
如果你想更改這個(gè)玩意的位置就只能重裝Steam了,請勿自己創(chuàng)建一個(gè)sourcemods文件夾,Steam不會(huì)認(rèn)非Steam初始安裝目錄下的sourcemods文件夾
盡管如此,可以通過對base使用-game參數(shù)手動(dòng)定位mod位置,然后運(yùn)行base以啟動(dòng)mod
例:Obsidian Conflict使用的是Base 2007,那么我就給Base 2007加入以下參數(shù)
-game "D:\games\Steam\steamapps\sourcemods\obsidian"


請注意,路徑必須為純英文
另外,已證實(shí)就算Base和sourcemods在兩個(gè)不同的硬盤里也不會(huì)有什么問題
?補(bǔ)充:基于符號鏈接,?可隨意修改位置的sourcemods目錄
?原理大概是讓Steam以為你的sourcemods在Steam安裝目錄下的steamapps里,?但實(shí)際上那是個(gè)符號鏈接,?可以指向任意位置(大概吧,?反正應(yīng)該沒人想放到system32里啥的)
?CMD使用 mklink /d?創(chuàng)建符號鏈接( /d?是符號鏈接),?語法見
https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/mklink
Powershell使用 New-Item,?語法及示例見
https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.management/new-item#7
以CMD為例?(也推薦CMD,?語法簡單點(diǎn))
mklink /d "D:\games\Steam\steamapps\sourcemods" "E:\SteamLibrary\steamapps\sourcemods"
第一個(gè)路徑:Steam安裝目錄下的steamapps,?鏈接名為sourcemods,?虛假的sourcemods
第二個(gè)路徑:實(shí)際的sourcemods目錄位置
長度問題,?命令可能顯示出來會(huì)換行,?不要換行,?用空格分割路徑,?路徑最好純英文
目前也沒有發(fā)現(xiàn)這樣弄有什么問題
?
感謝adm-sus-233的補(bǔ)充,?相當(dāng)有用,?幾乎是無痛轉(zhuǎn)移sourcemods
1.3 SteamPipe?
關(guān)于SteamPipe的具體概念較為復(fù)雜,想要了解請看:https://support.steampowered.com/kb_article.php?ref=7388-QPFN-2491
https://developer.valvesoftware.com/wiki/SteamPipe:zh-cn
對于起源Mod來說,SteamPipe用于強(qiáng)制掛載模塊,這東西對新mod來說沒什么影響,但是老mod可能因此無法運(yùn)行,這個(gè)知道有這一回事就好,故障排除涉及這個(gè)玩意
準(zhǔn)備工作
1.安裝Source SDK Base

基本上擁有任意一款起源游戲就會(huì)獲得一套Source SDK工具,訪問你的Steam工具庫,找到Source SDK Base,并按照Mod需要下載Base版本或下載兩個(gè)常用的版本,請注意Base 2013是否被要求設(shè)置為upcoming
※如果您在運(yùn)行mod時(shí)沒有下載所需Base,Steam會(huì)自動(dòng)提示下載
2.找到你的sourcemods文件夾
照著上述介紹找就行了,再次強(qiáng)調(diào),這個(gè)文件夾在Base安裝完畢之后才會(huì)出現(xiàn),找不著就不是我的問題了
一切就緒,該去找點(diǎn)Mod來試試了

2.Mods
2.1?獲取一些Mod
提供兩個(gè)找Mod比較好的網(wǎng)站,都是外網(wǎng),英語實(shí)在不行就備個(gè)翻譯器,自己摸索一下
1、Mod DB
https://www.moddb.com/

挺老的網(wǎng)站了,不解釋,大多數(shù)人都從這里找各種游戲的mod
優(yōu)勢:老牌網(wǎng)站,老Mod儲(chǔ)備比較齊全,比較適宜找大型Mod
劣勢:下載有點(diǎn)小霸王,雖然沒有墻,但有時(shí)候加載特別慢,有些Mod會(huì)故意拉人刷高分,導(dǎo)致有些Mod的評分不真實(shí)
2、RTSL
https://www.runthinkshootlive.com/

專門針對HL玩家的Mapping/Modding社區(qū)網(wǎng)站,可以找Mod也可以找地圖
優(yōu)勢:有不少優(yōu)質(zhì)的中小型Mod,新Mod、新地圖源源不斷,Mod評分比較準(zhǔn)
劣勢:不僅下載慢,加載也慢,最好開個(gè)紙飛機(jī)訪問
2.2?安裝Mod

如果你完成了介紹篇的準(zhǔn)備工作,那么,請先查閱Mod的說明(通常為Installation.txt或者Readme.txt之類的東西,亦或者在網(wǎng)站的文件描述上),如果說明有寫安裝,那就按著說明做,該裝的游戲裝了,該放的文件夾放了就行

如果沒有,一般來說,只需要把Mod文件夾解壓到sourcemods文件夾然后下載mod對應(yīng)的游戲(下的什么游戲的mod就下什么游戲)即可,通常要解壓的應(yīng)該是一個(gè)文件夾,而不是一堆,但是有個(gè)例外就是MMod,那玩意是一大堆文件夾的,看著安裝說明裝就行
重啟Steam,Mod將會(huì)出現(xiàn)在你的Steam游戲庫里,玩就行了

章節(jié)前言

很多老mod都由于Valve的SteamPipe更新導(dǎo)致了一系列問題,無法正常游玩
而玩家社區(qū)的辛勤付出使這一切都有了較好的解決方案,不僅解決了問題,也使Mod變得更賞心悅目,即使Mod的開發(fā)者沒有為Mod修復(fù),也會(huì)有熱心人制作修復(fù)補(bǔ)丁,即使沒有修復(fù)補(bǔ)丁,我們?nèi)钥梢酝ㄟ^用解包的舊版起源引擎游玩這些老mod,當(dāng)然,我們自己也可以通過修改gameinfo.txt修復(fù)一部分SteamPipe問題,但這不一定能解決所有問題
在開始解決棘手的問題前,先來排除一下其他問題吧

3.故障排除
3.1?檢查&分析問題
出問題有很多可能,先按照以下內(nèi)容進(jìn)行排查
如果mod沒有出現(xiàn)在庫里,說明mod安裝有誤,檢查一遍自己怎么裝的
以下均為無法運(yùn)行mod/運(yùn)行直接崩潰問題的原因及其解決方案
1.沒有下載Mod所需的Base和游戲
一般來說,Mod會(huì)在文件描述或者說明文本里面說明所需Base和游戲,如果Mod根本無法運(yùn)行,檢查一下游戲裝了沒,有時(shí)候裝了Base會(huì)把游戲忘了

2.Base 2013沒有切換到upcoming測試/沒有調(diào)回不參與測試
打了Source SDK 2013 Patch的mod需要Base 2013 [upcoming],有些mod也同樣需要這個(gè),而有些mod不需要upcoming,所以注意一下文件描述,這些都寫得清清楚楚的,對著切測試就行,不知道怎么切的話上面有寫,自己看一下

3.嘗試驗(yàn)證Base完整性
有些mod需要驗(yàn)證一下Base的完整性才能正常運(yùn)行,如1187
4.是由于SteamPipe導(dǎo)致的錯(cuò)誤
如果運(yùn)行mod時(shí)遇到了類似章節(jié)前言那張大圖的錯(cuò)誤提示,又或是沒有畫面只有聲音,然后游戲崩潰,那么恭喜你,你遇到了SteamPipe問題
別擔(dān)心,以下會(huì)詳細(xì)介紹這種問題
3.2 SteamPipe問題的解決方案
關(guān)于SteamPipe問題是什么,章節(jié)前言已經(jīng)說明了,這里有三種可選的解決方案,將按照推薦程度分先后介紹
① SteamPipe Fix/Source SDK Patch
這是解決該問題的最優(yōu)解,使用Source SDK Patch不僅能修復(fù)SteamPipe問題,還能解決一些mod的bug并增強(qiáng)畫面效果
這些東西一般可以在mod的moddb頁面的files里找到
也可以在這里搜索Source SDK Patch:
https://www.moddb.com/members/malortie/downloads
看眼文件描述先,patch都是覆蓋式安裝,一般需要Base 2013 SP [upcoming]
如果這個(gè)辦法不行,還有別的辦法
② Source Unpack
Source Unpack是SteamPipe更新前的最后一版起源引擎(build 5135),內(nèi)含解包的半2和傳送門1,但您仍然需要在Steam庫中擁有(且需要下載)HL2和Portal以運(yùn)行Source Unpack
首先你需要擁有一定的英語水平,因?yàn)槟銓⑿枰喿x大量資料,有關(guān)如何使用Source Unpack運(yùn)行mod等我將不會(huì)在這里詳細(xì)寫出,但如果實(shí)在搞不懂或者有翻譯需求,可以評論區(qū)提議,這個(gè)不是我懶的問題,絕對不是(某粉色app報(bào)錯(cuò)餅干)
有關(guān)Source Unpack的資料和下載途徑可以在這里找到:https://wiki.sourceruns.org/wiki/Source_Unpack
請務(wù)必認(rèn)真閱讀Readme部分,那都是很重要的說明
※?另外,Source Unpack自帶了兩個(gè)工具:
一個(gè)是YaLTeR's?Source?Pause Tool,常用于速通/分段速通,這個(gè)工具可用于啟用自動(dòng)連跳
?另一個(gè)是RInput,移除鼠標(biāo)加速的工具,這個(gè)在半1mod里的作用尤為明顯?
工具怎么用寫在Readme里了
③ 手動(dòng)修改gameinfo.txt
這是下下下策,如果能通過前面的方法解決,盡量不要嘗試這個(gè)
介紹:SteamPipe更新到底造成了什么問題,為什么會(huì)出現(xiàn)文件缺失
SteamPipe更新將游戲所在的路徑更改了,比如
[steam installation directory]/steamapps/[username]/half-life 2/
.
在更新后變成了
steam installation directory]/steamapps/common/Half-Life 2/
.
這導(dǎo)致了什么,gameinfo.txt會(huì)告訴Steam這個(gè)mod需要加載什么東西,但由于SteamPipe更新導(dǎo)致的路徑更改,那些沒有被修正的gameinfo.txt仍然保持著原來的讀取目錄,就無法找到所需文件,因此才提示缺失文件
這就引出了推論:可以通過手動(dòng)修正gameinfo.txt解決這個(gè)問題
找到mod的gameinfo.txt,進(jìn)行編輯,修正appid/路徑等信息即可,細(xì)節(jié)和路徑模版請參閱:http://lambdageneration.com/modding/source/fixing-half-life-2-and-portal-mods-on-steampipe-a-quick-guide/
最后警示:此方法只能解決缺少文件導(dǎo)致的問題,并不能解決引擎更新導(dǎo)致的問題,因此,不確保100%成功且非常不推薦可以在采用其他方法運(yùn)行的情況下選用此方法
?只要有心,問題遲早會(huì)得到解決

注釋解析
?SteamPipe問題也同樣存在于一些金源mod,盡管很多受影響的金源mod不至于無法運(yùn)行
?由于很多半1mod發(fā)布時(shí)間在半1支持原始鼠標(biāo)輸入前,所以很多mod仍不支持原始鼠標(biāo)輸入(即使本體支持也沒有用),在極大多數(shù)mod開啟原始鼠標(biāo)輸入將會(huì)導(dǎo)致鼠標(biāo)移動(dòng)忽快忽慢等問題,而RInput可以解決這個(gè)問題
RInput的Github:
https://github.com/VolsandJezuz/Rinput-Library
這是新版,舊版作者已停止更新,SourceRuns Wiki的那個(gè)鏈接是舊版的

結(jié)語
這部分沒有什么重要的內(nèi)容,單純來看教程的可以忽略了
因?yàn)閷戇@篇文章,幾天沒有睡好覺
起初我寫這篇文章的契機(jī)就是一天有人問怎么裝起源mod,因?yàn)榘惭b起源mod比金源繁瑣多了,而且好像也沒有什么特別好的教程類文章,所以我打算自己寫一個(gè),留著以后有人再問可以讓人直接看
起了個(gè)草稿,一周斷斷續(xù)續(xù)寫了第一部分的內(nèi)容,完成了20%左右因?yàn)镾teamPipe問題不得不停滯,花了一個(gè)晚上研究這個(gè)問題,順便也抽空陪朋友打打游戲什么的,然后不知不覺就咕了兩周,最后在歸納SteamPipe上重新選擇了比較嚴(yán)謹(jǐn)?shù)膶懛?/p>
這周我重新開工寫這篇文章,就開始查資料寫草稿,到現(xiàn)在基本上已經(jīng)完成了,剩下的事情就是復(fù)審三遍/刪改(實(shí)際上刪改最多的是結(jié)語,刪了足足有兩百多字,寫了很多不該寫的東西上去,從第一段就可以猜到我到底寫了什么上去)
如果看過我以前寫的文章,很容易發(fā)現(xiàn),這篇文章寫得比較正經(jīng),因?yàn)檫@篇我是認(rèn)真寫的
我知道有些人可能不喜歡看到那堆五顏六色的文字,所謂的快速閱讀指引只是為了避免我寫一大堆廢話而設(shè)計(jì)的,雖然這次好像并沒有多少句話是廢話
這篇文章理論上也不會(huì)有多少人看,那我為什么還要急著寫完,不知道,我喜歡
不清楚這篇文章寫得行不行,感覺會(huì)有人看不下去這個(gè)排版

感謝您看完以上的一堆廢話,如果您能給些修改建議或者覺得文章哪里存在錯(cuò)漏/不嚴(yán)謹(jǐn),請私聊或評論指出,我會(huì)盡快修改
——3days Vikazi
THE?END