微軟模擬飛行 經(jīng)驗談 2 模組插件與外置工具
寫在前面
由于個人精力有限,沒時間把這部分專欄內(nèi)容制作成視頻;
另,個人覺得專欄形式更適合閱讀;如果你閱讀完覺得還不錯,感謝轉(zhuǎn)發(fā)、評論、收藏!

?
在開始新一篇的經(jīng)驗談之前,
稍微補(bǔ)充上一篇的遺漏

?
關(guān)于 微軟模擬飛行的重新安裝 我們還可以備份 用戶自定義視角和某些機(jī)模的數(shù)據(jù)文件

在?Microsoft.FlightSimulator_8wekyb3d8bbwe\LocalCache\SimObjects\Airplanes 這個文件夾中,一般儲存了機(jī)模的 用戶自定義視角?和?機(jī)模狀態(tài)?文件,如果你不想重新設(shè)置用戶自定義視角,或者想保留機(jī)模的飛行時間,可以在重新安裝系統(tǒng)或游戲時,備份這個文件夾的數(shù)據(jù);
在?Microsoft.FlightSimulator_8wekyb3d8bbwe\LocalState\packages 這個文件夾中,一般儲存了插件安裝后的開發(fā)者寫入數(shù)據(jù),某些機(jī)模的飛行計劃調(diào)取文件夾也在這里,且這里不只有機(jī)模插件相關(guān);如果你能看得懂,也可以進(jìn)行備份;
?
接下來我們開始經(jīng)驗談第二篇,距離上一篇剛好五個月;?
模組插件與外置工具
在模擬飛行發(fā)展的歷史中,絕大部分時間里,模飛平臺中的“新”內(nèi)容都來自三方開發(fā)者的開發(fā),不論是付費(fèi)內(nèi)容還是免費(fèi)內(nèi)容;
一般付費(fèi)三方插件在三方開發(fā)者自己的網(wǎng)站發(fā)售,也或是在模飛軟件分銷商發(fā)售,比如Aerosoft、Orbx、simMarket、JustFlight、Flightsim.com都是分銷商;
而微軟模擬飛行2020,在歷史上是首個官方技術(shù)版本更新頻次和免費(fèi)+付費(fèi)內(nèi)容、更新體量這么多、如此大的一個獨(dú)立販?zhǔn)郯姹灸ow軟件,甚至引入了內(nèi)置商店功能,這改變了模飛平臺軟件的傳統(tǒng)定位;
在歷史上,在所有的模飛軟件平臺中,沒有哪一個做到了目前這個數(shù)量級和定位;
一般來說,微軟模擬飛行2020中的文件格式基本繼承于FS系列的發(fā)展,F(xiàn)S也深度影響了P3D的插件和工具,你可以把P3D理解為FS系列的一個重要分支;
但Asobo微軟模擬飛行項目組在過去幾年的開發(fā)中,開始著手對這個陳舊的系統(tǒng)進(jìn)行調(diào)整,包括修改底層代碼和新增API;
短時間內(nèi),這種不太穩(wěn)定的局面會影響三方開發(fā)者的開發(fā),但從模飛軟件的長遠(yuǎn)發(fā)展來看,不進(jìn)步、不改變就沒有未來;而三方開發(fā)者是自己選擇加入某一個平臺的開發(fā),如果不適應(yīng)完全可以不進(jìn)入;
另一個角度,游戲開發(fā)不是理想主義,現(xiàn)在的模擬飛行不可能要等到“完美”再發(fā)布,所以玩家也要面對這些不完善,如果真的不喜歡,不玩就是了;

