
操作環境:
- 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
