Montar un servidor dedicado de True Combat Elite 0.49b (bajo Enemy Territory 2.60b) en Ubuntu 8.04

Voy a reproducir a mi manera, un tutorial para instalar un servidor de True Combat Elite 0.49b, bajo un sistema operativo Ubuntu 8.04 en versión "server" y en castellano en lugar de Ubuntu 7.10 e inglés como está el original.

Estos son los ficheros que vamos a necesitar:

Lo primero que vamos a hacer, es crear un usuario desde el que ejecutar de forma aislada, el servidor del juego, de éste modo será más seguro y mantendremos unos permisos adecuados y controlados.

Para ello, escribiremos en el servidor los siguientes comandos:

sudo adduser etserver
su etserver
cd ~

Ahora tenemos un usuario nuevo llamado "etserver", hemos entrado con ése usuario y nos vamos a su carpeta home (será /home/etserver/ seguramente).

Creamos un directorio para el servidor, estamos en la home del usuario "etserver" y por lo tanto:

mkdir et

Para descargar los ficheros en un entorno *nix se puede usar wget seguido del enlace de descarga. Adicionalmente se puede usar el modificador de comando "-c" que permite resumir las descargas en caso de haber sido canceladas (control+c durante la descarga desde wget).

wget -c http://tetosoft.com/drupal/system/files/et-linux-2.60.x86.run

(mirror)

Después de descargar el fichero, se le deben dar permisos de ejecución.

chmod +x et-linux-2.60.x86.run

Para confirmar, puedes ver el fichero y sus atributos así:

ls -la

Y el resultado será algo así:

454318 259M -rwxrw-r-- 1 etserver etserver 259M 2006-12-27 18:36 et-linux-2.60.x86.run

Vamos a ejecutar el fichero:

./et-linux-2.60.x86.run

Durante la instalación se nos preguntará por el directorio de destino de instalación, debemos especificar el creado anteriormente:

/home/etserver/et

Para la ruta de los binarios, ponemos:

/home/etserver

El servidor está ahora instalado. Vamos a instalar ahora el True Combat Elite, para ello, bajamos e instalamos el fichero "true.combat.elite_0.49-english.run":

wget -c http://tetosoft.com/drupal/system/files/true.combat.elite_0.49-english.run
chmod +x true.combat.elite_0.49-english.run
./true.combat.elite_0.49-english.run

La ruta para los binarios será nuevamente:

/home/etserver

Cunado la instalación haya terminado, bajamos y descomprimimos el parche para el Enemy Territory 2.60 y pasarlo así a 2.60b:

wget -c http://tetosoft.com/drupal/system/files/ET-2.60b.zip
unzip ET-2.60b.zip

Del parche, solo necesitamos los ficheros para linux:

cd Enemy\ Territory\ 2.60b/
cd linux
cp et.x86 /home/etserver/et
cp etded.x86 /home/etserver/et
cd ..

Si se pregunta por el reemplazo de los ficheros, indicaremos que si, queremos reemplazarlos.

Y ahora el parche para el True Combat Elite all os fixed.

wget -c http://tetosoft.com/drupal/system/files/tce049b_all_os_fixed.zip
cd et/tcetest/
unzip ../../tce049b_all_os_fixed.zip

Nuevamente, reemplazamos todo en caso de pregunta.

El servidor ya está montado, queda configurarlo.

Creamos los ficheros o los descargamos, después lo editamos:

cd /home/etserver/et/tcetest
wget -c http://tetosoft.com/drupal/system/files/server.cfg
nano server.cfg

Si no dispones del "nano", puedes usar cualquier otro programa de edición de texto, como por ejemplo "vi", en cualquier caso, hay que cambiar como mínimo las contraseñas de acceso al servidor.

Así que hay que reemplazar dónde dice YOUR_PRIVATE_SLOT_PASSWORD, YOUR_RCON_PASSWORD y YOUR_REFEREE_PASSWORD por las contraseñas correspondientes.

Aquí pego el server.cfg por si quieres copiar/pegar:

set dedicated "2" //1 for lan server, 2 for public
//set net_ip ""
//set net_port "27960"
 
// max players, private slots and passwords
set sv_maxclients "8"
//set g_password "" // this is the server password, for public use, don't set it
//set sv_privateclients "2"
//set sv_privatepassword "YOUR_PRIVATE_SLOT_PASSWORD"
set rconpassword "YOUR_RCON_PASSWORD"
set refereePassword "YOUR_REFEREE_PASSWORD"
 
// connection options
set sv_maxRate "12000"
set sv_dl_maxRate "42000"
set snaps 40
 
// map etc download options
set sv_allowDownload "0"
set sv_wwwDownload "0"
set sv_wwwBaseURL ""
set sv_wwwDlDisconnected "0"
set sv_wwwFallbackURL ""
 
