Hola Visitante

Autor Tema: Servidor counter strike 1.6  (Leído 3016 veces)

Berni69

  • Administrator
  • *****
  • Mensajes: 30
    • Ver Perfil
Servidor counter strike 1.6
« en: Diciembre 30, 2008, 08:09:15 pm »
Servidor de Counter-Strike 1.6 en Linux

Introducción

. Requisitos .

- Una máquina con linux (cualquier distro sirve)
- Una conexión a internet con upload de 256k o más para evitar lag.
- 600 mb de espacio en disco (Es recomendable reservar al menos 1gb para los mapas y addons que agreguemos)
- Router con el puerto que vallamos a usar abierto.
- Privilegios de administrador (root)
- Tener instaladas las librerias libstdc++ (en * explico)

Nota: Si no sabemos como ser root, en Ubuntu hacemos sudo su, en otras distros como Debian , Fedora Core , etc, sería su root.

. Descargando lo nesesario .

Antes que nada creamos el directorio en el que se va a encontrar el server, en la guía vamos a usar /usr/servercs :
mkdir /usr/servercs

Accedemos al directorio:
cd /usr/servercs

Descargamos los archivos básicos :

- HldsUpdateTool
wget http://www.steampowered.com/download/hldsupdatetool.bin

- NoSteamAuthEngines
wget http://www.linuxcumsa.ro/download/engine.v15.tgz (gracias floydian)

- libstdc++
En Debian: apt-get install libstdc++5

. Instalando el server .

Vamos a instalar los archivos que descargamos, empezamos dandole permisos a hldsupdatetool.bin y ejecutándolo:
chmod +x hldsupdatetool.bin
./hldsupdatetool.bin

Una vez que aceptamos la licencia, nos crea un archivo \"steam\" que es el que nos permite bajar el motor hl y counter-strike:
./steam -command update -game valve -dir .

Volvemos a ejecutar el comando. Esto baja el motor de half-life, dependiendo de la conexión a internet puede tardar unos minutos como 1 o 2 horas, cuando termine nos tira \"HLDS installation up to date\"

Ahora, instalamos Counter-Strike:
./steam -command update -game cstrike -dir .

Otra vez, esperamos a que baje todo y tire \"HLDS installation up to date\"

. Emparchemos y configuremos el server .

Para hacer que el servidor acepte los clientes no-steam, hay que reemplazar los archivos \"engine\" originales por los que vienen en engine.v15.tgz:
rm -rf engine_amd.so
rm -rf engine_i486.so
rm -rf engine_i686.so
tar xfvz engine.v15.tgz

. Configuración .

En el directorio cstrike del servidor hay un archivo llamado server.cfg, este lo podemos configurar con cualquier editor de texto. Por Ejemplo:
nano cstrike/server.cfg

En ese archivo arman su config, acá les dejo una que armé yo para que la toquen a su gusto:
hostname \"- XXXXX Server\" ; -----------------> Reemplazen esto por el nombre de su servidor
port 27016 ; ----------------------------------------> Reemplazen esto por el puerto que vallan a usar
ip \"192.168.0.10\" ; ------------------------------> Reemplazen esto por su IP LAN
map de_dust2
pausable 0
rcon_password \"tupass\" ; --------------------> Reemplazen esto por una contraseña que conozcan
mp_autokick 0
mp_autocrosshair 0
mp_autoteambalance 0
mp_buytime 2
mp_consistency 1
mp_c4timer 35
mp_fadetoblack 0
mp_falldamage 0
mp_flashlight 1
mp_forcecamera 3
mp_forcechasecam 2
mp_friendlyfire 1
mp_freezetime 3
mp_fraglimit 0
mp_hostagepenalty 0
mp_limitteams 6
mp_logfile 1
mp_logmessages 0
mp_logdetail 3
mp_maxrounds 0
mp_playerid 0
mp_roundtime 3
mp_startmoney 1700
mp_timelimit 35
mp_tkpunish 0
mp_winlimit 0
mp_footsteps 1
mp_logecho 0
mp_timelimit 0
sv_allowupload 1
sv_alltalk 1
sv_cheats 0
sv_clienttrace 1.0
sv_contact sumail@suservidordemail.com ; -----------> Reemplazen esto!
sv_region 255
sv_send_logos 1
sv_send_resources 1
sv_voiceenable 1
sv_unlagsamples 1
sv_unlagpush 0
sv_aim 0
sv_airaccelerate 10
sv_airmove 1
sv_allowdownload 1
sv_clienttrace 1.0
sv_clipmode 0
sv_allowupload 1
sv_cheats 0
sv_gravity 800
sv_lan 1
sys_ticrate 1000
decalfrequency 60
log on
edgefriction 2
host_framerate 0
allow_spectators 1
sv_voicecodec voice_speex
sv_voicequality 2
sv_unlag 1
sv_maxunlag .5
sv_filetransfercompression 1

