Wolfenstein: Enemy Territory

出自 ArchWiki

此文章或章节需要语言、wiki 语法或风格方面的改进。请参阅 Help:Style 以供参考。

原因: 需要进行一些工作以符合 archwiki Style。(在 Talk:Wolfenstein: Enemy Territory 中讨论)

Wolfenstein: Enemy Territory(也称为 Enemy Territory 或简称 ETW:ET)是一款免费开源的多人第一人称射击游戏,背景设定在第二次世界大战期间,可在 Linux、Mac OS X 和 Windows 上运行。2010 年 8 月 12 日,整个源代码在 GNU 通用公共许可证 v3 下发布。开源项目 Enemy Territory: Legacy 是一项协作努力,专注于通过反向移植 ioquake3 的改进来修复问题,同时保持与原始游戏客户端、服务器及其大多数模组的二进制兼容性。

安装

Enemy Territory

强烈建议您安装 32 位(multilib)版本的 ET: Legacy 客户端来玩 Wolfenstein: Enemy Territory,因为 ET: Legacy 对现代显卡的支持更好。它还具有优于原始 Wolfenstein: Enemy Territory 的其他增强功能。请阅读以下说明。

原始的“vanilla” Enemy Territory 可以从 enemy-territoryAUR 安装。或者,可以从此处下载 官方安装程序https://filebase.trackbase.net/et/full/et260b.x86_full.zip。安装完成后,您可以通过执行以下命令来运行游戏

$ et

根据您的系统,您可能会注意到 ET 没有发出任何音乐或声音。如果是这种情况,请转到 #故障排除

Enemy Territory 也可从 Steam 获取。默认情况下仅提供 Windows 版本,但可以使用 Luxtorpeda 安装 Linux 版本。

生成 ETKey

最初,PunkBuster 客户端过去在安装时创建一个名为 etkey 的文件。此文件很重要,因为它用于识别玩家、保存玩家的 XP 和管理员级别。某些服务器不允许没有 ETKey 的玩家进行游戏。但是,由于 EvenBalance 结束了其对 Enemy Territory 的 PunkBuster 支持,因此不再生成 ETKey。

可以通过以下步骤手动生成 ETKey

  1. 转到 http://etkey.net/ 并从那里下载 ETKey。
  2. 将下载的 etkey 文件复制到 $HOME/.etwolf/etmain
  3. 通过运行 ET > 在线游戏 > 启用 PunkBuster(右下角)来启用 PunkBuster。

Enemy Territory: Legacy

ET:Legacy 自动生成 ETKey 并解决下面显示的 Enemy Territory 问题。它可以从 etlegacyAUR(64 位)或 etlegacy32AUR(32 位)安装。

注意: 64 位版本与 Enemy Territory 2.60b 模组不兼容。

创建 CFG 文件 (可选)

有用的 CVAR(即 ET 命令)可以存储在配置文件 (CFG) 中。以下包含如何创建此类文件的步骤

  1. 在以下位置创建一个纯文本文件:~/.etwolf/etmain/your_nickname.cfg
  2. 打开文件并添加您想要的命令。例如
~/.etwolf/etmain/your_nickname.cfg
// Set your nickname (this line is a comment)
seta name         "^7Arch^dLinux"    // ^7 is the represents the white colour (i.e. text after ^7 will be displayed as white), while ^d represents blue

// Customize your HUD
seta cg_drawFPS   1    // displays your actual FPS (Frame Per Second) on your right hand side
seta cg_lagometer 1    // displays a connection-related display

// Others
seta com_maxfps   125  // 125 max FPS
seta com_hunkmegs 192  // in order to be able to load complex/graphic intensive maps

// ...etc...

要执行 CFG 文件

  1. 打开 ET 并连接到您喜欢的服务器。
  2. ~ 波浪号键打开控制台
  3. 通过键入以下命令执行您的 CFG 脚本:\exec your_nickname.cfg

故障排除

没有声音

Enemy Territory 是在 OSS 仍然是“官方”Linux 声音系统但已被 ALSA 取代的时期开发的。因此,Enemy Territory 可能无法发出声音。

可以通过启用 multilib 仓库、安装 multilib-devel 组,最后安装 et-sdl-sound 来解决此问题。

安装 et-sdl-sound 后,您可以使用以下命令启动游戏

$ enemy-territory.sdl

请记住,et-sdl-sound 修复程序仅适用于 Enemy Territory,不适用于 Enemy Territory: Legacy。

Enemy Territory: Legacy 32 位版本中缺少声音(在 ET 控制台中表现为“Failed to open OpenAL device”错误)可以通过安装以下 32 位 pulseaudio 软件包 - lib32-libpulse 来解决。即使您通常使用 64 位 pulseaudio,也需要安装它。

分辨率错误

您可能无法在 ET 的“选项”页面中找到您的官方显示器分辨率。可以通过使用 CFG 文件来解决此问题(请参阅:#创建 CFG 文件 (可选)

打开您的 CFG 文件并附加以下行

seta r_mode          -1      // -1 mean we are using a custom screen resolution
seta r_customwidth   1920    // monitor's width
seta r_customheight  1080    // monitor's height

然后执行 CFG 文件,打开控制台并键入:\vid_restart

低 FPS

在现代游戏设备上,有人注意到 Enemy Territory 难以显示可玩 FPS(尤其是在服务器中有很多人玩游戏时):有时 FPS 可能会低于 30,而另一些时候可能会在 125 FPS 左右。

按照以下步骤解决此问题

  1. 打开您的 CFG 文件
  2. 附加:seta r_primitives 2
  3. 执行您的 CFG 文件
  4. 您可能需要重启 ET 才能看到想要的结果。

PunkBuster

PunkBuster (简称 PB) 不再支持 Enemy Territory。因此,您可能无法在仍然启用 PB 的服务器上玩游戏:这种行为的症状可能是游戏时间 1 或 2 分钟后自动被踢出。

可以通过手动将您的 PB 客户端更新到最新版本来解决此问题

  1. 从此处下载最新的 PB 文件:https://fearless-assassins.com/files/file/1815-punkbuster-linux-files-for-et/?do=download。这不是官方 PB 网站,因此请自行承担风险使用。
  2. 转到:~/.etwolf/
  3. 创建一个名为 pb 的目录(如果不存在)。
  4. 将下载文件的内容解压缩到上面提到的目录中。pb 目录应至少包含 2 个目录(dllhtm)以及许多 so 文件。
  5. 打开您的 CFG 文件并添加以下行
    // Enables PunkBuster client   
    pb_cl_enable
    seta cl_punkbuster 1
    seta pb_system 1
  6. 运行 ET 并执行您的 CFG 文件。
  7. 重启 ET

hunk_alloc 错误

Hunk_alloc 错误是由需要比 Enemy Territory 默认分配的内存更多的地图引起的。此类错误的示例:hunk_alloc failed at 12345 和/或 Hunk_AllocateTempMemory: failed on 12345

要修复它

  1. 打开您的 CFG 文件
  2. 附加以下行
    seta com_hunkMegs 192    // sets the allowed memory for the graphics of the game
  3. 执行 CFG 并重启 ET。