lunes, diciembre 20, 2010

Instalar Metamod, Sourcemod y Confogl a nuestro servidor de Left 4 dead 2

Primero instalaremos lo necesario para instalar plugins y administrar el servidor.

Metamod Source

Para instalar metamod descargamos este archivo: 

mmsource-1.8.4-linux.tar.gz (Linux, en mi caso)


Y lo metemos en
        /left4dead2/left4dead2/

En mi caso descargué directamente desde el server con wget, y luego para extraer con el comando:
        tar -xf nombredelarchivo.

De forma que para que esté bien instalado la ruta sería:
        /left4dead2/left4dead2/addons/metamod

Elegimos, left 4 dead 2, y generate .vdf, lo descargamos.

En mi caso lo subo de nuevo a box.jisko.net, y luego con la dirección de descarga que me dan lo descargo por wget, y sin problemas.

Quedará así
         /left4dead2/left4dead2/addons/metamod.vdf

Sourcemod

Para instalar sourcemod, descargamos aquí: http://www.sourcemod.net/snapshots.php
Siempre la última versión... ESTABLE, nada de versiones para desarrolladores.. que luego tenemos problemas.
Yo descargaré esta: 

Descomprimimos en /left4dead2/left4dead2, y debería quedar así:
        /left4dead2/left4dead2/addons/sourcemod
y otro rastro del sourcemod en /left4dead2/left4dead2/cfg/sourcemod

Administrador

Para ser administrador del servidor, y poder acceder a la lista de comandos y plugins del sourcemod, tenemos que editar un archivo.
        nano /left4dead2/left4dead2/addons/sourcemod/configs/admins_simple.ini

Si mientras estamos jugando ponemos "status" en consola, nos saldrá una lista con los steam_id de los jugadores que estamos conectados. Eso es lo que necesitamos añadir en el siguiente fichero.

ejemplo:

        "STEAM_12:34:4556"         "99:z"         //bleed

Guardamos, y cuando entremos al servidor, si ponemos en consola: sm_admin nos saldrá el menú de administrador :P

Plugins

Aquí os dejo una gran fuente de plugins para sourcemod, vigilad que sean para left 4 dead 2 :P http://forums.alliedmods.net/

Confogl

Para instalar confogl... go to http://code.google.com/p/confogl/

Bajamos,  confogl.

Confogl hay que extraerlo en la ruta:

        /left4dead2/left4dead2/

Si lo hemos extraído bien depositará los archivos en addons y cfg.

Cómo usar confogl en nuestro server


Para iniciar el modo confogl, forzando como administrador:

        !forcematch

Para forzar el 2vs2

        !forcematch 2v2

Para el 1vs1

        !forcematch 1v1

Si no se es administrador, uno de cada equipo debe escribir:

        !match

Para volver al modo normal

        !resetmatch

Si quiereis activar los buffs SI de los infectados, abrid confogl_personalize.cfg y descomentad.

        //sm_forcebuffsi                            
a:
        sm_forcebuffsi

You can also activate the Special Infected buffs as admin using:

        !forcebuffsi

or request SI buffs using:

        !buffsi

Se puede editar confogl_personalize.cfg para personalizar a nuestro gusto el server en este modo... Recomiendo no editar el resto de cfg's del confogl... porque luego hay problemas.


Si has llegado hasta aquí, ¡felicidades!

Como ves, no es tan dificil como parecía, cualquier persona con conocimientos bajos de linux puede hacerlo.
:)

viernes, diciembre 17, 2010

Tutorial para crear un servidor de Left 4 dead 2 casero bajo Linux (Parte 3 y 4)

Parte 3


Una vez tenemos descargados los datos y pone 100%, tendremos la última actualización del servidor de left4dead2. 
¿Qué quiere decir esto? ..Pues que el mismo comando que hemos usado, nos valdrá cada vez que se actualice a una nueva versión...


nano update.sh


Nos abre un editor y escribimos:


#!/bin/bash
./steam -command update -game left4dead2 -dir .


Guardamos, y le damos permisos de ejecución con chmod. 


chmod +x update.sh


Como opción, podemos poner en el cron que cada viernes por la noche ejecute este script.. y así tenemos actualizaciones automáticas.


Si no me equivoco, actualmente la ruta del archivo sería /home/bleed/update.sh ... navegamos hasta left4dead2.


cd left4dead2


Vamos a crear otro shell script de ejecución llamado start.sh


nano start.sh


#!/bin/bash
#El siguiente script crea una variable de entorno necesaria para el manejo de la frequencia de la cpu en el servidor... en mi caso fue indispensable usar este metodo. A continuacion ejecuta el server
RDTSC_FREQUENCY='disabled'
export RDTSC_FREQUENCY

