wolfenstein-et/README.md

117 lines
3.7 KiB
Markdown

# Wolfenstein Enemy Territory
This [archive](https://et.thegux.fr/archives/et_full_linux.tar.gz) contains all files needed to run **Wolfenstein ET 2.60b** on Linux. It includes two folder :
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.87](https://app.assembla.com/spaces/omnibot/wiki) (recover from the [SVN repository](https://app.assembla.com/spaces/omnibot/subversion/source/HEAD/Enemy-Territory) on the #3594 commit - **NOT A RELEASE**)
## 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-get update
# install the 32 bits compatible librairies
sudo apt-get install ia32-libs (mint)
sudo apt-get install lib32z1 (ubuntu)
# after the installation the following lib must be present
sudo apt-get install libsdl1.2debian:i386
```
## Installation
**NOTE** : The installation has been tested on **Ubuntu/Mint 20.04**
* Create the main folders
```bash
# as root
mkdir -p /usr/local/games/enemy-territory
chown 1000 /usr/local/games/enemy-territory && chmod 775 /usr/local/games/enemy-territory
mkdir -p /opt/games/enemy-territory
chown 1000 /opt/games/enemy-territory && chmod 775 /opt/games/enemy-territory
# as main user
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 **[wolfenstein-et.service](./service/wolfenstein-et.service)** file in **/etc/systemd/system** directory (must be **root**)
* replace `<linux_user>` and `<path_to>` placeholder with your configuration
* enable the service (on reboot the service will autostart)
```bash
# as root
systemctl enable wolfenstein-et
```
* put the **[launch_server.bash](./service/launch_server.bash)** wherever you want (do not forget exec rights for your `<linux_user>`)
* start the service
```bash
service wolfenstein-et start
```
* check the service status
```bash
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
On **Ubuntu 20.04** :
```
------- 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-get install libasound2-plugins:i386
```