Repo ↗ · 原始 README ↗ · 文件包(Markdown/授權)
封面參考(原作): Grand Tactician: The Civil War (1861-1865) · 原作宣傳圖,由 IGDB 提供。圖片版權屬原權利人,供辨識原作使用,不代表此重寫/模組專案的實際畫面。
來源維護者: josha204 · 版本: 391f8c246429 · 整理日期: 2026-10-12
文件授權: MIT · LICENSE · 本文形式: README 翻譯
下文為來源 README 的繁中翻譯,由 Kirikirin 使用 AI 輔助整理;功能、完成度與測試結果均為原作者描述,本站未逐項實機驗證。圖片改為來源連結,指令與技術識別保留原文。
GT Live:Grand Tactician: The Civil War 的即時 2 人戰役
GT Live 是一個將 Grand Tactician 戰役變成兩名玩家在兩台 PC 上進行即時、實時對戰遊戲的模組。一名玩家指揮聯邦,另一名指揮邦聯。戰役時鐘對雙方持續運行,任一方都可以暫停或變更速度。沒有回合。
當你們的軍隊相遇時,你們可以在 3D 戰術視圖中一起作戰,各自指揮自己的軍隊。
版本 0.3.0 適用於 Grand Tactician 1.142。雙方玩家都需要版本 0.3.0;它無法連線到較舊的版本。
0.3.0 的新增內容:增援、浮橋、戰壕與路障,以及停火現在可在共享 3D 戰鬥中運作。它也修正了遊戲本身的一個錯誤,即戰役地圖上的圍城式交戰可能會以錯誤結束。
你需要什麼
- 雙方玩家都在 Steam 上擁有 Grand Tactician: The Civil War (1861-1865)。
- 雙方都在相同的遊戲版本,本發行版為 1.142。
- 雙方都擁有、或都沒有 Whiskey & Lemons DLC。模組會在你們連線時檢查這一點。
- 雙方都安裝了此模組,相同版本。
安裝
- 在 Steam 中,右鍵點擊 Grand Tactician,然後選擇 管理 → 瀏覽本機檔案。
- 將此資料夾中的所有內容複製到該遊戲資料夾。也就是
winhttp.dll、doorstop_config.ini、.doorstop_version、changelog.txt以及BepInEx資料夾。允許它合併或覆寫現有檔案。 - 啟動遊戲。一個小的 GT Live 視窗會出現在左上角。按 F8 顯示或隱藏它。
從較舊版本升級:再次複製該資料夾;它會取代 BepInEx\plugins\GTLive\GTLive.dll。
若要關閉模組,請從遊戲資料夾刪除 winhttp.dll。若要完全移除它,也請刪除 doorstop_config.ini、.doorstop_version、changelog.txt 以及 BepInEx 資料夾。
此模組包含 BepInEx 5.4.23.5(https://github.com/BepInEx/BepInEx, LGPL-2.1)。BepInEx 是 Unity 遊戲的標準模組載入器,而此模組透過它運行。
遊玩
主機(使用其戰役的玩家):
- 以聯邦或邦聯載入或開始一場戰役,方式與單人遊戲相同。
- 在 GT Live 視窗中,輸入你的名稱並選擇戰鬥的處理方式(見下文),然後點擊 Host。
- 將你的位址給你的朋友(見「透過網際網路連線」)。
訪客:
- 從主選單,或從任何戰役內,用 F8 開啟 GT Live 視窗。
- 輸入主機的位址並點擊 Join。
主機的戰役會傳送給訪客(約 3 MB)。接著雙方遊戲都會載入它,這需要約 30-40 秒。訪客扮演另一方。
工作階段開始時為暫停。任一方玩家接著可以:
- 用一般時間按鈕或熱鍵取消暫停或變更速度,這會為雙方玩家變更時鐘;
- 在時鐘運行時隨時向自己的軍隊下達命令。
在多人遊戲中,開啟財務、政策或貿易面板不會暫停遊戲。這正是它即時的原因。如果你需要休息,請使用暫停按鈕。
戰鬥
主機在主持前選擇兩種戰鬥設定之一:
- 詢問雙方玩家(預設):當你們的軍隊相遇時,遊戲會為你們雙方暫停,且每名玩家都會取得遊戲本身的戰鬥面板:進行戰鬥、自動解決、防禦、撤退或退卻,並可勾選自己的陣型。當雙方都回答後,戰鬥即決定。
- **一律自動解決:**每場戰鬥都在戰役地圖上解決,不會停止遊戲。
兩個回答如何結合
| 你的選擇與對手的選擇 | 會發生什麼 |
|---|---|
| 任一方玩家選擇 撤退 或 退卻 | 該軍隊撤退或退卻,且沒有戰鬥。 |
| 雙方都選擇 進行戰鬥 | 一場完整的玩家對玩家 3D 戰鬥。你們各自指揮自己的軍隊。 |
| 一方選擇 進行戰鬥 | 一場 3D 戰鬥。該玩家指揮其軍隊;另一支軍隊由遊戲的戰鬥 AI 指揮。其玩家即時觀看戰鬥,並可隨時接管指揮(見下文)。 |
| 雙方都選擇 防禦 | 雙方軍隊挖壕固守,且沒有戰鬥。 |
| 其他任何情況 | 戰鬥在戰役地圖上自動解決。選擇防禦會先讓該軍隊進入防禦姿態。 |
自動解決面板的 戰鬥 按鈕運作方式相同:按下它的人會在 3D 中指揮其軍隊,而另一支軍隊由 AI 運行,其玩家觀看。
對抗 AI 控制的歐洲列強的戰鬥由遊戲如單人遊戲般處理。
在 3D 戰鬥中
- **載入:**主機的遊戲載入戰場,然後傳送給訪客(約 3-4 MB)。預計在你們雙方都上場前約需一分鐘。
- **部署:**每名指揮玩家部署自己的軍隊。準備好時按 play。當每名指揮玩家都準備好時,戰鬥會以你們所選速度中較快者開始。
- **時鐘:**一個共享的戰鬥時鐘,如同在戰役地圖上。任一方玩家都可以暫停或變更速度。
- **命令:**你通常會做的一切。移動命令仍會由傳令兵傳遞,並有通常的延遲。
- **戰爭迷霧:**每名玩家只看得到自己部隊能看到的東西。這也適用於在 AI 指揮其軍隊時觀看的玩家。
- **接管指揮:**當 AI 指揮你的軍隊時,GT Live 視窗會顯示 接管我的軍隊指揮。按下它,軍隊從那一刻起就是你的,並帶有其當前命令。你不能把它交還給 AI。
- **一天結束:**在夜幕降臨時,雙方玩家都會看到一天結束與部隊已補給的提示。任一方玩家按下 繼續 都會為雙方推進夜晚。隔天早上雙方軍隊會再次部署。
- **增援:**足夠接近以加入戰鬥的陣型會為雙方玩家在同一時間、經由同一個進入點行軍上場。
- **工程:**浮橋(以部署點數立即建造,或在戰鬥期間由工兵在河岸建造)以及戰壕與路障(在部署時立即建造,或在戰鬥期間由步兵挖掘)會在建造時為雙方玩家出現。橋樑只有在完成後才會變得可通行,對雙方軍隊皆然。
- **軍隊命令:**撤退(白天或夜晚)與投降對雙方玩家都有效。
- **停火:**當一名玩家提議停火時,另一名玩家會在 GT Live 視窗中取得 接受停火 與 拒絕。如果他們接受,戰鬥會為雙方停止直到早上。如果另一支軍隊由 AI 指揮(其玩家正在觀看),AI 會同意,如同單人遊戲。
- **結束:**當戰鬥結束時,雙方玩家都會從自己的一方看到結果。主機以正常方式離開戰場。雙方遊戲接著帶著戰鬥結果返回戰役,這意味著再一次 30-40 秒的載入。
主機的遊戲運行戰鬥;訪客的遊戲顯示同一場戰鬥並將其命令傳送給主機。在訪客的螢幕上,移動中的單位可能會與主機遊戲中所在的位置相差幾步。它們會在行軍時平滑地校正,若差距擴大則會立即校正。
儲存與稍後繼續
主機以正常方式儲存,自動儲存也照常運作。若要在另一天繼續多人戰役,主機載入存檔並再次點擊 Host,訪客則加入。
每次發生完整同步時,模組也會在主機的存檔清單中保留一個名為「GTLive」的存檔。該存檔保存最後一次同步時的狀態。
在多人遊戲中不支援在 3D 戰鬥期間儲存。請先完成戰鬥。
重新同步
重新同步訪客(主機)與 要求重新同步(訪客)會再次傳送整場戰役,這需要約 30-40 秒的載入。如果雙方遊戲對存在哪些軍隊停止一致,模組也會自行重新同步。通常你永遠不需要這個按鈕。它在 3D 戰鬥期間會隱藏。
透過網際網路連線
主機會在 TCP 連接埠 27455 上監聽。你可以在 GT Live 視窗中,或在 BepInEx\config\gtlive.multiplayer.cfg 中變更連接埠。
- **同一個家用網路:**訪客輸入主機 PC 的本機 IP。在主機上執行
ipconfig來找到它;它通常看起來像192.168.x.x。當 Windows 詢問時,允許遊戲通過 Windows 防火牆。 - **透過網際網路,最簡單的選項:**雙方玩家安裝免費的虛擬區域網路工具,例如 Tailscale、ZeroTier 或 Radmin VPN,並加入同一個網路。訪客接著加入主機在該網路上的位址,在 Tailscale 中看起來像
100.x.x.x。 - **透過網際網路並使用連接埠轉送:**在主機的路由器上將 TCP 27455 轉送到主機 PC。訪客加入主機的公用 IP。
3D 戰鬥傳送的資料比戰役地圖更多,大多是從主機到訪客,且移動的單位越多就越多。任何正常的寬頻連線應該都沒問題,但這尚未透過網際網路測試過。
哪些內容會即時保持同步
- **時鐘:**暫停、速度,以及日期與時間。每台 PC 都跟隨主機的時鐘。
- **軍隊命令:**移動與路徑點、鐵路、海運與河運、姿態、騎兵命令與艦隊命令。雙方玩家可以同時下達命令。
- **單位兵力:**人員、患病、受傷與被俘、士氣與經驗。戰鬥傷亡與消耗就是這樣傳達到訪客的。
- 戰鬥序列:
- 招募旅與團;
- 建立師、軍與軍團;
- 在戰鬥序列中拖放移動;
- 分遣單位;
- 解散單位與在戰鬥中被摧毀的單位。
- **指揮官:**任命、晉升、傷亡,以及新建立的指揮官。
- 經濟與政治:
- 國庫與債務;
- 稅收與補貼;
- 全國士氣;
- 新兵與州支持;
- 政策研究;
- 計畫;
- 武器庫存、武器訂單與武器升級;
- 運輸容量。
- 地圖:
- 城鎮與產業所有權;
- 補給站、堡壘、連隊與其他建築物(建造、所有權與等級);
- 鐵路建造;
- 船隻,包括造船以及在艦隊與港口之間移動船隻;
- 天氣與積雪;
- 戰鬥標記及其結果。
- 3D 戰鬥:
- 單位位置、朝向、陣型與路線;
- 傷亡、士氣、疲勞與彈藥;
- 潰逃與重整;
- 戰鬥行為、AI 姿態、分遣、騎乘;
- 目標、衝鋒與佔領建築物;
- 部署、一天結束、夜晚與隔天早上;
- 戰鬥期間抵達的增援;
- 浮橋、戰壕與路障;
- 目標、天氣、撤退、投降、停火與結果。
每名玩家都保留自己的自動管理設定(財務、建設、政策等等)。主機為雙方運行自動管理,各自使用其擁有者的設定。
已知限制
- 僅限兩名玩家,每方一名。歐洲列強仍由 AI 控制。
- 主機的遊戲是權威。如果雙方遊戲不一致,以主機的版本為準。在慢速連線上,訪客的動作需要一點時間才會「生效」。
- 在 3D 戰鬥中,你看到騎行的傳令兵是你自己的。另一名玩家的傳令兵不會顯示。
- 即時同步未涵蓋的罕見動作可能需要手動重新同步。自動安全網通常會捕捉到這些。例子包括將一支軍隊拆分為一個軍團群,以及一些不常見的戰鬥序列動作。
- Whiskey & Lemons 生涯戰役無法在多人遊戲中遊玩。
- 工作階段結束後,仍載入的戰役對另一方沒有 AI。載入存檔以繼續單人遊玩。
疑難排解
- 我點擊 Join 時沒有任何反應。 檢查位址與連接埠,確認主機已點擊 Host,並在主機上允許遊戲通過 Windows 防火牆。透過網際網路連線時,請使用虛擬區域網路工具(見上文)。
- 「版本不符」。 雙方玩家需要相同的遊戲版本與相同的 DLC,且雙方都需要這個確切的模組版本。
- 兩邊的遊戲看起來不一樣。 點擊 Resync(在戰役地圖上)。
- 「你正在觀戰:AI 指揮你的軍隊。」 你沒有為這場戰鬥選擇 Play battle。在 GT Live 視窗(F8)中按下 Take command of my army 來接管。
- 記錄檔位於遊戲資料夾中的
BepInEx\LogOutput.log。回報問題時請附上該檔案。
原始碼
本模組的完整原始碼位於 src/GTLive。這是用於 BepInEx 5 與 Harmony 的 C#。它只包含模組本身的程式碼:不包含遊戲的程式碼,且本模組是對照你自己的遊戲複本編譯的。
可直接安裝的模組位於 Releases 頁面。
自行建置
你需要:
- .NET SDK,版本 6 或更新(dotnet.microsoft.com);
- 已安裝 Grand Tactician;
- 遊戲資料夾中有 BepInEx。先從 release zip 安裝模組一次;建置程序會使用該處的 BepInEx 檔案。
接著,在 src/GTLive 資料夾中:
dotnet build -c Release
模組會建置到 src/GTLive/bin/Release/GTLive.dll。將其複製到遊戲資料夾中的 BepInEx\plugins\GTLive\,取代 release 的版本。加入 -p:Deploy=true 可讓建置程序為你複製到該處。
如果你的遊戲不在預設的 Steam 位置,請將其所屬資料夾提供給建置程序:
dotnet build -c Release -p:GameDir="D:\SteamLibrary\steamapps\common\Grand Tactician The Civil War (1861-1865)"
你自己建置的 DLL 不會與發佈的版本逐位元組完全相同,因為建置路徑不同,但運作方式相同。
什麼在哪裡
Plugin.cs:啟動與設定。Session.cs與Net/:主持、加入、版本檢查與傳送戰役。Sync/:讓戰役地圖保持同步(時鐘、命令、單位戰力、經濟、戰鬥序列、指揮官、城鎮、建築、鐵路、船艦、天氣)。Battle/:戰鬥提示與共享 3D 戰鬥。Patches/:模組在遊戲內所做的變更(Harmony 修補)。Overlay.cs:GT Live 視窗。Lab.cs:開發期間使用的測試框架。只有在遊戲以--gtlive-lab啟動選項啟動時才會開啟。
授權與來源聲明
原始 README 與翻譯沿用 MIT 授權;本次修改為繁中翻譯、連結與排版調整。可修改的 Markdown、原始 README、LICENSE 與 NOTICE 收錄於頂部文件包。原作遊戲內容與商標不因此獲得授權。
LICENSE
MIT License
Copyright (c) 2026 Joshua Aycock
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

評論
…