Como ejecutar un servidor dedicado de Teeworlds
Hace algunos días comentaba el juego Teeworlds en la Comunidad, pues bien, he recibido varias consultas referentes a como ejecutar un servidor de este juego.
Configuración
Para empezar necesitaremos tener un archivo de configuración donde se establecen las opciones del servidor. En el sitio oficial del juego hay un listado extenso de estas opciones y sus variables.
Yo he llamado al archivo config.cfg y lo he guardado en la misma carpeta del juego, junto el binario teeworlds_srv (es el servidor). Mi archivo config.cfg contiene lo siguiente:
sv_name Teeworlds sample dm #Nombre del servidor
sv_map dm1 #Mapa inicial
sv_scorelimit 20 #Puntuación máxima para cambiar de mapa
sv_timelimit 10 #Límite de tiempo
sv_gametype dm #Tipo de juego, puede ser dm,tdm,ctf
sv_rcon_password remember #Password de administración remota, ¡¡CAMBIARLO!!
sv_motd Teeworlds sample dm configuration #Frase del día
sv_max_clients 12 #Máximo de usuarios que se pueden conectar
sv_spectator_slots 10 #Número de puestos de espectador
Existen muchas posibilidades, revisar la lista completa en la documentación del juego.
Ejecutando el servidor
Podemos ejecutar el servidor desde una terminal abierta, para ello primero vamos allá donde tengamos el juego instalado o descomprimido ( si os perdéis echarle un vistazo a la entrada que publiqué):
$ ./teeworlds_srv -f config.cfgLa opción -f es para indicar que debe cargar el archivo de configuración config.cfg
Si el servidor se ejecuta correctamente podréis ver que empiezan a salir líneas de texto:
[491db045][engine]: running on unix-linux-ia32
[491db045][engine]: arch is little endian
[491db045][console]: executing ‘config.cfg’
[491db045][console]: failed to open ‘/home/thedavis/.teeworlds/autoexec.cfg’
[491db045][datafile]: datafile loading. filename=’data/maps/dm1.map’
[491db045][server]: data/maps/dm1.map crc is e6991fb3
[491db045][server]: server name is ‘Teeworlds sample dm’
[491db045][datafile]: loading data index=10 size=325
[491db045][game]: — Death Match –
[491db045][server]: version 0.4 1bd7780b0f76307c
[491db045][engine/mastersrv]: refreshing master server addresses
[491db045][register]: refreshing ip addresses
[491db046][engine/mastersrv]: saving addresses
[491db046][register]: fetching server counts
……
Eso, señores, es el servidor . Ahora con la terminal abierta, puedes ejecutar el juego, ir a LAN y ver tu servidor funcionando y conectarte en él. Para que gente desde Internet se pueda conectar es necesario tener abierto el puerto 8303 en el router/firewall.
Para cerrar el servidor, basta con pulsar CONTROL+C en la terminal y se termina la ejecución del servidor.
Ejecutando el servidor con un script
El método anterior es bastante bueno, funciona y debes tener la terminal abierta para ello. Pero también es posible ejecutar un script que te gestione una sesión con el programa http://www.guia-ubuntu.org/index.php?title=ScreenSCREEN, así podrás cerrar la terminal o ejecutar el servidor cuando se inicie el ordenador, es decir, completamente dedicado.
He usado un script que utilizaba para un servidor dedicado de Counter-Strike, lo he modificado y lo puedes descargar desde mi Post.
Básicamente se deben modificar las siguientes líneas para hacerlo coincidir con tu instalación de Teeworlds:
#Ruta al ejecutable
DIR=/home/thedavis/teeworlds
#Ejecutable
DAEMON=$DIR/teeworlds_srv
#
PARAMS="-f config.cfg"
#
NAME=teeworlds
#
DESC="Servidor Teeworlds"El script acepta los parámetros habituales start,stop,restart y status que nos indica si está o no funcionando el servidor.
Mientras esté el servidor funcionando puedes ver la terminal que ejecuta el servidor con el comando siguiente:
$ screen -r teeworldsPara salir de nuevo y no cerrar el servidor hay que pulsar CONTROL+D+A. Con esa combinación de teclas lo que hacemos es “desenganchar” la sesión que se seguirá ejecutando.
También he encontrado un script más complejo escrito por Stats Sushkov (ver script) pero no lo he probado. Lo único que sé es que es especifico para Ubuntu y para cuando instalas el juego desde los repositorios oficiales de Ubuntu. Todo es cuestión de probar que tal.
Conclusión
No es muy complicado hacer funcionar el servidor, después todo depende de aplicar bien las configuraciones para el tipo de conexión o si se va ha jugar en LAN o por Internet.
|