過去我們曾經(jīng)有一種慣性思維,有地位、有過輝煌的三方開發(fā)團(tuán)隊的作品都會很優(yōu)秀,但在微軟模擬飛行2020的三方開發(fā)生態(tài)里,這個慣性被打破;陳年的酒,不見得香;
目前,在微軟模擬飛行2020里有很多優(yōu)秀的三方插件來自于全新的開發(fā)組或者是獨(dú)立開發(fā)者,而曾經(jīng)的王者,截至發(fā)稿看,只有 A2A sim 保持了與歷史原有的地位相當(dāng)?shù)拈_發(fā)水準(zhǔn);
不與時俱進(jìn),就會被后來者超越,這個情況在微軟模擬飛行2020的三方開發(fā)中已經(jīng)不斷的被詮釋;
過去我們曾經(jīng)認(rèn)為XP是對免費(fèi)、開源開發(fā)者更好的模飛平臺,
而現(xiàn)在圍繞在微軟模擬飛行2020生態(tài)圈的免費(fèi)、開源和開發(fā)者分享也不遜色;
最后,在開始正式聊經(jīng)驗的時候,聊三方插件必然可能會和聊三方開發(fā)者有交集,
我盡可能避開這部分內(nèi)容;本篇也不涉及具體的某個插件的使用;

?
模組插件
我個人把基于官方代碼結(jié)構(gòu)的,僅需直接放入community文件夾,即可直接使用的這類插件定義為模組插件MOD;
目前微軟模擬飛行2020內(nèi)置商店中的插件基本都屬于這一類;
這類模組插件的類型和數(shù)量最為廣泛,在模飛社區(qū)中的絕大多數(shù)免費(fèi)插件都屬于這一類;
這類插件的優(yōu)勢是安裝快捷,基于官方和三方開發(fā)工具SDK制作標(biāo)準(zhǔn);
但不足之處就是無法實現(xiàn)更多模飛平臺架構(gòu)無法支持的功能和效果;在出現(xiàn)問題時,由于數(shù)量太多,這類插件的問題排查也相對繁瑣;
在微軟模擬飛行2020發(fā)布后,我個人使用最多獲取免費(fèi)插件的模飛社區(qū)的是:
https://flightsim.to/
這個模飛插件社區(qū);包括我個人發(fā)布的免費(fèi)插件也在此發(fā)布,其內(nèi)容展現(xiàn)特別是版本維護(hù)非常方便;
Flightsim.to社區(qū)也是微軟模擬飛行2020發(fā)布后,新生的、發(fā)展最快的、超過以往歷史的模飛社區(qū);
社區(qū)一般會對開發(fā)者提交的內(nèi)容進(jìn)行適用性、安全性審核,F(xiàn)lightsim.to一開始也是這樣,但隨著開發(fā)者和內(nèi)容的不斷增加,這部分的工作逐漸弱化或消失了,所以在下載之前,盡可能的閱讀開發(fā)者說明、版本日志,或是用戶留言,以保完全;
在這里需要注意的幾點(diǎn):
1. 這類插件是拖拽安裝即可使用,但要注意文件夾層級結(jié)構(gòu);在community文件夾下,是插件的頂級文件夾,在這個文件夾下,你要能看到兩個json文件;如果插件在解壓時或開發(fā)者嵌套了更多的文件夾,游戲?qū)⒉粫R別無法正常加載;

?
2. 由于三方開發(fā)團(tuán)隊的技術(shù)水平問題,某些這類插件,會在加載后替換(并不是覆蓋源文件,而是調(diào)取優(yōu)先級替換)官方相應(yīng)的功能文件;這就造成一些機(jī)模、美術(shù)被替換,無法正確使用或者正確顯示;而且這類插件只要在community文件夾中被加載,即使你在游戲中不使用,對其他機(jī)?;蛘吖δ堋⒚佬g(shù)的影響就會存在;

