Apuntes de Linux - First Person Shooter en Arch Linux

Los FPS (First Person Shooter) marcaron un antes y un después en los videojuegos al hacer sentir al jugador formar parte de la acción desarrollada en ellos.

No nos podemos olvidar de títulos tales como DOOM, Half Life, Quake, Wolfenstein, etc . Así como un gran número de mods de los mismos como pueden ser Counter Strike o Urban Terror (UrT).

Hemos de hacer mención de que lo que se trata con este tipo de juegos es de proporcionar la sensación de realismo; Y que por lo tanto incluso algunos cuerpos de fuerzas especiales o cuerpos de seguridad intentan en ocasiones acercarse al uso de aplicaciones propias basadas en FPS en muchos casos para el entrenamiento de sus miembros. En conceptos de coordinación entre los integrantes del grupo de intervención, flanqueos, emboscadas, inspección visual y ante todo concentración en situaciones extremas de estrés.

A mi profesionalmente hablando me beneficia en el tiro instintivo, la diferenciación de 'amigo' y 'enemigo', la coordinación entre cerebro y gatillo. Esto es una apreciación a nivel personal, evidentemente.

En éste artículo nos vamos a centrar en la instalación de Urban Terror y de Wolfenstein 'Enemy Territory' en Arch Linux.

Comenzaremos con la instalación de Urban Terror:

Pero antes unos videos para abrir boca.

No es complicado instalarla ya que la tenemos en los repositorios en su última versión disponible, pero como consejo primero sería mejor realizar una actualización completa del sistema y actualizar las bases de datos de paquetes con 'pacman -Syu' (actualización del sistema y base de datos) o 'pacman -Syy' (actualización de base de datos de paquetes solamente).

Una vez hecho esto buscaremos con pacman la aplicación abriendo un terminal y escribimos:

15:32:00 ------:~ > pacman -Ss urbanterror
community/urbanterror 2:4.2.009-1 [instalado]
A team-based tactical shooter based on the Quake 3 Engine
community/urbanterror-data 2:4.2.009-2 [instalado]
A team-based tactical shooter based on the Quake 3 Engine (data files)

Ahora como 'root' usando 'su' o 'sudo' instalamos:

15:32:08 ------:~ > sudo pacman -S urbanterror urbanterror-data
[sudo] password for ----:
atención: urbanterror-2:4.2.009-1 está actualizado -- re-instalando
atención: urbanterror-data-2:4.2.009-2 está actualizado -- re-instalando
resolviendo dependencias...
verificando conflictos...

Objetivos (2): urbanterror-2:4.2.009-1 urbanterror-data-2:4.2.009-2

Tamaño de descarga: 1226,71 MiB
Tamaño instalado: 1259,82 MiB
Tamaño a actualizar: 0,00 MiB

¿Continuar con la instalación? [S/n]

En mi caso al estar ya instalado me devuelve dichos mensajes por si quiero reinstalar la aplicación.

Para quienes quieran utilizar el instalador convencional he aquí la página de descarga:

http://www.urbanterror.info/downloads/

Una vez instalado mi consejo es crear un fichero que ejecute Urban Terror a través de 'xinit' en otro servidor 'X11', es decir, que se ejecute en el display ':1' en lugar de ':0'. En el caso de la caída del servidor 'X11' secundario (:1) , el principal (:0) sigue funcionando.

#!/bin/bash

DISPLAY=:1.0

xinit /usr/bin/urbanterror $* -- :1 &

--

Dado que algunos chipset integrados de video que utiliza intel en algunos equipos algo antiguos provocan problemas con el 'KMS' (Kernel Mode Setting) que incluye actuálmente el núcleo del sistema y que hace que no sea compatible con su perfecto funcionamiento bajo el antiguo 'UMS'.

Para quien se encuentre en mis mismas circunstancias con dichos dispositivos gráficos éste es un manual de como logré configuarlo bajo Arch Linux y que me funciona no al 100% pero sí me hace funcionar la gráfica en un 85-90%.

http://eb1agg.hol.es/?q=node/51

Con todo configurado antes vamos a crear un perfil en https://www.urbanterror.info/members/register/ para poder conectarnos a la gran mayoría de los servidores dedicados, aunque existen los 'Free For All' sinceramente no los recomiendo.

Una vez registrado nuestro perfil antes de nada buscaremos en la dirección de correo asociada al mismo si nos ha llegado la contraseña con la cual haremos 'login' en los servidores UrT y ejecutamos la aplicación. Nos saldrá este 'pantallazo':

Lo más común después de intentar introducirla desde el juego es que no consigamos acceder como miembros de la comunidad, para lo cual editaremos el fichero 'authkey' que se encuentra en la ruta '/home/usuario/.q3a/q3ut4/' y lo dejaremos de esta manera poniendo la clave en la primera línea del mismo:

INTRODUCE-TU-CLAVE-EN-LA-PRIMERA-LINEA-DEL-FICHERO

// Generated locally by Urban Terror
// Do NOT modify. Do NOT give this file to ANYONE
// More info : http://www.urbanterror.info

Una vez hecho esto ya podremos acceder con nuestro ID de usuario que anteriormente creamos en http://www.urbanterror.info y con la clave suministrada a la cuenta de correo asociada al mismo.

Ahora toca la configuración, pero eso ya cada uno la pondrá a su gusto. Como dato comentar que a mi me funciona perfectamente a '45 fps' y que es un juego que apenas necesita recursos para correr bien.

Ahora le toca el turno a Wolfenstein 'Enemy Territory'. Pero antes como en el caso de Urban Terror un par de videos para que la gente que no lo conoce (después de ser uno de los clásicos) se ponga en situación.

