移至主內容
DarkRanger's Secret Area

主導覽

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

文章分類

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

最新內容

  • rsync and outrage
  • Email is crazy
  • How-To:Linux 安裝 Arma: Cold War Assault
  • How-To:Linux 安裝 Torchlight II
  • RPM Fusion 手動找尋及安裝舊版套件
  • USB for Software Developers: An introduction to writing userspace USB drivers
  • RHEL 8 tracker-extract 服務持續重啟問題
  • Linux 的 atkbd 鍵盤錯誤
  • RAMpocalypse
  • Windows Native App Development Is a Mess

導航連結

  • 首頁
  • Linux 專區
  • Linux 遊戲
  • 第一人稱射擊類
  • How-To:Linux 安裝 Unreal Tournament 2004

How-To:Linux 安裝 Unreal Tournament 2004

發表日期:星期六, 10/29/2016 - 19:38,更新日期:星期五, 07/24/2026 - 22:07

操作環境:

  • Fedora 43
  • Unreal Tournament 2004 v3374 Preview 23

 

有別於許多遊戲續作經常出現內容上的質變,而引起一些爭論或者是遺憾,《浴血戰場 2004》(Unreal Tournament 2004,以下簡稱 UT2004)是一款純粹用加量的思維來開發的遊戲。它擁有前作《浴血戰場 2003》(Unreal Tournament 2003)所有的關卡、武器及遊戲模式等內容,然後又新增了更多的內容,例如更大規模的作戰場景,以及坦克、戰機等交通載具,進一步增添了其豐富性。這使得 UT2004 在 FPS 玩家的心目中,或許可以說是一款符合完美設計典範的遊戲續作。

 

當年 UT2004 也是原生支援 Linux 平台的遊戲之一,而且更加罕見地,不同於那個時期的許多 Linux 遊戲,是需要另外下載 Linux 版的安裝程式,再搭配 Windows 版的安裝光碟。UT2004 的安裝光碟是同時包含 Linux 版及 Windows 版的安裝程式,也因此成為少數在一般銷售通路上就能夠直接獲得的 Linux 遊戲。

 

Windows 版的 UT2004 曾經在 GOG.com 及 Steam 上均可購買,是從線上通路獲取此遊戲的主要來源,但如今皆已下架。如今 Epic Games 的處理對策,是與 OldUnreal 社群合作,將遊戲免費提供給玩家下載,並且也是由 OldUnreal 接手提供後續的維護及開發。官方釋出的最終版本為 v3369,而後續社群維護的更新版本則可在此獲取。由於社群更新版修正了許多陳舊問題,並且也是唯一仍在持續維護的版本,因此本文會是以社群版本來進行說明。

 

OldUnreal 事實上也有提供 Linux 平台的安裝腳本,來完成遊戲的自動化下載及安裝。而本文之所以採取比較手工的流程,是因為此舉能夠讓人瞭解遊戲安裝及滿足執行需求的確切細節,是比較有利於自訂及排錯。而且這其實是一次性的過程,一旦完成之後,玩家就可以將整個建置好的遊戲目錄打包起來供後續使用,並不繁雜。

 

1. 獲取及安裝遊戲檔案

雖然 UT2004 已從 GOG.com 下架,但平心而論,GOG.com 所提供的離線安裝程式確實是最方便的安裝來源。所以倘若玩家曾經在 GOG.com 上購買此遊戲,因此擁有其所提供的安裝程式, 那麼可以使用 Wine 來執行安裝:

  • wine setup_ut2004_2.0.0.6.exe

 

 

本文範例是將安裝路徑指定為使用者家目錄下的「ut2004」。倘若手上沒有像這樣簡化的安裝來源,那麼獲取遊戲檔案的最主要途經,就是下載及解開官方發佈的原始安裝映像檔。首先使用 dnf 指令安裝以下套件:

  • sudo dnf install p7zip-plugins unshield

 

接著便下載遊戲映像檔:

  • wget https://files.oldunreal.net/UT2004.ISO

 