./srcds_run -game left4dead2 +map c5M1_waterfront +exec server.cfg


Guardamos y damos permisos de ejecución.


chmod +x start.sh


Parte 4


Ahora viene la parte de configuración, navegamos a "/home/bleed/left4dead2/left4dead2/cfg". Hacemos un ls y vemos que el server.cfg que especificamos en el comando que metimos en start.sh no existe :(


cd ~/left4dead2/left4dead2/cfg
nano server.cfg




hostname "Bleeding witch | Troll Team"


rcon_password "aquivuestrapass"


sv_steamgroup #


//en # poned el numero del steamgroup al que quereis enlazar el server, si no teneis, poned 0


sm_cvar fps_max 0


sv_steamgroup_exclusive 1


//Al activar esto a 1, solo podran acceder a la partida miembros del grupo steam especificado en sv_steamgroup.
//Usuarios que no son del grupo no podran entrar a la partida, sin embargo, es posible que entren siempre y cuando
//entre un miembro del grupo antes.


//Permitir conexiones sin crear sala. 1 Si; 2 No
sv_allow_lobby_connect_only 1


sv_cheats 0


sv_region 3


sv_contact "zayk.core@gmail.com"


sv_minrate 20000
sv_maxrate 30000


ip ?
//? poned vuestra ip publica


Ahora 


cd ~/left4dead
./start.sh


Ya podeis entrar, en la siguiente entrega os explico como instalar metamod source, sourcemod y confogl.


Hasta otra.

jueves, diciembre 16, 2010

Tutorial para crear un servidor de Left 4 dead 2 casero bajo Linux (Parte 1 y 2)

Conexión

Decir antes que nada que tengo fibra optica, 900Kbps de subida.
Conectado por cable (no uséis wifi por dios) directamente al cablemódem, así que suponemos que no tenemos problemas de puertos :)

Hardware


El pobre servidor se trata de un portátil, core 2 duo (2 x 2.00ghz), 2 GB Ram DDR2 y suficiente disco duro (200Gb creo que tenía, esto es lo de menos)... Realmente no hace falta demasiada máquina para este servidor.

Software

-Gnu/Linux Ubuntu Server 8.04. (Recordad que ubuntu server es en modo texto)
-Half-life Dedicated Source (hlds)

Introducción

Aclarar que mi conexión solo soporta hasta 6-7 jugadores sin que el ping se dispare a más de 90ms (en caso de clientes de ADSL). Con 8 jugadores (Enfrentamiento/VS) se peta el server 999 ping, por que hay demasiadas hordas.

Mi caso: Crear un servidor para mi clan, en el que podamos entrenar con el modo war: confogl, en 2vs2 y 1vs1. Para este caso tanto mi conexión como mi laptop van sobrados y podremos configurar el server a nuestro gusto.

A partir de aquí doy por hecho que sabéis manejar entornos linux, así que me limitaré a escribir los comandos a usar, con una breve explicación de lo que hace, pero sin profundizar demasiado.

Parte 1


Tenemos el servidor instalado, con un usuario llamado Bleed, con permisos de promoción (sudo) a superadministrador.

Entramos a nuestro directorio hogar
cd ~


Deberíamos estar en /home/bleed. Aquí descargaremos desde la web de steam la herramienta de servidores dedicados para linux (HLDS).
wget http://www.steampowered.com/download/hldsupdatetool.bin

Comenzará a descargar, no tardará mucho. (12 segundos en mi caso). Le damos permisos de ejecución.
chmod +x hldsupdatetool

Ejecutamos y aceptamos contrato (yes).
./hldsupdatetool.bin

Nos extrae el cliente steam, desde ahí descargaremos los datos del juego.


Parte 2

Ejecutamos 1 vez steam
./steam

Nos dirá que el cliente de steam está actualizado, reintentar el comando. Le hacemos caso.
./steam

Ahora dirá que ha descargado algo más, y que volvamos a reintentar el comando, bien.. ahora si ejecutamos de nuevo, nos dará información detallada sobre el uso del binario steam, y sus parámetros. Si tenéis curiosidad ejecutar de nuevo :)
./steam

Interesante, ¿verdad?. Ahora instalar el servidor de Left 4 Dead 2 es tan sencillo como ejecutar la siguiente línea:
./steam -command update -game left4dead2 -dir .

El punto final, es la forma de indicarle que instale el servidor en la carpeta en la que estamos situados en estos momentos. Debería empezar un proceso de descarga, bastante lento... puede tardar unas cuantas horas aún teniendo conexión rápida.

Continuará...