Left 4 Dead 2

Left 4 Dead 2

Not enough ratings
Servidor dedicado L4D2 en Raspberry Pi
By QuickAndDirty
Guía rápida y sucia para instalar un servidor dedicado de Left 4 Dead 2 en una Raspberry Pi 4.
   
Award
Favorite
Favorited
Unfavorite
Requisitos
Conocimientos mínimos de GNU/Linux
Raspberry Pi 4 (en mi caso el modelo de 4GB)
Sistema operativo Raspbian en una tarjeta SD con al menos 8GB libres
Conexión a internet
Saber abrir puertos en el router
¿Porque hacerlo, que ventajas tiene?
La principal ventaja es ahorro de costes.
Una Raspberry pi es un micro-ordenador barato (en su versión 4 Modelo B con 2Gb de RAM unos 35€) y de muy bajo consumo (5v con un consumo de apenas 3W).
¿Es oro todo lo que reluce?
No. Usaremos un programa que es una especie de "emulador" para correr software diseñado para procesadores x86 en procesadores ARM. Pueden haber errores, puede que sea inestable. Lamentablemente debido a mi mala conexión a internet, no he podido testearlo todo lo que quisiera.
Vamos al tema…
Primero de todo necesitaremos instalar las herramientas que usaremos para compilar el código de Box86 (Box86 es el software que usaremos para poder ejecutar binarios de x86 en procesadores ARM).


Abriremos la consola con la que nos sintamos mas cómodos y ejecutaremos la siguiente linea:

sudo apt update && sudo apt install git build-essential cmake -y


Ahora descargaremos el código fuente de Box86 con la siguiente linea:



Entraremos en la carpeta recién creada que contiene el código y lo compilamos; la compilación tardará algunos minutos, nada exagerado pero si el suficiente tiempo como para prepararse un café.

cd box86

mkdir build; cd build; cmake .. -DRPI4=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo; make


Ahora procederemos a instalar los binarios creados en nuestro sistema:

sudo make install



Con esto ya podemos ejecutar binarios para Linux x86 en nuestro sistema Linux ARM, ahora procederemos a descargar SteamCMD, para poder instalar servidores.

mkdir steamcmd; cd steamcmd; curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -


Ejecutaremos steamcmd.sh para que este se actualice y se ejecute.

./steamcmd.sh


Ahora veremos algo tal que así en el prompt.

Steam>


Tendremos que hacer login.

login anonymous


Instalaremos el servidor y saldremos de steamcmd.

app_update 222860 validate

quit


Si todo ha salido correctamente ya tendremos instalado el servidor en la siguiente ruta (asumo que has usado el usuario por defecto de Raspbian).

/home/pi/.steam/steam/steamapps/common/


Nos moveremos al directorio del servidor y lo pondremos en marcha.

cd /home/pi/.steam/steam/steamapps/common/Left\ 4\ Dead\ 2\ Dedicated\ Server/

./srcds_run
Consideraciones
Esto es una guía rápida y sucia, una prueba de concepto; si realmente quieres apostar por tener un servidor dedicado 24/7, te recomiendo por seguridad, que crees un usuario con los permisos muy limitados que sea el que lance los servidores.
Para un mejor rendimiento del servidor y menor latencia usa el cable de red en lugar de wifi.
También tendrás que dar una ip fija a tu Raspberry Pi y abrir los puertos correspondientes en el Router (27015 TCP/UDP).
Existen multitud de guías para tunear tu servidor que pueden ser aplicadas.

Aunque esta guía esta pensada para el L4D2, seguramente también funcione para otros servidores como Counter Strike, Left 4 Dead, No More Room in Hell, Insurgency, Sven Co-op, Half-Life, etc.

El consumo de memoria y microprocesador, en los mapas estándar del juego, ronda un máximo de 30% de la CPU (sin overclock) y alrededor de 1Gb de RAM, habría que ver que pasa en los mapas chinorris con hordas infinitas y totalmente desproporcionadas...