比如Red Wing Simulations的Lockheed L–1049 Super–Constellation;
只要加載,就會對系統(tǒng)默認(rèn)的AMS2000 Altitude Management和AS92 Radio功能使用有影響,會對其他機(jī)模的美術(shù)顯示有影響;
這類機(jī)模一般在社區(qū)有相關(guān)使用注釋,非飛行勿加載,或者你明確知道影響不會對你的機(jī)模造成影響才使用;
在WTT改進(jìn)航電之后,默認(rèn)787的玩家多了起來,比如DeimoS Inc.的最新Su–57 Felon版本,對會對B787 (HUD),AS3000 (MFD, PFD, Templates, TSC),Shared NavSystems files,Visual effects有影響;
所以插件開發(fā)者水平和不同的插件版本,都可能會影響到你的游戲體驗,在使用這類插件時,閱讀好開發(fā)說明,或者是在社區(qū)了解相關(guān)信息,則變得必要;否則你在抱怨MSFS又有問題時,其實是你自己沒有恰當(dāng)?shù)氖褂媚ow插件;
?
3. 某些插件內(nèi)容,由于內(nèi)容替換優(yōu)先級原因,必須在最后被加載才能成為最高優(yōu)先級調(diào)用;
過去(P3D和FS)在遇到這個問題時,我們可以通過手動調(diào)整
Microsoft.FlightSimulator_8wekyb3d8bbwe\LocalCache\Content.xml
這個xml文件的方式進(jìn)行管理,而MSFS已經(jīng)在SDK Release 0.19.0重新編寫了Content.xml相關(guān)的功能代碼,現(xiàn)在一般玩家?guī)缀蹩梢圆辉偃ス芾磉@個文件,除非你的三方插件內(nèi)容中存在相同內(nèi)容目標(biāo)的多個同類插件;
新的Content.xml具體使用方式請自行查閱官方說明文檔;
不過,在實際三方開發(fā)者遇到這類問題時,還有一種潛規(guī)則,
就是在三方插件的頂級文件夾命名時,使用字母“z”開頭,
這樣大多數(shù)情況可以保證這個插件在系統(tǒng)調(diào)取時是最后加載的,才能夠正常使用;
這樣的做法并不多,開發(fā)者是為了避免插件中出現(xiàn)相同文件時,可以被優(yōu)先調(diào)取,除非你個人就是開發(fā)者,否則很少有玩家會去看別人的插件文件結(jié)構(gòu)和文件內(nèi)容;
?
4. 插件的三方開發(fā)者水平不一,所以當(dāng)你安裝了新的三方插件后,如果遇到啟動崩潰、加載慢,先不要著急,等一等;檢查一個插件是否真的有問題的最簡單辦法就是,在確認(rèn)你的MSFS在游戲的安全模式啟動下運(yùn)行正常后,只在community里面加載測試插件,來檢驗是否有問題;
這里就有一個最基礎(chǔ)的方法,偽造community文件夾;如果你日常是把插件直接拖放到community文件夾,先把這個文件夾改個名字,例如communityAAA;然后再建立一個空的community文件夾,把需要測試的插件單獨(dú)放進(jìn)去,啟動游戲測試即可;大可不必,刪除文件、移動文件夾去別的位置;
另外由于微軟模擬飛行2020并不是單機(jī)游戲,如果網(wǎng)絡(luò)不穩(wěn)定、服務(wù)器不穩(wěn)定也會引起啟動過程中的崩潰,目前游戲啟動進(jìn)度條前50%的部分,基本是本地游戲軟件的啟動,在這個位置會稍微卡頓一下,之后開始網(wǎng)絡(luò)數(shù)據(jù)請求、三方插件加載初始化校對的過程;
如果你能確定時插件引起的問題,最簡單的排查方式,是到插件開發(fā)者發(fā)布插件的源地址進(jìn)行了解、咨詢;這也是我不推薦在某些“未經(jīng)許可”轉(zhuǎn)發(fā)、轉(zhuǎn)載、轉(zhuǎn)存插件的網(wǎng)站或個人那里下載插件的原因之一;
另外,除非你能“技術(shù)”上確認(rèn)自己下載的三方插件文件本體無誤,否則和其他朋友確認(rèn)下插件文件是否都在下載或者傳遞過程中有不全或損壞文件的情況;一般這種情況很少發(fā)生,不過遇到了也很不容易排查;
5. 很多插件是需要與MSFS的SDK版本保持一致,與官方更新內(nèi)容保持技術(shù)一致的,也就是說,插件需要進(jìn)行“技術(shù)性更新維護(hù)”;進(jìn)而,在使用插件時注意版本一致性;如果微軟模擬飛行版本更新了,特別是涉及到SU、AAU的版本更新,而插件沒有,最好先到插件開發(fā)者源地址了解相關(guān)說明;
現(xiàn)在,很少有插件只發(fā)布一個版本就可一勞永逸;
特別是我們面對微軟模擬飛行2020這個每個月都要更新的模飛游戲,在歷史上真的沒有過,這給三方開發(fā)者提出了更多要求,如果你想讓自己的三方插件保持優(yōu)秀的質(zhì)量品質(zhì),那么就要跟上Asobo的更新步伐;

