wolfenstein-et/README.md

131 lines
4.0 KiB
Markdown

# Wolfenstein Enemy Territory
This [archive](http://et.thegux.fr/archives/et_full_linux.tar.gz) contains all files needed to run **Wolfenstein ET 2.60b** on Linux. It includes two folders:
One to launch the main game :
* The [official game](https://cdn.splashdamage.com/downloads/games/wet/et260b.x86_full.zip)
* [et-sdl-sound](base/et-sdl-sound) (enabling sound - fetch from https://web.archive.org/web/20160804014221/http://nullkey.kapsi.fi/et-sdl-sound/)
One to launch a Jaymod server:
* [Jaymod 2.2.0](https://jaymod.clanfu.org/)
* [Omnibot 0.9](https://github.com/jswigart/omni-bot/releases)
## Requirements
Wolfenstein ET is built on a 32 bits arch. So, 32 bits librairies must exist to run the game.
```bash
# add the i386 architecture
sudo dpkg --add-architecture i386
# do update to fetch i386 librairies
sudo apt update
# install the 32 bits compatible librairies
sudo apt install ia32-libs (mint)
sudo apt install lib32z1 (ubuntu)
# after the installation the following lib must be present
sudo apt install libsdl1.2debian:i386
```
## Installation
**NOTE**: The installation has been tested on **Mint 20.04 | Ubuntu 20/22.04**.
* Download the archive
```bash
wget http://et.thegux.fr/archives/et_full_linux.tar.gz
```
* Extract it
```bash
tar xzvf et_full_linux.tar.gz
cd wolfenstein-et
```
* Create the main folders
```bash
sudo mkdir -p /usr/local/games/enemy-territory
sudo chown 1000 /usr/local/games/enemy-territory && chmod 775 /usr/local/games/enemy-territory
sudo mkdir -p /opt/games/enemy-territory
sudo chown 1000 /opt/games/enemy-territory && chmod 775 /opt/games/enemy-territory
cp -r base/* /usr/local/games/enemy-territory
cp -r server /opt/games/enemy-territory
```
## Launch the game
```bash
cd /usr/local/games/enemy-territory
./et-sdl-sound
```
Enjoy !
**NOTE** : Some librairies may be missing, you need to install it one by one (test to launch ./et.x86 and see missing libs).
## Create a systemd service (server creation only)
In order to launch the server properly, a systemd service is a right solution instead of the **serverctl** sh script. Todo so :
* put the **[launch_server.bash](./service/launch_server.bash)** wherever you want (ex: /opt/games/enemy-territory/server/linux).
* put the **[wolfenstein-et.service](./service/wolfenstein-et.service)** file in **/etc/systemd/system** directory (must be **root**).
* replace `<linux_user>` and `<path_to>` placeholders with your configuration (`<linux_user>` must have rights to exec `launch_server.bash`).
* enable the service (on reboot the service will autostart).
```bash
sudo systemctl enable wolfenstein-et
```
* start the service
```bash
sudo service wolfenstein-et start
```
* check the service status
```bash
sudo service wolfenstein-et status
```
## Settings
More useful informations : https://wiki.archlinux.org/title/Wolfenstein:_Enemy_Territory.
### Set screen size in **1920*1080**
* Open the player configuration file:
```bash
vi $HOME/.etwolf/etmain/profiles/<username>/etconfig.cfg
```
* Override this settings
```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
```
## Common errors
### "libstdc++.so.6: cannot open shared object file: No such file or directory"
```bash
sudo apt install lib32stdc++6
```
### SDL driver error
```
------- sound initialization -------
SDL audio driver initializing...
ALSA lib conf.c:3722:(snd_config_hooks_call) Cannot open shared library libasound_module_conf_pulse.so (/usr/lib/i386-linux-gnu/alsa-lib/libasound_module_conf_pulse.so: libasound_module_conf_pulse.so: cannot open shared object file: No such file or directory)
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM default
SDL_AudioDriverName() = NULL
------------------------------------
```
You must install the corresponding 32 bits library:
```bash
sudo apt install libasound2-plugins:i386
```
### Keyboard inputs does not work
Try moving to `Xorg` instead of `Wayland`... To do so, on Ubuntu, logout, click on the **Settings** icon and select **Xorg**.