How-To:Linux 安裝 Unreal Tournament 2004
操作環境:
- Fedora 40
- Unreal Tournament 2004 v3369
有別於許多遊戲續作經常出現內容上的質變,而引起一些爭論或者是遺憾,《浴血戰場 2004》(Unreal Tournament 2004,以下簡稱 UT2004)是一款純粹用加量的思維來開發的遊戲。它擁有前作《浴血戰場 2003》(Unreal Tournament 2003)所有的關卡、武器及遊戲模式等內容,然後又新增了更多的內容,例如更大規模的作戰場景,以及坦克、戰機等交通載具,進一步增添了其豐富性。這使得 UT2004 在 FPS 玩家的心目中,或許可以說是一款符合完美設計典範的遊戲續作。
當年 UT2004 也是原生支援 Linux 平台的遊戲之一,而且更加罕見地,不同於那個時期的許多 Linux 遊戲,是需要另外下載 Linux 版的安裝程式,再搭配 Windows 版的安裝光碟。UT2004 的安裝光碟是同時包含 Linux 版及 Windows 版的安裝程式,也因此成為少數在一般銷售通路上就能夠直接獲得的 Linux 遊戲。
然而時過境遷,如今 UT2004 的 Linux 版已顯得老邁。若是要直接在現代的 Linux 發行版中執行此遊戲,則會遇到蠻多的阻礙。所幸在 Flathub 上有提供一個經過妥善打理的封裝版本,能夠有效地消弭諸多執行障礙,因此本文會以此作為範例流程。
1. 安裝 UT2004 Linux 版
執行以下 Flatpak 安裝指令:
- flatpak install flathub com.epicgames.ut2004
2. 安裝遊戲檔案
UT2004 曾經在 GOG.com 及 Steam 上均可購買,但如今皆已下架,只有先前已獲取此遊戲的玩家仍能夠從發行平台下載。本文依然會以 GOG.com 所提供的 Windows 版安裝程式作為初始步驟,因此是使用 Wine 來執行安裝程式:
- wine setup_ut2004_2.0.0.6.exe
為簡化後續的指令操作,安裝路徑是指定為使用者家目錄下的「ut2004」。完成安裝後,再將遊戲檔案全數複製到 Flatpak 環境的指定路徑中:
- mkdir -p ~/.var/app/com.epicgames.ut2004/data/
- rsync -rv ~/ut2004/ ~/.var/app/com.epicgames.ut2004/data/
接著需要留意 UT2004 的遊戲程式依賴 CDKey,以 Windows 版來說,即是透過安裝程式寫入到登錄機碼中。至於在有安裝 Wine 的 Linux 系統上,則可以如同於 Windows,執行 regedit 來檢視登錄機碼裡的 CDKey 內容,是位於 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Unreal Technology\Installed Apps\UT2004\CDKey 裡。由於本文範例是另外執行原生的 Linux 版,所以 CDKey 仍會在稍後執行遊戲時要求輸入,因此應預先從登錄機碼中記錄下來。或者也可以直接將 CDKey 寫入到 Linux 版的遊戲目錄中:
- echo "XXXXX-XXXXX-XXXXX-XXXXX"> ~/.var/app/com.epicgames.ut2004/data/System/cdkey
完成前述步驟後,原本的 Windows 版遊戲目錄就不再必要,可以考慮移除。
3. 執行遊戲
使用以下 Flatpak 指令來執行遊戲:
- flatpak run com.epicgames.ut2004
4. 調整遊戲解析度
有許多解析度比例在遊戲的設定選單中是不存在的,但可以透過手動編輯設定檔的方式實現。遊戲在首次執行後,會產生以下設定檔:
~/.var/app/com.epicgames.ut2004/.ut2004/System/UT2004.ini
編輯該檔案,找尋到 [SDLDrv.SDLClient] 區段,再自行修改下列項目:
FullscreenViewportX=<寬>
FullscreenViewportY=<高>
5. 啟用動態陰影
遊戲最終更新版本仍遺留的一項 Bug,是 OpenGL 繪圖模式下的動態陰影效果,無法直接在遊戲設定選單中做啟用。所以得同樣地編輯 UT2004.ini,在 [OpenGLDrv.OpenGLRenderDevice] 區段中,加入以下設定值:
UseRenderTargets=True
儲存此設定後,動態陰影應可正確呈現。除此之外,倘若需要對遊戲做一定程度的效能評估,可以在遊戲中按下「~」鍵,然後輸入「stat fps」來檢視當前的畫面張數。
6. 變更遊戲主伺服器
由於 Epic Games 已關閉了官方的主伺服器(master server),因此倘若欲連接網際網路的遊戲大廳,則需要在設定檔中變更至社群所提供的主伺服器。所需的修改,實際上已經在 Flatpak 的啟動腳本裡有自動處理過。不過若是要自行確認,那麼在 UT2004.ini 的 [IpDrv.MasterServerLink] 區段裡,下列舊設定值需要註解(;)起來:
;MasterServerList=(Address="ut2004master1.epicgames.com",Port=28902)
;MasterServerList=(Address="ut2004master2.epicgames.com",Port=28902)
然後必須存在以下設定值,以切換至社群主伺服器:
MasterServerList=(Address="utmaster.openspy.net",Port=28902)
7. 安裝及啟動擴充模組
UT2004 也擁有為數不少的遊戲模組,其中某些模組後來還進一步發展成獨立的遊戲作品。模組的安裝及啟動方式通常來說相當一致,將整個模組目錄,放置到 UT2004 的遊戲目錄中,成為當中的一個子目錄。然後在執行遊戲時加上 -mod=<模組名稱> 的參數,便會啟動該模組來進行遊戲。因此以 Flatpak 環境來說,假設模組名稱為 Foobar,則所在位置就例如:
~/.var/app/com.epicgames.ut2004/data/Foobar
以及啟動方式則為:
- flatpak run com.epicgames.ut2004 -mod=Foorbar
8. 其它參考資料
- https://www.pcgamingwiki.com/wiki/Unreal_Tournament_2004
- https://help.ubuntu.com/community/Games/Native/UnrealTournament2004