舉例來說,
JustFlight的 PA28 啪啪啪系列三個機(jī)模,在微軟模擬飛行2020平臺發(fā)布的頭半年到一年這個時間段,保持了通航GA類機(jī)模的王者地位,但在后續(xù)的MSFS版本更新后,PA28的開發(fā)者明確表態(tài)自己無神顧及這么頻繁的更新維護(hù),需要等微軟模擬飛行SDK版本更新穩(wěn)定后,再對機(jī)模進(jìn)行版本更新,誰想到這一等,直到近一年后PA28的開發(fā)者才對自己的機(jī)模進(jìn)行更新,而針對更新的修復(fù)更新,又過去了幾個月;
于此,我在日常審視插件時,第一位的是開發(fā)者的態(tài)度,其次才是質(zhì)量;
這里要清楚,插件更新在相對簡單的地景類插件也依舊需要,MSFS的世界更新內(nèi)容,足以讓那些不更新維護(hù)的地景插件、機(jī)場插件淪為淘汰作品;
還有在MSFS上,從WTT被招入MSFS開發(fā)項目后,模飛平臺的歷史性航電更新也進(jìn)入了里程碑,目前我們已經(jīng)經(jīng)歷了兩次AAU,也就是說,很多機(jī)模插件由于調(diào)用SDK航電也需要進(jìn)行適配性更新;
6. 如果你有動手能力,這一類插件很容易可以進(jìn)行個人調(diào)整;
雖然開發(fā)者不禁止有動手能力的三方,修改或調(diào)整自己制作的插件;但如果你在動手之后想要分享,最好還是與原開發(fā)者取得同意;
一般在Flightsim.to上一些性能改進(jìn)模組都屬于這一類,這種改進(jìn)不只是局限于機(jī)模性能(飛行模型)、還可以包括美術(shù)、音效、操控、設(shè)置和變體;