完成下載後,執行以下一系列步驟,將映像檔解開至「iso」目錄,然後在裡面集中及解開所有的 *.cab 封裝,最後再複製所需目錄及檔案至新建立的「ut2004」目錄中:

  • 7z x UT2004.ISO -y -oiso
  • cd iso/
  • find . -type f \( -name '*.cab' -o -name '*.hdr' \) -exec mv {} . \;
  • unshield x data1.cab
  • mkdir ~/ut2004
  • mv All_Animations ~/ut2004/Animations
  • mv All_Benchmark ~/ut2004/Benchmark
  • mv All_ForceFeedback ~/ut2004/ForceFeedback
  • mv All_Help ~/ut2004/Help
  • mv All_KarmaData ~/ut2004/KarmaData
  • mv All_Maps ~/ut2004/Maps
  • mv All_Music ~/ut2004/Music
  • mv All_StaticMeshes ~/ut2004/StaticMeshes
  • mv All_Textures ~/ut2004/Textures
  • mv All_Web ~/ut2004/Web
  • mv English_Sounds_Speech_System_Help/System ~/ut2004/System
  • mv English_Sounds_Speech_System_Help/Sounds ~/ut2004/Sounds
  • mv English_Sounds_Speech_System_Help/Speech ~/ut2004/Speech
  • mkdir -p ~/ut2004/Prefabs

 

順利完成前述操作後,使用者家目錄下應該要存在「ut2004」目錄,並且其內應存在下列子目錄:Animations、Help、KarmaData、Maps、Music、Prefabs、System、Sounds、Speech、StaticMeshes 及 Textures。

 

2. 清理部份舊版檔案

雖然在社群維護版本的安裝說明裡,是指示 System 子目錄應先予以刪除,然後再解開 Linux 遊戲程式到目錄中。因為遊戲引擎在載入檔案時是不區分檔名大小寫的,有可能會形成舊版檔案被載入的情形。但由於若事先刪除整個 System 子目錄,實際上也會另外形成缺檔的狀況(例如少了 OnslaughtBP.ucl),會在遊戲裡短少某些可用選項。所以目前覺得最直覺的解決方案是將 System 子目錄的內容保留下來,然後如以下步驟所示,僅僅明確地刪除特定的檔案:

  • cd ~/ut2004/System
  • rm Bonuspack.u Gui2K4.u Gameplay.u Ipdrv.u Skaarjpack.u StreamLineFX.u UT2K4Assault.u UT2K4AssaultFull.u XVoting.u xWebAdmin.u

 

3. 下載及安裝由 OldUnreal 所提供的 Linux 遊戲程式

在此頁面找尋及下載可見的最新版本,然後直接解壓縮到遊戲安裝目錄:

  • tar jxvf OldUnreal-UT2004Patch3374-Linux-094b94dc.tar.bz2 -C ~/ut2004/

 

4. 執行遊戲

執行以下指令:

  • ~/ut2004/System/UT2004

 

5. 疑難排解

遊戲在初次執行後,會自動產生 ~/.ut2004 這個隱藏目錄,以及其內的 System/UT2004.ini 設定檔。倘若遊戲執行時有遇到設定或運作上的非預期狀況,可以嘗試移除整個「.ut2004」設定檔目錄,讓遊戲重建一次設定,看能否排除問題。此外若是需要對遊戲做一定程度的效能評估,則可以在遊戲中按下「~」鍵,然後輸入「stat fps」來檢視當前的畫面張數。

 

某些關卡可能會遇到材質顯示異常的問題,例如 BR-DE-ElecFields、CTF-DE-ElecFields。至於解決方案則是在遊戲中的設定選項【Settings】→【Display】→【Render Device】,從「OpenGL」變更至「Anti (OpenGL 3.x」。

 

6. 安裝及啟動擴充模組

UT2004 也擁有為數不少的遊戲模組,其中某些模組後來還進一步發展成獨立的遊戲作品。模組的安裝及啟動方式通常來說相當一致,將整個模組目錄,放置到 UT2004 的遊戲目錄中,成為當中的一個子目錄,並確認其內存在一個名為 UT2K4MOD.ini(大小寫有差)的設定檔。然後在執行遊戲時加上 -mod=<模組名稱> 的參數,便會啟動該模組來進行遊戲。因此假設模組名稱為 Foobar,則所在位置即為 ~/ut2004/Foobar,以及啟動方式如下:

  • ~/ut2004/System/UT2004 -mod=Foorbar