// hostname and motd (motd is currently useless imo)
set sv_hostname "tRaCk3r's TC:E 0.49b Server"
set server_motd0 ""
set server_motd1 ""
set server_motd2 ""
set server_motd3 ""
set server_motd4 ""
set server_motd5 ""
 
// settings
set g_heavyWeaponRestriction "100"
set g_antilag "1"
set g_altStopwatchMode "0"
set g_autofireteams "0"
set g_fastres "0"
set g_friendlyFire "1"
set g_leanmode "1"
set g_minGameClients "0"
set g_maxlives "0"
set g_alliedmaxlives "0"
set g_axismaxlives "0"
set g_noTeamSwitching "0"
set g_voiceChatsAllowed "4"
set g_warmup "5"
set sv_floodProtect "1"
set sv_pure "1"
set sv_minping "0"
set sv_maxping "0"
set sv_fps "30"
set match_latejoin "1"
set match_minplayers "0"
set match_mutespecs "1"
set match_readypercent "100"
set match_timeoutcount "0"
set match_warmupDamage "0"
set team_maxplayers "0"
set pmove_fixed "0"
set pmove_msec "8"
set g_spectatorInactivity "0"
 
set sv_official "1"
 
// LMS settings
// set g_lms_teamForceBalance "1"
set g_lms_roundlimit "5"
set g_lms_matchlimit "2"
set g_lms_currentMatch "0"
set g_lms_lockTeams "0"
set g_lms_followTeamOnly "1"
 
// punkbuster config
// exec pb.cfg
 
// logging
set g_log "tcetest_obj.log"
set g_logsync 1
set logfile 2
 
// exec public settings by default
// exec pub.cfg
 
// something
set com_watchdog 60
set com_watchdog_cmd "exec maps.cfg"
 
exec maps.cfg

De la misma forma, creamos el fichero para los mapas (maps.cfg):

wget -c http://tetosoft.com/drupal/system/files/maps.cfg

Su contenido:

set map1  "map obj_northport     ; set nextmap vstr map2"
set map2  "map obj_railhouse     ; set nextmap vstr map3"
set map3  "map obj_snow       ; set nextmap vstr map4"
set map4  "map obj_village       ; set nextmap vstr map5"
set map5  "map obj_stadtrand     ; set nextmap vstr map6"
set map6  "map obj_delta       ; set nextmap vstr map1"
 
vstr map1

Ahora vamos a cambiar el lanzador por defecto para que incluya los recientes ficheros creados y que además, ejecute el mod tcetest:

cd /home/etserver
nano etded

Y lo dejamos así:

 
#!/bin/sh
# Needed to make symlinks/shortcuts work.
# the binaries must run with correct working directory
cd "/home/etserver/et/"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
#exec ./etded.x86 "$@"
exec ./etded.x86 +set fs_game tcetest +exec server.cfg +set g_gametype 5

Para el parámetro "g_gametype" podemos poner:

  • 5: corresponde a modo Objective
  • 7: corresponde a modo BoduCount
  • 2: corresponde a modo R-Obj

Y por último, queda lanzar el server:

cd /home/etserver/et
./etded

Si se ha seguido al pié de la letra éste tutorial, fallará indicando el siguiente error:

VM_create on game failed (algo relacionado con la librería libstdc++)

La solución es hacer un enlace desde la nueva versión de la librería en Ubuntu 8.04, la 6.0.9 a la 5 que es la que necesita el juego, así que entramos como root y:

sudo su (si no deja entrar porque etserver no es suodder, simplemente logout y login como root)
ln -s /usr/lib/libstdc++.so.6.0.9 /usr/lib/libstdc++.so.5

Y con esto terminamos este tutorial, buen juego!

cd /home/etserver/et
./etded

Tal vez solo quede actualziar el punkbuster para que vaya todo al día:

cd /et/pb
chmod +x pbweb.x86
./pbweb.x86

Y si se quiere estar disponible a la gente desde internet, hay que abrir los puertos del router correspondientes.

Leer más:

AdjuntoTamaño
ET-2.60b.zip3.95 MB
tce049b_all_os_fixed.zip6.48 MB
server.cfg1.93 KB
maps.cfg354 bytes
et-linux-2.60.x86.run258.41 MB
true.combat.elite_0.49-english.run453.29 MB
img: TCEServer

Trackback URL for this post:

http://tetosoft.com/drupal/trackback/91

Montar un servidor dedicado de True Combat Elite 0.49b en Ubuntu

Voy a reproducir a mi manera, un tutorial (www.tcelite.net/forum/viewtopic.php?t=6197) para instalar un servidor de True Combat Elite 0.49b, bajo un sistema operativo Ubuntu 8.04 en su versión "server".

4
Your rating: Ninguno Average: 4 (1 vote)