En la misma carpeta cstrike está el archivo liblist.gam, es indispensable modificar la línea que dice secure 1 por secure 0. Si se olvidan de hacer esto, cada vez que arranquen el servidor, les va a querer bajar el \"Valve-Anti-Cheat\" que ya no existe, y por lo tanto el servidor no va a arrancar nunca.

Instalando Addons

. Metamod .
La base para todos los addons que vamos a instalar es el Metamod, asi que empezemos por instalarlo:

Creamos la ubicación de los archivos .so (las dlls para linux)
mkdir /usr/servercs/cstrike/addons/metamod/dlls
cd /usr/servercs/cstrike/addons/metamod/dlls

Descargamos Metamod:
wget http://voxel.dl.sourceforge.net/sourceforge/metamod/metamod-1.19-linux.tar.gz

Extraemos:
tar xfvz metamod-1.19-linux.tar.gz
rm metamod-1.19-linux.tar.gz

Creamos el archivo plugins.ini en la carpeta metamod (acá se declaran todos los demás addons):
cd ..
touch plugins.ini

Por ultimo debemos declarar Metamod en liblist.gam:
cd /usr/servercs/cstrike
nano liblist.gam
Busquen la línea gamedll \"dlls\\\\mm.dll\" y
reemplazenla por gamedll_linux addons/metamod/dlls/metamod_i386.so

. Amx Mod X 1.8.1 .
Este addon nos permite asignar administradores y realizar tareas como banear jugadores, iniciar votaciones de mapa, enviar mensajes de HUD, y muchas cosas más por medio de sencillos menúes.

Para no renegar moviendo carpetas se paran en cstrike y descomprimen todo:
cd /usr/servercs/cstrike
wget http://voxel.dl.sourceforge.net/sourceforge/amxmodx/amxmodx-1.8.1-base.tar.gz
wget http://voxel.dl.sourceforge.net/sourceforge/amxmodx/amxmodx-1.8.1-cstrike.tar.gz
tar xfvz amxmodx-1.8.1-base.tar.gz
tar xfvz amxmodx-1.8.1-cstrike.tar.gz

Ahora tenemos que declararlo en el plugins.ini de metamod:
cd addons/metamod
nano plugins.ini

Y agregamos:
; AmxModX
linux addons/amxmodx/dlls/amxmodx_mm_i386.so

Con esto ya está andando AmxModX, ahora debemos configurarlo y agregar los admins en los archivos amxx.cfg y users.ini respectivamente.

Empezamos con amxx.cfg:
cd ..
cd amxmodx/configs
nano amxx.cfg

