Warzone 2100
起源
Warzone 2100 由 Pumpkin Studios 开发,于1999年发布,是一款开创性且创新的3D实时策略游戏。
2004年,Eidos 与 Pumpkin Studios 合作,决定以 GNU GPL 许可证发布游戏源代码,包括除音乐和游戏内视频序列以外的所有内容,这些内容后来也被发布。
游戏现状
自2004年12月6日 Warzone 2100 源代码开放以来,所有专有技术已被开源替代品取代。
目前支持的平台包括 Linux、Windows 和 macOS。据报道,Warzone 2100 在 BSD 上也能运行。
安装
访问 https://wz2100.net 获取 Windows、macOS 和 Ubuntu 的最新稳定版本。
Ubuntu 视频说明:为了获取游戏中的重要信息,请手动下载视频。假设游戏安装在标准的 ~/.local/share/
文件夹中,使用以下命令:
mkdir ~/.local/share/warzone2100
wget https://github.com/Warzone2100/wz-sequences/releases/download/v3/standard-quality-en-sequences.wz -O ~/.local/share/warzone2100/sequences.wz
最新开发版本
[状态徽章略]
Windows
获取最新 Windows 开发版的方法:
- 查看**最新成功的 Windows 构建**。
- 在表格/列表中选择最新的工作流运行。 这将显示运行的构建产物列表。
- 下载
warzone2100_win_x86_portable
或warzone2100_win_x86_installer
构建产物(取决于您是想要便携版还是完整/常规安装程序)。
注意:目前需要一个免费的 GitHub 账户才能下载构建产物。
macOS
获取最新 macOS 开发版的方法:
- 查看**最新成功的 macOS 构建**。
- 在表格/列表中选择最新的工作流运行。 这将显示运行的构建产物列表。
- 下载
warzone2100_macOS_universal
或warzone2100_macOS_universal_novideos
构建产物(取决于您是否需要完整的应用程序包)。
注意:目前需要一个免费的 GitHub 账户才能下载构建产物。
Ubuntu
获取最新 Ubuntu 开发版的方法:
- 查看**最新成功的 Ubuntu 构建**。
- 在表格/列表中选择最新的工作流运行。 这将显示运行的构建产物列表。
- 下载适合您系统的
warzone2100_ubuntu<version>_amd64_deb
构建产物。- 如果您运行的是 Ubuntu 20.04:
warzone2100_ubuntu20.04_amd64_deb
- 如果您运行的是 Ubuntu 22.04:
warzone2100_ubuntu22.04_amd64_deb
- 如果您运行的是 Ubuntu 20.04:
注意:目前需要一个免费的 GitHub 账户才能下载构建产物。
- 将下载的 .zip 文件(
warzone2100_ubuntu<version>_amd64.deb
)解压到桌面。 - 在终端中执行以下命令:
cd ~/Desktop
sudo apt install ./warzone2100_ubuntu<version>_amd64.deb
- 下载游戏中关键信息的视频,更多信息请参见"视频"部分。假设游戏安装在标准的
~/.local/share/
文件夹中,使用以下命令(更新warzone2100-<version>
):
wget https://github.com/Warzone2100/wz-sequences/releases/download/v3/standard-quality-en-sequences.wz -O ~/.local/share/warzone2100-<version>/sequences.wz
Linux(从源代码)
克隆此 Git 仓库并按照以下说明构建: 如何构建
开发版本是当前开发状态的快照,来自最新(成功构建的)提交。欢迎帮助测试这些版本,但应将它们视为正在进行中的工作。
视频
您可以从这里或这里下载视频。您需要将下载的文件重命名为sequences.wz
,并将其放入您的Warzone 2100目录中,如上所述。
请注意,.wz
文件实际上就是.zip
文件,您可以将其重命名并解压内容以查看。
报告错误
这个游戏仍然存在一些错误,如果您遇到任何问题,请使用GitHub的错误跟踪器(https://github.com/Warzone2100/warzone2100/issues)来报告错误。为了能更快地修复这些错误,我们要求您遵循以下规则:
- 如果游戏崩溃,您可以保存内存转储。请这样做并在报告错误时上传它。(Linux下该文件位于/tmp/warzone2100.gdmp, Windows下位于/Program Files/Warzone 2100/warzone2100.RPT,macOS下点击崩溃错误消息中的"详细信息") 自行创建的回溯同样有用。
- 提供尽可能多的关于崩溃/错误发生前您在做什么的信息。
- 尝试重现错误,并在错误报告中添加过程描述。
- 您甚至可以上传存档文件。这些文件包括一个或两个文件和一个文件夹。所有两/三个都以您的存档命名(例如 MySaveGame.es、MySaveGame.gam和文件夹MySaveGame)。
- 错误报告不是提交后就忘记。您可能忘记了一些信息或忘记上传文件。因此,在提交后关注您的错误报告也符合您的利益。此外,您可以启用 电子邮件通知以接收错误报告的评论。
配置
Warzone 2100在用户的主目录中使用自己的子目录来保存 配置数据、存档文件和其他某些内容。此外,您可以 使用此目录放置自定义地图和模组,以便游戏能找到它们。该 目录的位置取决于操作系统。
GNU/Linux下的Warzone 2100目录
在GNU/Linux下,Warzone 2100遵循XDG基本目录规范。
默认情况下,warzone2100-<版本>
目录可以在您的主目录
下的~/.local/share/
路径中找到。
(如果定义了XDG_DATA_HOME
环境变量,Warzone 2100文件夹将
位于$XDG_DATA_HOME
中。)
路径中.local
部分前面的点表示它是一个隐藏
目录,所以根据您的配置,您可能无法看到它。
但是,您仍然可以通过在地址栏中输入路径来访问它。
Windows下的Warzone 2100目录
Warzone 2100 Project\Warzone 2100 <版本>
目录位于
%APPDATA%
文件夹下。
典型的%APPDATA%
路径:
- Windows XP:
\Documents and Settings\$USER$\Application Data
- Windows Vista及以上版本:
\Users\$USER$\AppData\Roaming
因此,Windows Vista及以上版本的Warzone 2100配置数据的默认路径为:
C:\Users\$USER$\AppData\Roaming\Warzone 2100 Project\Warzone 2100 <版本>\
默认情况下,%APPDATA%
文件夹是隐藏的。在Windows资源管理器的地址栏中输入:
%APPDATA%\Warzone 2100 Project\
将浏览到您的Warzone 2100目录。
macOS下的Warzone 2100目录
Warzone 2100 <版本>
目录可以在您的主目录的以下位置找到:
~/Library/Application Support/
默认情况下,最近版本的macOS会隐藏您账户的Library文件夹。要在 Finder中查看它,请在点击前往菜单时按住**Option (⌥)**键,您的Library文件夹 将作为一个菜单选项出现。
配置文件
配置文件就叫做'config',包含几个配置 选项,其中一些可以通过使用命令行选项或使用 游戏内菜单来更改,其他的只能通过手动编辑文件来更改。
如果您在任何时候做错了什么,您可以删除旧的配置 文件然后重新启动Warzone 2100。然后游戏将重新生成一个 带有默认值的新配置文件。
命令行选项
Warzone 2100可以使用不同的选项和参数启动。要查看这些选项的列表, 请使用--help选项运行游戏。
注意:这些选项都有两个破折号(--),而不是只有一个破折号(-)。此外, 如果选项有参数,您需要使用'='符号将选项和其参数 分开 - 空格不起作用。
注意:一些选项在配置文件中有相应的条目,并且会 从一次Warzone 2100启动持续到下一次。
通过互联网进行多人游戏
有两种方法可以通过互联网开始多人游戏:使用主机的 IP或使用大厅服务器。确保您能够在TCP端口 2100和9999上进行通信。请注意,对于端口转发,您只需要配置您的 路由器以转发2100端口。
您可以选择通过大厅或IP连接:
- 如果您选择IP,Warzone 2100会询问您主机的IP地址并 尝试连接到该IP。
- 如果您选择大厅,Warzone 2100将连接到大厅服务器,只要 您配置文件中的lobby-server-address未被更改。
您将看到一个游戏列表,您可以从中选择。
在游戏开始前,您可以通过按住右鼠标按钮并左击 不想要的玩家来将其踢出游戏。
当您主持游戏时,它会自动在大厅服务器上列出。 如果您不希望您的游戏在大厅服务器上列出,您应该 将配置中的"masterserver_name=lobby.wz2100.net"条目更改为一些 无效的内容,例如:"nomasterserverplease"。
如果您之后想查看大厅服务器上列出的游戏,您可以 在提示输入主机IP时输入"lobby.wz2100.net",或者将 配置文件中的条目改回。您需要重新启动Warzone 2100才能使配置更改生效。
作弊
像许多其他游戏一样,Warzone 2100也有一些作弊功能,可以 在单人战役和遭遇战游戏中获得优势,或者 仅仅帮助模组制作者和地图制作者进行测试。作弊在多人游戏中不起作用, 除非所有玩家都同意。
作弊可能包含或触发错误,所以请谨慎使用,尤其是 在战役期间。
进入作弊模式
要在游戏中使用作弊,请同时按下Shift和退格键。 屏幕上应该会出现一条消息,告诉你已启用作弊模式。 你可以再次使用相同的按键组合来禁用它。
按Ctrl+O键可以打开调试菜单,这对于检查游戏状态或只是随意玩耍很有用。
作弊命令
激活作弊模式后,可以使用正常的聊天功能输入作弊命令。作弊命令按其用途和使用场合排序。
有很多作弊命令。一些例子:
biffer baker
- 你的单位造成更多伤害且更强大double up
- 你的单位强度翻倍give all
- 允许你建造和研究所有内容work harder
- 所有当前进行的研究主题立即完成research all
- 立即研究所有内容let me win
- 你赢得当前战役任务superpower
- 给你最大能量teach us
- 给选定单位增加经验makemehero
- 使选定单位成为英雄clone wars
- 克隆选定单位(10倍)clone wars!
- 克隆选定单位(40倍)clone wars!!
- 克隆选定单位(135倍)kill
- 杀死选定对象john kettley
- 切换天气条件get off my land
- 杀死所有敌方单位和建筑showfps
- 显示平均帧率reload me
- 立即重新装载选定武器damage me
- 选定对象受到20%伤害showunits
- 显示单位数量信息showorders
- 显示单位命令/行动状态droidinfo
- 显示单位统计数据
所有可用命令可以在这个文件中找到:https://github.com/Warzone2100/warzone2100/blob/master/src/cheat.cpp
模组信息
Warzone 2100的AI、地图和战役可以使用JavaScript脚本编写。
更多信息链接
- [脚本编写](https://github.com/Warzone2100/warzone2100/blob/master/doc/Scripting.md
- [模型格式](https://github.com/Warzone2100/warzone2100/blob/master/doc/PIE.md
- [动画](https://github.com/Warzone2100/warzone2100/blob/master/doc/Animation.md
如何构建
获取源代码
要正确构建游戏,可以:
-
下载包含所有源代码和修订信息的发布版
tar.xz
。或者
-
克隆Git仓库:
git clone https://github.com/Warzone2100/warzone2100.git cd warzone2100 git fetch --tags git submodule update --init --recursive
注意:必须初始化子模块。
不要使用GitHub的"下载Zip"选项,因为它不包含子模块或基于Git的自动修订信息。
Linux
- 先决条件
- 编译工具(如CMake、GCC/G++/Clang、ninja-build)
- 归档工具(如zip、p7zip)
- 各种库:
- 语言支持:Gettext
- 生成文档:Asciidoctor ≥ 1.5.3
- 构建Vulkan支持:完整的Vulkan SDK (强烈建议:≥ 1.2.148.1)
- 安装先决条件:
-
使用
get-dependencies_linux.sh
:- 指定脚本支持的Linux发行版之一:(
ubuntu
、fedora
、alpine
、archlinux
、opensuse-tumbleweed
) 必需 - 指定模式:(
build-all
(默认)、build-dependencies
) 可选
示例:
sudo ./get-dependencies_linux.sh ubuntu build-dependencies
- 指定脚本支持的Linux发行版之一:(
-
- 从命令行构建:
- 从warzone2100源代码的父目录开始(假设源代码在名为
warzone2100
的文件夹中),创建一个同级build目录:mkdir build
- 切换到同级
build
目录:cd build
- 运行CMake配置以生成构建文件:
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX:PATH=~/wz/install -GNinja ../warzone2100
- 根据需要修改
CMAKE_INSTALL_PREFIX
参数值以配置基本安装路径。 - 末尾的
../warzone2100
路径应指向warzone2100源目录。
- 根据需要修改
- 运行CMake构建:
cmake --build . --target install
- 从warzone2100源代码的父目录开始(假设源代码在名为
使用MSVC的Windows
- 先决条件
- Visual Studio 2022(Visual Studio 2017-2019可能也可以使用,但强烈建议使用2022+版本)
- 如果您尚未安装Visual Studio,可以从以下链接下载免费的Visual Studio Community版本:https://developer.microsoft.com/en-us/windows/downloads
- 重要提示:您需要完整功能的Visual Studio IDE。"Visual Studio Code"不包含构建C++ Windows应用程序所需的必要支持。
- CMake 3.20+(https://cmake.org/)
- Git(如果不是从发布源存档构建)
- 7-Zip(https://www.7-zip.org)
- Vulkan SDK 1.2.148.1+(https://vulkan.lunarg.com/sdk/home)
- 仅在需要Vulkan支持时才需要。
- Visual Studio 2022(Visual Studio 2017-2019可能也可以使用,但强烈建议使用2022+版本)
- 准备构建:
构建依赖项通过Microsoft的vcpkg提供。
- 在PowerShell中运行
get-dependencies_win.ps1
脚本以下载并构建依赖项。
- 在PowerShell中运行
- 从命令行构建:
- 切换到warzone2100仓库目录
- 配置
- Visual Studio 2022:
cmake -H. -DCMAKE_TOOLCHAIN_FILE=vcpkg\scripts\buildsystems\vcpkg.cmake -Bbuild -G "Visual Studio 17 2022"
- Visual Studio 2019:
cmake -H. -DCMAKE_TOOLCHAIN_FILE=vcpkg\scripts\buildsystems\vcpkg.cmake -Bbuild -G "Visual Studio 16 2019"
- Visual Studio 2017:
cmake -H. -DCMAKE_TOOLCHAIN_FILE=vcpkg\scripts\buildsystems\vcpkg.cmake -Bbuild -G "Visual Studio 15 2017"
- Visual Studio 2022:
- 构建
- 发布版:
cmake --build build --config Release
- 调试版:
cmake --build build --config Debug
- 发布版:
- 使用Visual Studio构建:
- 打开Visual Studio
- 使用文件 > 打开 > **文件夹...**打开warzone2100文件夹
- 给Visual Studio一些时间来加载项目并从CMake获取信息。
- 使用CMake > 更改CMake设置创建VS CMake设置JSON文件。您也可以通过点击工具栏中配置下拉菜单的"管理配置"来访问此对话框。确保已安装Visual Studio中的CMake组件(通过运行Visual Studio安装程序)。
- 这将创建
CMakeSettings.json
- 这将创建
- 在
CMakeSettings.json
中添加以下变量:- 在
cmakeCommandArgs
中添加:-DCMAKE_TOOLCHAIN_FILE=vcpkg\scripts\buildsystems\vcpkg.cmake
- 注意:Visual Studio会自动转义并将每个
\
变为\\
- 在
- 在让Visual Studio使用新设置重新运行CMake配置后,您可以使用CMake菜单进行构建。
macOS
许可
Warzone 2100是自由软件;您可以根据自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它;可以选择使用许可证的第2版或(您可以选择的)任何更新版本。