移至主內容
DarkRanger's Secret Area

主導覽

  • 首頁
  • 關於本站
  • Linux
  • 程式開發
  • N900
  • 譯文
  • 資訊技術辭典

文章分類

  • 影劇
  • 遊戲
  • 筆記
  • 雜文
  • 資訊技術
  • 站務訊息

最新內容

  • How-To:Linux 安裝 Wargus
  • 網站主機 PHP 版本升級至 8.3
  • Operation Elop 13. The catastrophe called Symbian
  • I use zip bombs to protect my server
  • Iconography of the PuTTY tools
  • Fedora 42 安裝 OpenSSL 1.1
  • 關於本站改版的其它替代方案
  • 半途而廢的未破台單機遊戲列表
  • The Big Picture (1997)
  • How-To:Linux 安裝 DevilutionX

導航連結

  • 首頁
  • Linux 專區
  • Linux 遊戲
  • 策略及戰略類
  • How-To:Linux 安裝 Wargus

How-To:Linux 安裝 Wargus

發表日期:星期日, 08/03/2025 - 22:34

操作環境:

  • Fedora 42

 

《魔獸爭霸 II》(Warcraft II: Tides of Darkness,1995)雖然實際上並非是 DR 真正玩到的第一款即時戰略遊戲(real-time strategy,RTS),但卻是首次讓 DR 認識到有這樣的遊戲類型存在。當年看著朋友玩時,可說是倍感震撼,不同於回合制那種你動一步、我再動一步的緩慢步調,遊戲是以即時化的方式進行,節奏刺激許多。而且作戰單位也不再是死板的數據顯示,而是手上有多少兵馬,便在畫面上直接陳列出來。遊戲畫面及人物、建物模型也都相當生動且精緻有趣。可以看著雙方單位彼此砍殺、陸海空大亂鬥,以及工人搬運礦物及伐木,等等這些。

 

《魔獸爭霸 II》於 2024 年推出了官方的重製版本,也是如今唯一仍在官方通路上銷售的版本。不過準確來說,這並非是唯一的現代化解決方案。倘若玩家喜歡自找麻煩(?),總是想試試看開源碼的解決方案可以做到什麼程度,或者是偏好於無 DRM 限制的遊戲安裝方式,那麼 Stratagus + Wargus 就是一項可以嘗試的選項。

 

起初是以社群化重製《魔獸爭霸 II》的方向發展,不過在面臨侵權爭議後,整個專案便重構成兩個部份:其一是建構出開源碼、跨平台的 2D RTS 遊戲引擎,命名為 Stratagus;其二則是以 Stratagus 模組的形式,提供對《魔獸爭霸 II》遊戲內容的支援,命名為 Wargus。除此之外也有對於初代《魔獸爭霸》(Warcraft: Orcs & Humans,1994)甚至是《星海爭霸》(StarCraft,1998)的支援嘗試,分別為 War1gus 及 Stargus 模組。

 

然而若循此種途徑,玩家可能會有兩項挑戰需要解決。首先是 Wargus 仍需要原始《魔獸爭霸 II》的素材才能執行起來,所以玩家手上必須要有遊戲安裝程式。GOG.com 曾經有提供最為便利的獲取管道,後來 DR 在得知即將下架的消息後(很可能就是因為官方要推重製版的緣故),自己便趕緊出手買下來。因此本文範例會是使用 GOG.com 所提供的安裝程式,就此環節而言是相對簡便一些。

 

另一項挑戰,則是 Linux 玩家因所使用的系統環境而異,很有可能會想要自行重新編譯 Stratagus 及 Wargus。然而這是一個相對繁雜許多的流程,並且有不少應加以留意的事項。而本文雖然是走此途徑,但玩家實際上也可以考慮使用自動發佈的 AppImage,或者透過 Wine 來執行 Windows 版的 Wargus,過程都能夠簡化許多。至於之所以沒有以 AppImage 作為首選方案的原因,是它依然還是需要涉及一些人工操作,才能順利執行遊戲;同時排查問題的直覺性也不及整個手動編譯及安裝的流程。

 

1. 安裝所需套件