Este archivo debemos editarlo a gusto, en http://wiki.amxmodx.org/Configuring_AMX_Mod_X#CVARs explica como usar cada variable, por las dudas les dejo una config base, modifíquenla:
echo Ejecutando archivo de configuracion de Amx Mod X.
amx_default_access \"z\"
amx_password_field \"_pw\"
amx_mode 1
amx_show_activity 1
amx_scrollmsg \"%hostname% -- Server corriendo sobre Gnu/Linux. Admins: Admin1 Admin2 Admin3, etc..\" 100
amx_imessage \"%hostname%\" \"000255100\"
amx_imessage \"%hostname%\\\\n:aca.queda-bueno-poner-la-ip-del-server.com.ar:puerto\" \"000100255\"
amx_freq_imessage 180
amx_flood_time 0.75
amx_reservation 1
amx_hideslots 1
amx_reservedslots 1
amx_time_display \"ab 1200\" \"ab 600\" \"ab 300\" \"ab 180\" \"ab 60\" \"bcde 11\"
amx_time_voice 0
amx_vote_delay 10
amx_vote_time 10
amx_vote_answers 1
amx_votekick_ratio 0.40
amx_voteban_ratio 0.40
amx_votemap_ratio 0.40
amx_vote_ratio 0.02
amx_mapsmenu_mapsloc 2
amx_mapchooser_mapsloc 2
amx_votemapmenu_mapsloc 2
amx_extendmap_max 90
amx_extendmap_step 15
amx_client_languages 1
amx_debug 1
amx_mldebug \"es\"
csstats_rank 0
csstats_maxsize 3500
csstats_rankbots 0
amx_statsx_duration 6.0
amx_statsx_freeze -2.0

Ahora vamos a editar users.ini:
nano users.ini

En el mismo archivo dice como crear admins con distintos \"access flags\" (permisos). Un ejemplo de users.ini sería:
; Admins
\"[X Clan] Admin\" \"contraseña\" \"bcdefghijklmnopqrstu\" \"a\"
\"[Y Clan] Un_Admin\" \"una_contraseña\" \"bcdefghijklmnopqrstu\" \"a\"
\"[Z Clan] Otro_Admin\" \"otra_contraseña\" \"bcdefghijklmnopqrstu\" \"a\"

. sXe Injected Anti-Cheat .
Si van a hacer un servidor público, es recomendable que pongan esto porque siempre hay algun ***** que usa \"cheats\". El programa funciona mediante una aplicación en el lado del cliente que se valida con el plugin para metamod que vamos a instalar ahora.

Primero debemos crear los directorios:
mkdir /usr/servercs/cstrike/addons/sxei
mkdir /usr/servercs/cstrike/addons/sxei/dlls
cd /usr/servercs/cstrike/addons/sxei/dlls

Descargamos sXe Injected Server:
wget http://sxe.sandgren.biz/sXeInjectedServer6.0.2.4forLinux.rar

Ahora hay que descomprimir el rar, en caso de que no tengan \"Unrar\", en Debian hacen apt-get install unrar, en Fedora o CentOS hacemos yum install unrar y en caso de que tengan otras distros, van a http://www.rarlab.com/download.htm y lo bajan.

Una vez que tengamos Unrar, hacemos:
unrar e sXeInjectedServer6.0.1.9forLinux.rar
rm -rf *.txt
rm -rf *.rar

Ahora a declararlo en el plugins.ini de metamod:
nano /usr/servercs/cstrike/addons/metamod/plugins.ini

Y añadimos:
;SxE Injected
linux addons/sxei/dlls/sxei_mm_i386.so sxei

Por ultimo editamos server.cfg (en la carpeta cstrike), y agregamos al final:
__sxei_internal_ip \"123.123.123.123\"

Nota: Acá ponen su IP de Internet, tambien pueden poner direcciones del tipo esta-ip.com.ar, SI NO HACEN ESTO NADIE VA A PODER PASAR LA VALIDACIÓN DE SXE.

Prendiendo el server

El archivo hlds_run se encarga de prender el server con el motor que más le convenga según la plataforma que usemos. Para simplificar la línea de encendido, podemos hacer un script como este:
touch /usr/servercs/hlds_auto
echo #!/bin/sh >> /usr/servercs/hlds_auto
echo ./hlds_run -game cstrike +exec server.cfg -maxplayers 9 >> /usr/servercs/hlds_auto

Entonces para prender el server haríamos:
cd /usr/servercs
./hlds_auto

Una vez hecho esto, ya tendriamos que tener un servidor de CS 1.6 andando con capacidad para 8 jugadores +1 slot reservado.



Obtenido de http://www.taringa.net