?
外置工具
一般我個人把需要在模擬飛行軟件之外獨(dú)立啟動運(yùn)行的模飛軟件,定義為外置工具,與模組插件區(qū)分來對待;
這類軟件主要目的是實現(xiàn)模擬飛行平臺軟件功能框架之外的功能和效果,由于需要獨(dú)立運(yùn)行一個程序,會額外消耗你的電腦性能,微軟模擬飛行2020目前還是以獨(dú)立窗口運(yùn)行的一個游戲,雖然有多窗口實驗功能,但會消耗更多的性能;
如果你是一個獨(dú)立顯示器,在不同窗口之間切換時,軟件的前后臺切換也有運(yùn)行性能上的變化;如果你是多個顯示器,鼠標(biāo)在多窗口的切換也有影響,畢竟這是windows的系統(tǒng)問題,顯卡在軟件前后臺運(yùn)行切換時也有相應(yīng)的支持變化;
外置軟件工具,一般會調(diào)取微軟模擬飛行的數(shù)據(jù),也可能會進(jìn)行更直接的數(shù)據(jù)交互,不僅僅讀取,還要寫入;
從最早接觸模擬飛行時開始,一個潛規(guī)則就是,盡可能減少你使用外部工具軟件的數(shù)量,盡可能使用被測試穩(wěn)定的外部工具軟件;由于開發(fā)者能力不一,這類外置工具更容易引起游戲崩潰;尤其是模飛平臺更新時,涉及到一些內(nèi)存變量的變化,尤其需要保證外置工具軟件的版本更新;
對于這類外置工具需要了解以下幾點(diǎn):
1. 微軟模擬飛行2020的SDK并不穩(wěn)定,且不能以P3D或XP有穩(wěn)定的SDK來進(jìn)行直接對比,這是開發(fā)和運(yùn)營時長的問題,簡單的對比穩(wěn)定和規(guī)范性完全沒意義;而且隨著Asobo核心開發(fā)團(tuán)隊在對FS的ESP源碼逐漸深入后,基于ESP這套老系統(tǒng)架構(gòu)的越來越多的問題被暴露出來,老的問題代碼被改進(jìn)或是摒棄重建,新增更多與時俱進(jìn)的內(nèi)容,這也是為什么MSFS2020與FSX或是P3Dv1有很多相同或相似的部分,但在發(fā)布后的三年也有變化的原因;
SDK不穩(wěn)定完善,也就意味著對于能力一般或弱一些的三方開發(fā)者,不論是機(jī)模、地景還是外置功能的開發(fā),都會受到影響;對于一些只依賴SDK進(jìn)行開發(fā)的三方開發(fā)者,MSFS的頻繁更新讓他們無所適從,開發(fā)受到的影響更大;在購買使用這些開發(fā)團(tuán)隊的工具和軟件時,要慎重,首先你能接受問題出現(xiàn)的可能,或者是找其他同類替代品;
這里舉個例子,
比如模飛的錄像軟件,雖然我們?nèi)粘Uf錄像軟件,但模飛的錄像軟件實際上是記錄機(jī)模的動態(tài)數(shù)據(jù),在SDK不穩(wěn)定,在三方開發(fā)者使用自定義機(jī)模代碼變量,在官方的機(jī)模狀態(tài)機(jī)沒有完成標(biāo)準(zhǔn)化之前,目前的三方機(jī)模錄像軟件只能記錄一些“標(biāo)準(zhǔn)化”的數(shù)據(jù),所以即使當(dāng)Asobo團(tuán)隊完成機(jī)模狀態(tài)機(jī)及相關(guān)延展開發(fā)時,還需要三方機(jī)模團(tuán)隊重新規(guī)范自己的機(jī)模代碼變量,這樣之后錄像軟件才能,記錄更好的機(jī)模數(shù)據(jù);但實際上即使現(xiàn)在,并不是所有開發(fā)者都很好的規(guī)范自己的代碼;
從這里,你可以清楚的了解,開發(fā)這件事,不只是需要官方團(tuán)隊的努力,三方開發(fā)團(tuán)隊的態(tài)度和能力也很重要;
2. 一些外置工具軟件需要獨(dú)立啟動,且在啟動后會主動與微軟模擬飛行程序進(jìn)行數(shù)據(jù)握手,最好在微軟模擬飛行啟動之前,完成這些軟件的啟動;
LocalCache/exe.xml文件雖然依舊存在,但這是在游戲啟動后再啟動,如果遇到某些工具軟件需要更新,反而肯能需要重新啟動游戲;
3. 安排好接下來你要玩的內(nèi)容,不是每次飛行都需要啟動所有你的所有的工具軟件,盡可能的降低可能引起游戲崩潰的風(fēng)險;
當(dāng)然加載community插件也是如此,減少調(diào)用插件也可以加快你的游戲啟動速度;降低意外崩潰的幾率;
相比微軟模擬飛行2020發(fā)售之初,在2021年下半年后,游戲本體已經(jīng)相當(dāng)穩(wěn)定了;
4. 在購買、使用這類插件前,詳細(xì)閱讀開發(fā)者的介紹,了解工具可能需要的其他軟件支持需求,了解對windows系統(tǒng)功能的需求,了解對外設(shè)的支持;
比如FS2Crew的系列語音副駕插件,如果要使用其語音功能,前置要求是你的windows開啟相應(yīng)語種的語音識別,以及windows對你個人發(fā)音識別的個性化訓(xùn)練;
5. 絕大多數(shù)外置工具都是付費(fèi)軟件,即使有免費(fèi)版本也相對較少,從三分開發(fā)者官網(wǎng)獲取的方式可以有最快的更新可能;三方銷售渠道商店會慢一點(diǎn);另外,當(dāng)你想獲取“免費(fèi)使用”的情況,注意安全;
?
插件日常管理
在微軟模擬飛行2020時代,我個人使用的插件管理工具是
MSFS Addons Linker
https://flightsim.to/file/1572/msfs-addons-linker
這是一個手動插件管理工具,雖然目前有各別插件管理軟件更為自動化,但當(dāng)你的插件數(shù)量進(jìn)入的千個或是3T、4T的階段后,良好的插件文件夾管理、Tag管理和預(yù)置文件管理,對于這么龐大的插件和工具管理才最為方便;
這里簡要介紹一下經(jīng)驗:
1. 微軟模擬飛行2020時代開啟后,插件和工具的體積單位不再是G,而是T,不僅數(shù)量驚人而且體積龐大,雖然我們的SSD硬盤已經(jīng)進(jìn)入了T時代,但是模飛插件的使用頻率并沒有那么高,所以準(zhǔn)備個2-8T的機(jī)械硬盤來保存插件足夠了,因為絕大多數(shù)的內(nèi)容你并不會經(jīng)常使用;
2. 按照Aircraft、Livery、Scenery、Misc分類,在管理時區(qū)分付費(fèi)和免費(fèi)插件,特別是機(jī)場插件注意除重;好的文件夾管理習(xí)慣,越早養(yǎng)成越容易管理插件;這里可以再對機(jī)場插件進(jìn)行一點(diǎn)喜歡,某些國際和地區(qū)的機(jī)場插件非常多,可以細(xì)化到更細(xì)節(jié)的地區(qū)進(jìn)行管理;
當(dāng)有新的插件加入你的收藏目錄時,可以使用AddonsLinker的搜索功能,檢索一些關(guān)鍵字,看看是否有重復(fù)的,插件的定級文件夾名稱、機(jī)場ICAO代碼一般都是比較好的關(guān)鍵字;
3. 如果你自己有能力動手,一些插件是可以匯總到一個插件頂級文件夾的,不過每次維護(hù)更新要重新生成 layout.json 文件;之前MSFS的community插件數(shù)量超過1024會引起內(nèi)置內(nèi)容管理器無法加載,現(xiàn)在這個問題已經(jīng)解決了;
4. 在安裝新的,未使用過的插件時,臨時放置在一個文件夾,一旦發(fā)現(xiàn)新的插件加載后,游戲中有各種問題,比較方便的排查辦法之一就是,先禁用新增插件;當(dāng)然,閱讀相關(guān)插件的其他用戶反饋和開發(fā)者說明,總是要優(yōu)先做的;
5. 短時間用不到的插件不必一直保持更新,大量的插件,頻繁的更新,結(jié)果你可能從未使用過,時間是寶貴的;
6. 插件模組和外置工具,盡可能從開發(fā)者的官方渠道獲得,雖然總會有人樂于助人,但文件體積大、更新頻繁、文件安全性還是值得在意的;而一些免費(fèi)插件的開發(fā)者,原下載地址的下載數(shù)據(jù)是有意義的,未經(jīng)許可的分流、轉(zhuǎn)發(fā)是不好的;

這篇的文字足夠多了,先停一停,
再下一篇經(jīng)驗談中,我們再聊一聊具體的模組插件和外置工具;
Jed 模擬飛行俱樂部 KOOK 服務(wù)器
https://kook.top/0fFSJR