《德军总部:敌方领土》的第二次生命
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 年编写,未声明版权。
该软件属于公共领域。特此授予出于任何目的免费使用、复制、修改和分发本软件及其文档的许可,无任何条件或限制。本软件按“原样”提供,没有明示或默示的保证。