Éste también es un juego FPS basado en el mismo motor en el cual se ha basado Urban Terror, es decir, Quake 3. Aparte de ser un juego en primera persona también se le aplican roles como misiones, tareas dentro del equipo, uso de vehículos con trayecto definido pero en los cuales el jugador puede utilizar las armas de las que está dotado.

En esta ocasión utilizaremos la herramienta llamada 'yaourt' para la instalación en Arch, dado que no está entre los paquetes instalados por defecto hemos de descargarla e instalar de otra manera.

El primer paso es modificar el fichero '/etc/pacman.conf' e incluir las líneas siguientes al final del mismo a modo de repositorio:

[archlinuxfr]
#Server = http://repo.archlinux.fr/x86_64
Server = http://repo.archlinux.fr/i686

Cada uno que elija la arquitectura de su máquina, 32 o 64 bit.

Una vez guardados los cambios actualizamos las bases de datos con 'pacman -Syy', tras la actualización de las mismas procedemos primero a instalar 'package-query' y 'yaourt':

[root@------ ----]# pacman -S package-query yaourt
atención: package-query-1.1-2 está actualizado -- re-instalando
atención: yaourt-1.2.2-1 está actualizado -- re-instalando
resolviendo dependencias...
verificando conflictos...

Objetivos (2): package-query-1.1-2 yaourt-1.2.2-1

Tamaño de descarga: 0,07 MiB
Tamaño instalado: 0,41 MiB
Tamaño a actualizar: 0,00 MiB

¿Continuar con la instalación? [S/n]

Una vez hemos instalado debemos de actualizar las bases de datos a través de 'yaourt'.

[root@------ ----]# yaourt -Syy
:: Sincronizando las bases de datos de paquetes...
core 104,9 KiB 103K/s 00:01 [######################] 100%
extra 1415,7 KiB 153K/s 00:09 [######################] 100%
community 1948,5 KiB 126K/s 00:15 [######################] 100%
archlinuxfr 22,6 KiB 244K/s 00:00 [######################] 100%

Cabe decir que el funcionamiento de los parámetros de este gestor de paquetes, el cual lo podemos utilizar sobre todo para trabajar sobre código fuente en AUR instala todo tipo de dependencias que precise cualquier tipo de aplicación, es similar al de 'pacman'.

Ahora vamos a crear un directorio en '/' el cual nos proporcione el espacio necesario para trabajar con paquetes un poco pesados y no nos dé el error de quedarnos sin espacio al trabajar sobre el directorio '/tmp/'. Como 'root' lo creamos:

[root@------ ----]# mkdir /yaourt-compilacion/

Modificamos el fichero '/etc/yaourtrc' y escribimos la ruta del directorio que hemos creado para trabajar con los ficheros descargados de modo temporal y crear los paquetes de instalación que precisemos:

# yaourtrc - Configuration for yaourt
#
# See yaourtrc(5) for more information
#
#

# General
#AUTOSAVEBACKUPFILE=0
#DEVELBUILDDIR="/var/abs/local/yaourtbuild"
#DEVEL=0
#EDITOR="$EDITOR"
#FORCEENGLISH=0
#FORCE=0
TMPDIR="/yaourt-compilacion/"

Guardamos los cambios y comenzamos a instalar Wolfenstein ' Enemy Territory'. En éste caso instalaremos 'etpro' que es uno de los mods mas usados.

[root@------ ----]# yaourt -S enemy-territory-etpro

Una vez instalado con sus dependencias si no tenemos instalado el paquete 'alsa-oss' para la compatibilidad de ALSA con el antiguo sistema de sonido OSS lo instalaremos con 'pacman'.

[root@CRONOS txus]# pacman -S alsa-oss
resolviendo dependencias...
verificando conflictos...

Objetivos (1): alsa-oss-1.0.25-1

Tamaño de descarga: 0,04 MiB
Tamaño instalado: 0,17 MiB

¿Continuar con la instalación? [S/n] s

Ahora continuamos con otro punto que es en el que hago referencia en otra entrada anterior sobre las tarjetas de sonido trabajando en ALSA con soporte para antiguas aplicaciones que solamente lo hacen con OSS.

http://eb1agg.hol.es/?q=node/70

Resumiendo, se trata de crear un script de arranque en el sistema que levante la compatibilidad OSS o mismamente podemos hacer esto como 'root' cada vez que iniciemos el juego, aunque es una gran incomodidad:

[root@------ ----]# modprobe snd-pcm-oss && modprobe snd-mixer-oss && modprobe snd-seq-oss && chmod 777 /dev/dsp* && chmod 777 /dev/mixer* && chmod 777 /dev/sequencer*

Ahora antes de ejecutar la aplicación y configurarlo todo creamos un fichero similar al mencionado anteriormente para Urban Terror, pero que en este caso lo considero más necesario aún ya que si se ejecuta en el display ':0' desconfigura la resolución que estamos utilizando en él, asíque lo más conveniente es arrancarlo en ':1' :

#!/bin/bash
DISPLAY=:1.0

xinit /usr/bin/enemy-territory $* -- :1 &

Con estos pasos de instalación deberían estar ambos juegos trabajando perfectamente en nuestra máquina. Cabe recalcar que puede dar algunos problemas con las librerias de 32 bit en arquitecturas de 64.

Como siempre espero que os haya servido de ayuda, pero no sin antes finalizar el artículo con el video de otro clásico que es Counter Strike. Éste lo podéis encontrar en numerosos sitios y puede trabajar perfectamente con 'wine' sin la necesidad como creen algunos de instalar 'PlayOnLinux'. Cosa que me parece absurda haciendo tener dos versiones de 'wine' ocupando espacio en disco duro.

Saludos.