在 Fedora 發行版上,可以藉由以下 dnf 指令來安裝所需套件:

  • sudo dnf group install c-development
  • sudo dnf install git cmake SDL2-devel SDL2_mixer-devel SDL2_image-devel libmng-devel libpng-devel compat-lua-devel compat-tolua++-devel libtheora-devel libvorbis-devel bzip2-devel innoextract ffmpeg

 

其中需要留意,Stratagus 遊戲引擎對於 Lua 5.1 版有相當寫死的依賴,若系統安裝的 lua 及 tolua++ 套件版本無法正確地滿足這項要求,則原始碼可能無法編譯;或者即便編譯成功,但在程式執行時則跑出 Segmentation fault,實際上無法運作。

 

2. 編譯及安裝 Stratagus

在使用者家目錄下,依序執行以下指令:

  • git clone --recursive https://github.com/Wargus/stratagus.git
  • cd stratagus/
  • mkdir build
  • cd build
  • cmake -DCMAKE_INSTALL_PREFIX=$HOME/warcraft2 -DLUA_INCLUDE_DIR=/usr/include/lua-5.1 ../
  • make -j2(以兩個執行緒進行編譯,可自行調整)
  • make install

 

倘若前述過程皆執行無誤,使用者家目錄下應會有一個名為「stratagus」的專案原始碼目錄;以及一個自訂名稱的「warcraft2」目錄,Stratagus 遊戲引擎便是安裝在其中。不過在執行步驟中的 make install 以前,也可以先在 build 目錄中執行「./stratagus」或「./stratagus_tests」測試看看。倘若有顯示錯誤,即表示遊戲引擎無法正確運作,那麼後續即便 Wargus 有編譯及安裝起來也會無法執行。因此需要設法在此階段找出問題再重新編譯,例如用「ldd stratagus」指令來檢查所連結的函式庫來源。

 

3. 編譯及安裝 Wargus

同樣在使用者家目錄下,依序執行以下指令:

  • git clone --recursive https://github.com/Wargus/wargus.git
  • cd wargus/
  • mkdir build
  • cd build
  • cmake -DCMAKE_INSTALL_PREFIX=$HOME/warcraft2 -DSTRATAGUS_INCLUDE_DIR=$HOME/stratagus/gameheaders -DSTRATAGUS=$HOME/warcraft2/games/stratagus ../
  • make -j2(以兩個執行緒進行編譯,可自行調整)
  • make install

 

前述過程若執行無誤,在使用者家目錄下應會有一個名為「wargus」的專案原始碼目錄。至於所安裝的 Wargus 模組則相同於先前步驟中已安裝的 Stratagus 遊戲引擎,是放置在自訂的「warcraft2」目錄內。

 

4. 安裝及執行遊戲

在使用者家目錄下,先執行以下指令複製所需的工具程式(wartool):

  • cp ~/warcraft2/bin/wartool ~/warcraft2/games/

 

然後前往 wargus 執行檔所在之目錄:

  • cd ~/warcraft2/games/

 

接著在執行時加上 GOG.com 安裝程式所在之位置作為參數,便會自動解開該安裝程式,並複製所需檔案至遊戲資料目錄:

  • ./wargus ~/Warcraft\ II/setup_warcraft_ii_2.02_v5_\(78104\).exe

 

需要留意這個解開及複製的動作,並不會自動刪除解開的檔案,而且是把檔案解開至命令行的當前目錄下。所以倘若不希望在非預期的地方出現一堆檔案要自行清理,最好是前往特定的目錄再執行指令(例如本文的 ~/warcraft2/games/)。

 

除此之外,還需要再複製 Wargus 的必要檔案至遊戲資料目錄內:

  • rsync -rv ~/warcraft2/share/games/stratagus/wargus/ ~/.local/share/stratagus/data.Wargus/

 

最後,執行遊戲的方式即為:

  • ./wargus

 

儘管 Wargus 並沒有如官方重製版那樣,擁有增強品質的素材,但仍支援各種解析度顯示,在現代的系統環境上已算是足敷可用。並且在遊戲操控上也有做出與時俱進的調整,RTS 玩家應不會覺得有任何古老而難以適應之處。只是遊戲的程式碼似乎不太可靠,可能會遇到不只一種故障狀況。整個 Stratagus + Wargus 專案的發展雖然已相當悠久,但似乎也依然需要社群的更多關注與支援。