-
Donde esta el archivo srcds?
Donde hayas dicho que lo guarde el HldsUpdateTool.exe dentro del modificador -dir
-
El arte
Sabiendo lo que es el tick rate, el updaterate y el rate podría resultar muy sencillo crear un servidor. Tan solo tenemos que elegir un rate en función del tamaño del servidor y de nuestro ancho de banda, un updaterate de forma que no se sobrepase el rate y un tick rate acorde a nuestra maquina. Ya solo nos queda saber cuánto ocupa un update para saber cuantos podemos meter por segundo en función del rate. Y para la configuración del rate unicamente tendremos que tener en cuenta lo que ocupa cada update y la tasa de refresco de este teniendo en cuenta nuestro ancho de banda disponible. Con esto conseguimos tener un servidor que cuando alcanza su número máximo de jugadores consumen exactamente todo el ancho de banda, manteniendo un updaterate continuo ¿verdad? Pues no.
Resulta que el tamaño de cada update es variable en función de la información que contiene, como no podía ser de otra forma. No es lo mismo que estén dos tíos solos en un servidor, cada uno en la otra punta del mapa, que el que estén 64 jugadores reunidos en una placeta, todos pegando tiros y lanzando granadas cuyas explosiones lanzan decenas de objetos por los aires. Y por supuesto dependiendo el tamaño del update se consumirá más o menos ancho de banda.
Entonces diréis “bueno, pues limito el rate dividiendo el ancho de banda total por el numero máximo de jugadores y tema solucionado. El updaterate lo pongo alto porque como no van a circular mas updates por segundo de lo que permita el rate, la tasa de estos se van adaptando en función de la situación y tampoco pasa nada porque suba un poco el ping si se llega al limite del rate”. Esta es una solución, pero una solución chapucera y que no va ha aprovechar nuestros recursos al 100%, además de dar un rendimiento deficiente ya que estaremos petando el ancho de banda reservado a cada jugador imponiendo un updaterate mas alto del debido.
Aquí es donde entra el arte en la creación de un servidor Source. Y es que esto es una cuestión estadística. Es muy muy difícil que casualmente todos los jugadores se concentren en un espacio y se líen a tiros (momento en el cual entraría en juego la limitación de rate produciendo ligeras subidas de ping y algún que otro lagazo). Por otra parte tenemos que tener en cuenta que tampoco van a estar todos los jugadores lo más separados posible los unos de los otros y sin hacer nada. Así que lo mejor es usar un rate superior al ancho de banda disponible. ¿Y como se configura esto? Lo mejor es que crees tu servidor y vayas viendo cuanto ancho de banda se va consumiendo en función del updaterate configurado. Para configurar el updaterate será necesario también ir probando cuantos updates por segundo se transmiten a cada jugador en condiciones normales (ni muy extremas ni muy ligeras) y establecerlo ahí. ¿Qué pasa si casualmente se encuentran más jugadores de los previstos y se empieza a chupar mas ancho de banda del disponible (ya que el rate es superior a los recursos disponibles)? Pues que el ping y el lag empezaran a aumentar hasta niveles injugables, pero que ocurra no es lo normal.
Si usamos valores calculados matemáticamente (ancho de banda disponible/nº de jugadores) estaremos desperdiciando una importante parte de la conexión y además estaremos subiendo el ping de los jugadores sin ninguna necesidad, aunque esta opción nos quita tener que ir probando.
Instalación del servidor
Una vez que sabemos lo básico podemos instalar el servidor. Para ello descargamos la utilidad HLDS Update Tool de la Web www.steampowered.com. La instalamos en cualquier carpeta, por ejemplo, en c:\hlserver. Dentro de esta carpeta aparecerá un ejecutable. Creamos un acceso directo al mismo y añadimos la línea
donde game es el nombre del juego entre comillas (si queremos instalar por ejemplo el Counter Strike Source tendremos que sustituir < game > por “Counter-Strike Source”. En el campo < directorio > tendremos que poner la ruta donde se instalara el servidor, por ejemplo, c:\hlserver. Con los ejemplo anteriores debería quedar algo así:
Esta operación tarda varias horas.
Cuando ya tenemos bajado el servidor tenemos que crear el archivo server.cfg donde irán las variables de nuestro servidor tales como el tiempo por ronda, dinero inicial, etc. Este archivo tiene que ir en la carpeta CFG del juego (si es el Counter Strike deberá ir en x:\…\cstrike\cfg. Un ejemplo de archivo server.cfg es el siguiente:
0= Desactivado; 1= Activado
Una vez creado este archivo ya tenemos nuestro servidor configurado para funcionar. Para ejecutarlo tendremos que crear un acceso directo al archivo srcds al que añadiremos la siguiente línea:
donde "juego" es el nombre del juego, por ejemplo cstrike para Counter Strike, "mapa_inicial" será el primer mapa con el que se iniciara el servidor, "maxplayer" indica el numero máximo de jugadores, "console" activa el modo texto, "secure" activa el VAC y "tickrate" indica el tickrate máximo. Si queremos desactivar el VAC tendremos que sustituir "secure" por "insecure". Tanto la activación o desactivación del VAC como el número máximo de jugadores, el puerto, la IP (definida en el archivo config.cfg), el Tickrate y el modo consola solo se pueden modificar reiniciando el servidor. Si queremos ejecutar un servidor de Counter Strike nos quedara algo así:
Ahora ya tenemos el servidor listo para ser utilizado. Tan solo tenemos que iniciarlo ejecutanto el acceso directo a "srcds" y ya puede empezar la gente a jugar.
Router y puertos
Si vamos a usar un router tendremos que redireccionar al menos un puerto. Un servidor Source usa por defecto el puerto 27015 con el protocolo TCP para el juego en si y el mismo puerto con el protocolo UDP para la consola remota. Si no queremos que nadie tenga acceso desde fuera a la consola remota no es necesario redireccionar el 27015 en UDP (si redireccionamos tambien en UDP los clientes externos deberan saber la contraseña rcon para poder manejarla).
En todas las guias que he visto por Internet, la IP publica del servidor la definen en la linea de comandos dentro del acceso directo del "srcds" usando el modificador -IP xxx.xxx.xxx.xxx, en nuestro ejemplo quedaría así:
Y se queda sin definir en el archivo config.cfg. Esto es correcto siempre que la IP publica exista dentro de la máquina donde vamos a ejecutar nuestro servidor (ej: en el caso de modems). Pero si usamos un router, la IP pública no existe dentro de nuestro ordenador, por lo que a la hora de ejecutar el servidor va a dar un error diciendo que el puerto definido no se puede aplicar a dicha IP (normal, porque no existe). La solución que se da siempre es no definir la IP publica, con lo cual la gente puede acceder al servidor sin problemas, pero la IP publicada en los servidores maestros de Valve sera la local y por lo tanto los usuarios que no conozcan la dirección no podrán acceder. La solución pasa por definir la IP en el archivo config.cfg y no en la linea de comandos. De esta forma la IP del servidor sera la local hasta unos instantes antes de que se publique esta en los servidores maestros, ya que al ejecutarse el archivo config.cfg esta cambiará como variable dentro del servidor y será la publicada para el resto de usuarios. Comento esto porque el "truco" de definir la IP como variable no es la forma oficial de crear un servidor Source, es más, me tire varias horas buscando una solución al problema cuando cambié de modem a router ya que no existe documentación al respecto facil de encontrar en Internet, pero es un método que funciona sea cual sea el caso (modem, router,…).
Hola te cuento como lo tengo configurado yo, en el acceso directo en la linea de comando solo deje -game cstrike. y en server.cfg puse debajo de todo antes de exec server.cfg ip mas el numero, probe poniendo +port y -port en el acceso directo mas 27015, ya no se que hacer ademas tengo los puertos abiertos en router. mi server no sale a internet. te cuento que mi moden reseteado y no como router anda todo de diez pero lo que pasa es que yo comparto internet i si o si lo tengo que tener como router espero alguna ayuda por favor muchas gracias
-
Hola no se si hice bien donde conteste pero cualquier cosa me avisas hiceaclaro que esto es para que mi servidor salga a internet
-
En primer lugar, te pido por favor que uses comas para escribir.
Asegúrate de que el router ha direccionado el puerto 27015 tanto en UDP como en TCP. Eso del "exec server.cfg" no se para que lo usas (dime donde y cuando) porque el archivo server.cfg se ejecuta automáticamente cada vez que inicias el servidor (en HLDS) y cada vez que hay un cambio de mapa (en SRCDS). Por otra parte, muchos routers no permiten el acceso a su propia IP pública desde la red local, así que para asegurarte de que tu servidor está publicado en los maestros, puedes hacer una consulta en la web www.game-monitor.com un par de horas después de haber creado es servidor o de inmediato si te registras y añades el servidor a su lista.
-
Hola, disculpa mira por las dudas borre eso de exec server.cfg, mi problema es que no aparezco en el listado mi router es un zixel prestige 600 y no me habla sobre puertos udp si use en nat y abri bien los puertos, mi ip interna es 192.168.1.40 y la ip de speedy es ahora porque de vez en cuando cambia de 190.49.121.228, este numero no se donde ponerlo por favor en este foro vi que decias que lo pusieramos en config.cfg y server.cfg para que tomara en unos minutos la ip de internet, te agradezco la ayuda
-
Hola, disculpa mira por las dudas borre eso de exec server.cfg, mi problema es que no aparezco en el listado mi router es un zixel prestige 600 y no me habla sobre puertos udp si use en nat y abri bien los puertos, mi ip interna es 192.168.1.40 y la ip de speedy es ahora porque de vez en cuando cambia de 190.49.121.228, este numero no se donde ponerlo por favor en este foro vi que decias que lo pusieramos en config.cfg y server.cfg para que tomara en unos minutos la ip de internet, te agradezco la ayuda
Lo del config.cfg es una errata del manual; en realidad quería decir server.cfg (ya está corregido).
Para comprobar si el servidor está correctamente configurado en este aspecto lo que tienes que hacer es escribir en la consola el comando IP. Entonces te debería salir tu IP pública (en tu caso 190.49.121.228). Si sale otra es que hay algo mal y si sale esa entonces es que no has configurado correctamente los puertos de tu router.
Para salir en la lista de servidores no puedes tener instalado ningún crack en el servidor.
-
puse el comando y salio perfecto decime que hago con los puertos yo abri el 27015 y lo envie al ip de mi maquina osea al 192.168.1.40 que mas tendria que hacer entonces mi router en zixel prestige 600
-
Para que la gente se pueda meter tiene que estar el puerto 27015 en UDP. Esto del UDP es muy importante ya que si no se usa este protocolo no sirve de nada. Probablemente tu router solo esté redireccionando el tráfico en TCP. Consulta algún manual de tu router que hable sobre esto o pregunta en el subforo de "Hardware de red" a ver si alguien te puede ayudar ya que parece que tu servidor está correctamente configurado.
-
muchas gracias sos muy amable voy a buscar y despues te cuento, otra cosa vos sabes que en el acceso directo del servidor saque - nomaster y cuando lo tenia como moden no como router yo aparecia en internet y la gente podia entrar, no habra algo de eso, como lo tengo que tener a eso. actualmente no le puse nada borre todo
-
muchas gracias sos muy amable voy a buscar y despues te cuento, otra cosa vos sabes que en el acceso directo del servidor saque - nomaster y cuando lo tenia como moden no como router yo aparecia en internet y la gente podia entrar, no habra algo de eso, como lo tengo que tener a eso. actualmente no le puse nada borre todo
Si mal no recuerdo el modificador -nomaster es precisamente para no aparecer en la lista de servidores de valve, pero si lo usabas y funcionaba ya no se que decirte.
Antes te he dicho que el protocolo importante es el UDP pero quería decir el TCP (como bien dice la guía). En cualquier caso lo mejor es que direcciones los dos y de esa forma puedes acceder también a la consola remota.
-
ya ho hice y no pasa nada bueno ygual te agradezco muchisimo tu ayuda voy a seguir buscando si se te ocurre algo por favor ponelo en el foro nuchisimas gracias
-
sabeis si cuando se crea el servidor sale en paginas como game-monitor o gametraker, para que la gente pueda buscarlo ?
-
sabeis si cuando se crea el servidor sale en paginas como game-monitor o gametraker, para que la gente pueda buscarlo ?
Si usas router y has seguido correctamente las instrucciones del apartado "Router y puertos", el servidor aparecerá en game-monitor al cabo de una media hora (quizas una hora, ya no lo recuerdo). Me imagino que la otra página será igual. La cuestión está en hacer que el servidor se publique correctamente en los servidores maestros de Valve.
-
Y cuantos megas de conexión harian falta para mantener un servidor de 20 slots y que rondara los 60 de ping ?
-
Y cuantos megas de conexión harian falta para mantener un servidor de 20 slots y que rondara los 60 de ping ?
El ping no depende tanto de los megas sino del tipo de conexión. Si quieres que los jugadores tenga 60 ms de ping necesitas, o bien una conexión de cable-modem o una de FTTH (que creo que solo se comercializa en algunos barrios de Madrid). El ancho de banda para que medio funcione, con 1 Mbps vale, pero si quieres un ping tan bajo y mantener un updaterate más decente, al menos 2 mbps de subida.
Por supuesto, también depende de qué tipo de conexión tengan los clientes.
-
o bien una conexión de cable-modem o una de FTTH (que creo que solo se comercializa en algunos barrios de Madrid).
Cobito yo tengo router con cable, sirve eso ?
-
Cobito yo tengo router con cable, sirve eso ?
Cuando dices cable ¿te refieres a cable-modem?
-
no, yo tengo cable-router no se si eso es cable-modem
-
no, yo tengo cable-router no se si eso es cable-modem
¿Pero a qué tecnología te refieres con lo del cable? ADSL, Cable-modem… ¿Con qué compañía lo tienes contratado?
-
Ah vale, tengo Adsl con router no wifi con cable de telefonica 3mb