《德軍總部:敵方領土》的第二次生命
ET: Legacy 是一個基於 Wolfenstein: Enemy Territory 代碼的開源項目,該項目於 2010 年根據 GPLv3 條款發布。
這個項目有兩個面向:
欲了解更多信息,請參閱我們的維基百科。
請參閱貢獻。
參見安全。
ET:舊版 Windows 安裝程式現已獲得 SignPath Foundation 簽名
《德軍總部:敵方領土》是免費版本,可從 Splash Damage 下載。
此原始版本僅包含引擎和模組程式碼,但不包含任何遊戲數據,這些數據仍受原始 EULA 的覆蓋,必須像往常一樣遵守。
為了執行 ET: Legacy,您需要將原始pak0.pk3資源檔案複製到 etmain 資料夾。此外,第三方 mod 可能還需要pak1.pk3和pak2.pk3資源檔。
ET:Legacy 盡可能與 ET 2.60b 版本保持相容。
請注意,《ET:舊版》與啟用 PunkBuster 的伺服器不相容。 ET:舊版客戶端也無法連線到執行 ETPro mod 的伺服器。
請記住,64 位元 ET:舊版用戶端只能連接到運行提供 64 位元版本的 mod 的伺服器。只有當您在 32 位元系統上編譯 ET: Legacy 或在 64 位元系統上針對 32 位元架構交叉編譯它時,您才能夠玩僅 32 位元的 mod。
目前,只有 ETrun、ETJump、N!tmod 和 Legacy mods 提供 64 位元版本,而所有其他現有 mods 均提供 32 位元版本。在相容模組 wiki 頁面上了解更多。
如果您正在執行 64 位元系統,您可能想要使用位於單獨的etlegacy-libs儲存庫中的捆綁庫,並且可以使用git submodule
命令自動下載。有關更多詳細信息,請參閱下一節。
必需的:
可選,預設啟用:
從我們的 Libs Changelog wiki 頁面獲取有關當前 lib 版本的資訊。
若要取得最新的原始程式碼,請安裝 git 並複製我們在 Github.com 上託管的儲存庫:
$ git clone [email protected]:etlegacy/etlegacy.git
如果您的系統上未安裝所需的依賴項,請執行:
$ git submodule init
$ git submodule update
這會將基本依賴項下載到libs/
目錄中。您可以透過變更 CMakeList.txt 設定檔中的BUNDLED_LIBS
變數來選擇是否使用捆綁庫而不是系統函式庫。然後,您可以透過切換對應的BUNDLED_XXX
變數來選擇要使用的捆綁庫。
要在系統範圍內安裝二進位文件,您需要使用硬編碼的fs_basepath
編譯 ET: Legacy 。
可以在 CMake 中調整以下變數:
INSTALL_DEFAULT_BASEDIR
:設定預設fs_basepath
,即 etl 和 etlded 執行檔查找資料檔的位置。在大多數情況下,它是CMAKE_INSTALL_PREFIX
+ INSTALL_DEFAULT_MODDIR
。預設為空值,因為我們希望fs_basepath
在不安裝遊戲系統範圍時成為目前工作目錄。
(可選) INSTALL_DEFAULT_BINDIR
:可執行檔的位置。附加到CMAKE_INSTALL_PREFIX
。預設為bin
。
(可選) INSTALL_DEFAULT_SHAREDIR
:共用資料的位置。附加到CMAKE_INSTALL_PREFIX
。預設share
。
(可選) INSTALL_DEFAULT_MODDIR
:庫和套件的位置。附加到CMAKE_INSTALL_PREFIX
。預設為lib/etlegacy
,然後將legacy
加入到其中。
(可選) DOCDIR
:文檔的位置。預設為INSTALL_DEFAULT_SHAREDIR/doc/etlegacy
。
安裝所需的依賴項。
在終端機中,執行以下命令之一:
$ ./easybuild.sh # for compiling a 32 bit version or
$ ./easybuild.sh -64 # for compiling a 64 bit version
ET:Legacy 將安裝在~/etlegacy
。
在終端機中,運作:
$ mkdir build && cd build && cmake ..
要編譯,請運行:
$ make
如果您希望在系統範圍內安裝 ET: Legacy,請執行:
$ make install
請務必事先設定 CMake 變數(請參閱上文)。
筆記:
即使您擁有提供所有必要庫的 32 位元版本的 64 位元 Linux 發行版,您可能還需要在系統上安裝開發庫(-devel 軟體包)。
為了正確編譯 jpeg-turbo 函式庫,您將需要nasm彙編器。
在某些系統上,CMake 可能無法找到 32 位元庫,並在建置 32 位元時嘗試使用 64 位元庫。這可以透過在執行 CMake 之前設定以下環境變數來修復(注意:執行 easybuild 會為您解決這個問題)
$ export CC= " gcc -m32 "
$ export CXX= " g++ -m32 "
# or simply run cmake with
$ CC= " gcc -m32 " CXX= " g++ -m32 " cmake ..
在終端機中,運作:
$ mkdir build && cd build
$ cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-cross-mingw-linux.cmake ..
$ make
預設情況下,MinGW 名稱設定為i686-w64-mingw32
。您可能需要在cmake/Toolchain-cross-mingw-linux.cmake
中更改它,這取決於它在您的系統上的呼叫方式。
安裝:
選項A: easybuild
ET: Legacy 將安裝在My DocumentsETLegacy-Build
。
選項 B: Visual Studio
build
目錄cd
將目錄變更為新建立的建置目錄在命令提示字元下,運行:
$ cmake -G " NMake Makefiles " -DBUNDLED_LIBS=YES .. && nmake
或者
$ cmake -G " Visual Studio 16 " -A Win32 -DBUNDLED_LIBS=YES .. # Visual Studio 2019
# or "Visual Studio 17" for Visual Studio 2022
並在 Visual Studio 中開啟生成的專案。
筆記:
如果捆綁庫的編譯因任何原因中止,您可能需要清理 libs 目錄並重新開始。這可以透過在libs/
目錄中執行git clean -df && git reset --hard HEAD
來完成。
如果由於缺少sed實用程式而在 libcurl 編譯期間建置失敗,請從 GnuWin 下載它並將其放入系統路徑或將其複製到MSVC/VC/bin
。它還隨 Git 一起提供,如果您在 Git 安裝過程中選擇該選項,它可以自動放置到您的系統路徑中。
安裝:
xcode-select --install
)然後在終端應用程式中編譯以下包:
# all compilation tools needed
$ brew install cmake autoconf nasm automake libtool
# Libraries if you do not wish to compile and use the provided sources (BUNDLED_LIBS)
$ brew install glew sdl2 minizip jpeg-turbo curl lua libogg libvorbis theora freetype libpng sqlite openal-soft
安裝依賴項的另一種方法是運行
$ brew bundle
$ brew bundle --file=misc/macos/libs.Brewfile
根據您使用的brew版本(主要是較舊的版本),您必須指定brew install --universal
才能同時取得32位元和64位元函式庫。如果拋出錯誤,只需使用上面列出的命令即可。儘管您的系統curl程式庫支援這兩種架構,但您還需要安裝其標頭。
easybuild.sh 提供了許多標誌和選項。您可以編譯的 ET: Legacy 版本取決於所使用的 macOS 版本。
如果您使用的是 macOS 10.14 (Mojave) ,請在 Terminal.app 中使用以下標誌之一:
$ ./easybuild.sh # for compiling a 32 bit version or
$ ./easybuild.sh -64 # for compiling a 64 bit version
這會將包含所選架構的「etlegacy」資料夾放入您的使用者資料夾中。
對於macOS 10.15 (Catalina) 及更高版本,您唯一的選擇是編譯並執行 64 位元用戶端。因此您需要使用以下標誌:
$ ./easybuild.sh -64 --osx=10.15 # watch out for the double dash at --osx !
查看 easybuild.sh 以獲取更多資訊和更多選項/標誌。
在終端機中,運作:
$ mkdir build && cd build && cmake ..
查看 easybuild.sh 以取得所有可用的 CMake 選項。
要編譯,請運行:
$ make
如果您希望在系統範圍內安裝 ET: Legacy,請執行:
$ make install
請務必事先設定 CMake 變數(請參閱上文)。
注意事項:
ET:Legacy 同時支援 OpenGL 和 OpenGL ES。
所需設備
RPI 4+(64 位元作業系統)或任何執行 aarch64 arch 的作業系統
所需的依賴項
$ sudo apt-get install build-essential libfreeimage-dev libopenal-dev libpango1.0-dev libsndfile-dev libudev-dev
libasound2-dev libjpeg8-dev libwebp-dev automake libgl1-mesa-glx libjpeg62-turbo libogg0 libopenal1 libvorbis0a
libvorbisfile3 zlib1g libraspberrypi0 libraspberrypi-bin libraspberrypi-dev libx11-dev libglew-dev libegl1-mesa-dev
nasm autoconf git cmake zip gcc g++ libtool libxrandr-dev x11proto-randr-dev
Pi 4+ 安裝說明
使用的 OpenGL 驅動程式是 Fake KMS 驅動程序,目前 OpenGL 和 GLES 都在 X11 會話中運行。如果您想在 Pi 4 上安裝 ET: Legacy 時在 OpenGL 和 GLES 之間切換,只需在easybuild.sh
腳本中的RPI
部分下將FEATURE_RENDERER_GLES
標誌設為 0 或 1 並執行./easybuild.sh -RPI -j4
。
其他的
如果您想在安裝 ET: Legacy 時在 OpenGL 和 GLES 之間切換,只需在easybuild.sh
腳本中的RPI
部分下將FEATURE_RENDERER_GLES
標誌設為 0 或 1 並執行./easybuild.sh -RPI -j4
。
若要使用 Snap Store/Snapcraft 安裝 ET Legacy,請依照以下說明操作:etlegacy-snap repo
《德軍總部:敵人領地》GPL 原始碼版權所有 (C) 1999-2010 id Software LLC,ZeniMax Media 公司。
OpenWolf GPL 原始碼版權所有 (C) 2011 Dusan Jocic
XreaL GPL 原始碼 (renderer2) 版權所有 (C) 2010-2011 Robert Beckebans
ET:Legacy 版權所有 (C) 2012-2024 ET:Legacy 團隊 [email protected]
ET:Legacy 是自由軟體:您可以根據自由軟體基金會發布的 GNU 通用公共授權(授權的第 3 版)或(由您選擇)任何更高版本的條款重新分發和/或修改它。
ET: Legacy 分發是為了希望它有用,但不提供任何保證;甚至沒有適銷性或特定用途適用性的默示保證。有關更多詳細信息,請參閱 GNU 通用公共許可證。
您應該已收到一份 GNU 通用公共授權以及 ET: Legacy(請參閱 COPYING.txt)。如果沒有,請參閱 https://www.gnu.org/licenses/。
附加條款:《德軍總部:敵方領地》GPL 原始碼也受某些附加條款的約束。您應該在 Wolf ET 原始碼附帶的 GNU GPL 條款和條件之後立即收到這些附加條款的副本。如果沒有,請向 id Software LLC(地址:id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA)索取一份書面副本。
排除程式碼:下面描述的以及包含在 Wolfenstein: Enemy Territory GPL 原始碼版本中的程式碼不是 GPL 涵蓋的程式的一部分,並且被明確排除在其條款之外。您全權負責從版權所有者取得此類程式碼的授權並遵守適用的授權條款。
版權所有 (C) 1991-1992,RSA Data Security, Inc. 創建於 1991 年。
如果在所有提及或引用本軟體或此功能的資料中將其標識為“RSA Data Security, Inc. MD4 訊息摘要演算法”,則授予複製和使用本軟體的許可。
也授予製作和使用衍生作品的許可,前提是此類作品在所有提到或引用衍生作品的材料中被標識為「衍生自 RSA Data Security, Inc. MD4 訊息摘要演算法」。
RSA Data Security, Inc. 不就本軟體的適銷性或本軟體對任何特定用途的適用性做出任何陳述。它是「原樣」提供,沒有任何形式的明示或暗示的保證。
MD5 演算法由 Ron Rivest 開發。該程式中使用的公共領域 C 語言實作由 Colin Plumb 於 1993 年編寫,未聲明版權。
該軟體屬於公共領域。特此授予為任何目的免費使用、複製、修改和分發本軟體及其文件的許可,無任何條件或限制。本軟體以「現況」提供,沒有明示或默示的保證。