Que tiempos aquellos en los cuales con solo conectar el módem ya estaba todo hecho. ¿Verdad? Lo más era introducir puertos en el cortafuegos de Windows pero no era tan complicado (lo más las IPTABLES de GNU/Linux pero vamos, con un par de comandos ya está). De todos modos hay que reconocer que esa conexión no es que sea muy práctica porque obligaba a tener el ordenador, al cual estaba conectado el módem y todo lo que se quisiera compartir, encendido porque apagado no iba nada, de forma que con el router, si el ordenador servidor o anfitrión caía, mientras estaba así, con el router otro puede crear la partida mientras para que se unan todos ahora porque no se comparte nada pero no quiero irme más más allá. Esto es un pequeño prólogo de lo que vamos a ver. Si por alguna causa no puedes crear servidores en Internet para este juego y te tienes que servir de Hamachi, he aquí la solución pero antes vamos a hacer dos aclaraciones:

  • Regla de entrada en el cortafuegos: Aquella que filtrará todo aquello que quiera entrar en nuestro PC. Por ejemplo, si creamos un servidor y los jugadores se unen, esta regla controlará si puede acceder o no.
  • Regla de salida en el cortafuegos: Aquella que filtrará todas las peticiones que hagamos. Si no tenemos esta regla nuestros amigos no podrán conectarse por Internet o de forma local porque se lo estamos denegando. En este juego, únicamente se permitirán juegos en red si no creamos esta regla porque le estamos ordenando al cortafuegos que todo lo que sea salir a Internet no se filtre. (Donde Internet puede ser Intranet o similar).

Para el caso de Valve únicamente necesitamos abrir dos puertos, el 27015 y 27016. Los puertos tienen que ser UDP (Ojo al dato, son UDP, NO TCP). El puerto UDP es el más rápido dado a que solo le preocupa la transmisión de datos y que lleguen cuanto antes, al contrario que TCP que este se toma su tiempo y se asegura de que llegue bien, si algo falla intentará solucionarlo al contrario que el otro que si falla, obviamente el servidor cae y tendremos que crearlo de nuevo. Alguno se preguntará ¿Entonces por qué no TCP? pues ya lo he dicho, POR LA VELOCIDAD, porque si un servidor de juegos tiene que tomarse tu tiempo de comprobar todo paquete por paquete, segmento por segmento o traza por traza, aunque no sea muy perceptible iría más lento. Dicho de otra manera, aquí interesa que conecte y funcione, sin ninguna que otra preocupación, si falla ya se encargará el administrador del servidor en hacer lo que tenga que hacer. (Algunos programas admiten los dos para que si con hay mucho error usa el otro o bien los dos como emule/amule).

Vamos a ello:

ABRIR LOS PUERTOS EN EL ROUTER.

Esto es una de las cosas muy importantes y que no puedo ayudarte, ¿Por qué? Porque en el mercado existen infinidad de routers, cada uno con sus particularidad. Simplemente tengo que decirte que tienes que apañarte de alguna manera para buscar en él la opción NAT, Firewall, Routing o similar para luego agregar los puertos 27015 y 27016 en UDP. Recuérdalo, no vaya a ser que pongas TCP y te lleves la sorpresa de que no funciona… Para acceder al router se pone en el navegador que uses (IE, Firefox,Chrome,Opera,Safari…) La puerta de enlace, esa puerta se puede ver desde Inicio/Ejecutar , escribir cmd y pulsar enter (Si no aparece, tienes que ir hasta Inicio/Todos los programas/Accesorios/Símbolo del sistema). En la pantalla que veas debes de escribir ipconfig /all y apretar enter. Localiza donde pone “Puerta de enlace predeterminada”. Esa IP es la que tienes que introducir en tu navegador:

image

Si lo has hecho todo correctamente te aparecerá una pantalla para introducir el nombre de usuario y contraseña DEL ROUTER. Suele venir en la parte de abajo o bien te lo indica alguna hoja que viene con él. Una vez introducido es donde te toca investigar buscando pero NO TOQUES LO QUE NO SEPAS. ¡PUEDES CARGARTE LA COMUNICACIÓN!. En mi caso, el router es un SMC Networks y mi pantalla para abrir los puertos es esta:

image

En mi caso, tuve que ir a NAT/Special Application. Esto es lo que tienes que buscar, pero no sabría decirte dónde. Tampoco tiene que ser así, todo depende del router. Una vez hecho, cerramos sesión. Algunos routers también suelen tener un CD con contenidos extra entre los cuales te explica esto o bien cómo abrir los puertos usando programas que el propio CD trae (generalmente desarrollados por la misma empresa del router).

 

Algunos routers hablan de puerto de inicio y puerto de destino. En nuestro caso es:

 

Puerto de inicio: 27015

Puerto de destino: 27016

 

Ambos en modo UPD. También algunos a los protocolos UDP y TCP suele llamarlo “Tipo de Servicio). No me preguntéis que hace esto de inicio y destino, pero supongo que se refiere con esto que hemos abierto todos los puertos existentes entre el 27015 y 27016 ambos inclusive. (O sea, como si en el cortafuegos de Windows ponemos 27015-27016 en vez de 27015,27016 que en este último caso significa que solo abrimos esos dos).

ABRIR LOS PUERTOS EN EL CORTAFUEGOS DE WINDOWS

WINDOWS XP SP2/SP3:

  1. Ir a Inicio/Panel de Control/Firewall de Windows. Clic en la pestaña “Excepciones”:image
  2. Daremos un clic en “Agregar puerto”. En Nombre podemos poner: Puerto Valve-Steam UDP 27015 y en Número de puerto pues hay que poner el número 27015. La opción repetimos que ha de ser UDP. Cuando todo esté como en la imagen superior (Clic para ampliar), clic en Aceptar. Repetiremos lo mismo pero para el puerto 27016:Nombre: Puerto Valve-Steam UDP 27016
    Número de puerto: 27016
    Protocolo: UDP

    Al final tenemos que tener algo así:

    image

    Salvo lo de los puertos, el resto no tiene que ser igual. Si nos hemos equivocado, podemos darle un clic al puerto erróneo y luego al botón "Modificar” para efectuar los cambios necesarios. Por último clic en “Aceptar”.

WINDOWS VISTA/7

Aquí es más complicado. Tenemos que crear primero la regla de entrada y la de salida. Presta atención:

  1. Inicio/Panel de control/Sistema y Seguridad/Firewall de Windows. En la ventana que tenemos, a la izquierda tenemos que localizar la opción “Configuración avanzada”:image

    Se nos presentará la configuración del cortafuegos:

    image

  2. Localiza arriba a la izquierda donde pone “Reglas de entrada” y dale un clic. Una vez hecho localiza ahora arriba a la derecha la opción “Nueva regla…” para darle un clic y que se presente esta ventana para iniciar el asistente para agregar una nueva regla:image

    Selecciona la opción “Puerto” tal y como muestra la imagen y da un clic en Siguiente> para aparecer en la siguiente ventana que tienes que configurarla como se muestra en la imagen:

    image

    Clic en Siguiente>.

  3. Esta ventana es muy importante… ¡TIENEN QUE PERMITIRSE TODAS LAS CONEXIONES!. Vamos que la tienes que dejar así:image

    Clic en Siguiente>

  4. Esta ventana es muy importante, es para indicar en que tipo de red se permitirá esta regla, aunque normalmente por defecto estarán Privada y Público, activa también dominio aunque no tengas este tipo de estructura de red. De esta manera conseguiremos que el cortafuegos entienda que se tiene que permitir EN CUALQUIER TIPO DE ESTRUCTURA DE RED QUE TENGAMOS. Puede parecer una bobada activar dominio cuando no lo hay pero por si las moscas mejor déjala activada aunque en principio no haría falta pero hazlo. Vamos déjala así mejor, de esta manera:image

    Clic en Siguiente>

Esta ventana no es más que una descripción. Lo mismo que antes, podemos poner tanto en el nombre como en la descripción algo así: “Puerto de entrada UDP de Valve-Steam 27015”. Una vez terminado clic en Finalizar para que sea agregada la norma:

image

Llegados a este punto, PODEMOS CONECTAR DE FORMA LOCAL. Es decir, el cortafuegos ya permite jugar en red local sin errores. Si intentamos invitar a nuestros amigos de Steam ocurrirá que se les dará la IP de nuestra red local privada (del tipo 192.168.w.z) cosa que no les va a ser muy útil… Para que puedan unirse y la IP que se mande sea la correcta tenemos que crear ahora la regla de salida. Las ventanas son exactamente las mismas. Localiza ahora a tu izquierda donde dice “Reglas de salida” y dale un clic. Una vez hecho, localiza a tu derecha la opción “Nueva regla” y dale un clic. Aparecerán las ventanas que ya conoces. NO TE FIES DE SIGUIENTE>,SIGUIENTE>, SIGUIENTE>, MÍRALAS CON DETENIMIENTO CON LAS IMÁGENES QUE EXPONGO PORQUE EN REGLAS DE SALIDA PUEDES ENCONTRAR ALGUNA QUE OTRA OPCIÓN CAMBIADA CON RESPECTO A LA ANTERIOR. Te pongo como tiene que quedar todo para que funcione:

image

image

image

image

 

image

Con esto ya el juego tiene que ser capaz de enviar comunicación. Ahora tendrías que repetir todo esto pero para el puerto 27016 o espera… ¿Seguro que hace falta? Revisa las capturas, a lo mejor puedes poner en puerto “27015,27016” (sin las dos comillas) es decir varios puertos separados por coma tanto en la entrada como salida. Tanto una como otra es válida pero ojo USA LA COMA PARA SEPARAR LOS DOS PUERTOS, NO PONGAS EL GUIÓN PORQUE SINO LE ESTÁS INDICANDO QUE EL CORTAFUEGOS ABRA TODOS LOS PUERTOS COMPRENDIDOS ENTRE 27015 Y 27016 AMBOS INCLUIDOS Y ANDA QUE NO HAY NÚMEROS. LA COMA ES PARA DECIR SOLO LOS INDICADOS (EN ESTE CASO ESOS DOS). Yo las tengo por separado para evitar estos “líos” y despistes aunque si nos hemos equivocado en un puerto, siempre podemos cambiarlo. Localizamos en el centro, en el listado el puerto (se identifica con el nombre que le hemos dado en la última ventana) y damos un doble clic en él donde tenemos que ir a la pestaña “Puertos y protocolos” para que aparezca esto:

image

 

¡NO TENEMOS QUE TOCAR NI CAMBIAR NADA DE LUGAR! ¡SOLO EL NÚMERO DEL PUERTO! Aquí podemos aprovechar para agregar el otro para tener los dos en una única regla. Una vez hecho clic en Aceptar y se acabó. Lo bueno de esto es que ¡SOLO HAY QUE HACERLO LA PRIMERA VEZ Y NO MÁS!

CREACIÓN DEL FICHERO SERVERMODE.CFG

Hemos hecho la tarea más ardua y donde realmente está el verdadero “coñazo”. Es cierto pero es lo que hay que hacer. Ahora tenemos que crear un fichero con una serie de línea de comandos que los usaremos en el juego, este fichero se llamará servermode.cfg y tendremos que guardarlo en C:/Archivos de programa/steam/steamapps/<tu nombre>/half-life 2 deatmatch/hl2mp/cfg

Este fichero se crea con el propio bloc de notas así que ábrelo y escribe esto:

net_start

sv_lan 0

deathmatch 1

sv_password XXXX 

Donde XXXX tienes que poner la contraseña que tendrá tu servidor. Si quieres que sea público simplemente no añadas este comando.

Guarda el archivo bajo el nombre de servermode.cfg (asegúrate de que tienes activada en el tipo de archivos “todos los archivos” para evitar que se guarde con extensión txt) en la ruta indicada.

Fuente de información: http://forums.whirlpool.net.au/archive/1000955

LLEGA LA HORA DE LA VERDAD…

Antes de abrir Half-Life 2: Deathmatch, configúralo para agregarle el parámetro –console, pues vamos a necesitar la consola para poder hacerlo. Para ello localiza el juego, dale un clic con el botón secundario para que se abra el menú contextual al cual daremos clic en “Propiedades” se nos presentará esta pantalla en la cual daremos un clic en “Establecer opciones de lanzamiento”. En la pantalla que nos aparezca, escribe “-console” (sin las comillas). Clic primeramente en OK y luego en cerrar:

image

 

Carga ahora Half-Life 2: Deathmatch, aparecerá la consola donde deberás de teclear estos comandos en este orden:

 

maxplayer XX (Donde XX es el número máximo de jugadores, es entre 0-16).

map a (El mapa que quieres cargar, los mapas del juego puedes verlos tecleando el comando maps *)

exec servermode.cfg

 

Si todo ha ido bien te encontrarás en el juego, en el mapa cargado y listo para recibir a los jugadores. El nombre de tu servidor se llamará “Half-Life 2: Deathmatch”. Simplemente, lanza la invitación a tus amigos de Steam para que se agreguen. La IP que recibirán será la IP pública de tu conexión a Internet para que puedan unirse al servidor.

 

Si no hubiéramos agregado los puertos de salida, tus amigos de Steam recibirían la IP de tu red local privada (LAN) del tipo 192.168.y.z y no podrían unirse.

 

Colorín colorado, esto se ha acabado… Por suerte lo del cortafuego,los puertos y el archivo servermode.cfg se hace solo una vez (la primera). A partir de ese momento cuando quieras crear el servidor, solo tienes que teclear los tres comandos anteriores.

 

Las preguntas que uno se plantea son:  ¿Sabrías cambiar el nombre del servidor? ¿Valdrá para otros juegos? Todo es cuestión de probarlo usando esto de referencia. Únicamente tenemos que partir de la creación del archivo servermode.cfg porque vuelvo a recalcar que la apertura de los puertos SOLO SE HACE POR PRIMERA VEZ, COMO EL PERMITIR EL PROGRAMA A TRAVÉS DEL CORTAFUEGOS.

En un principio tus amigos podrán unirse desde el chat de Steam pero si por un casual les devolviera el error de que el servidor no responde u otro tipo de error, para que tus amigos se unan debeis de hacer lo siguiente:

 

1- ir a http://www.miip.es para obtener tu IP pública con la que conectas a Internet
2- Pasarle a tus compañeros la IP que has obtenido en http://www.miip.es
3- Tus amigos deben de agregar tu servidor, pueden ir a la pestaña favoritos, clic con el botón derecho y luego en "Agregar servidor por Dirección IP" o algo así creo que se llamaba. La IP que deben de agregar ahí tus amigos es la que les has pasado en http://www.miip.es acompañado del puerto. Si por ejemplo te sale esta: 89.100.23.45; tus amigos deben de agregar a favoritos tu servidor así:

89.100.23.45:27015

y si por un casual no funcionase:

89.100.23.45:27016

 

Desde el terminal podemos cambiar el puerto con el comando hostport pero eso lo veremos en la siguiente parte.

 

Haz primero el obtener la IP para pasársela con tus amigos aunque puedes usar el navegador de Steam (Shift+Tab). Te recomiendo que la mires lo primero más que nada porque igual a veces por alguna causa puede que no se te abra la comunidad steam con el Shift+Tab aunque siempre puedes usarl Alt+Tab para cambiar a Windows y así entrar en el navegador aunque dependiendo de lo que tengas puede que el juego deje de responder correctamente.

 

En los juegos GoldScr es más fácil porque en un principio basta con:

 

1- Entrar en el juego con el comando –console

2- Crear el servidor desde el propio juego, NO DESDE EL SERVIDOR DEDICADO.

3- Una vez que el servidor ha sido creado, entrar en la consola y escribir sv_lan 0, apretar enter y listo. Ahora puedes pasar la IP Pública de Internet obtenida en http://www.miip.es a tus amigos como se ha descrito anteriormente.

 

No obstante, tiene más información aquí:

 

https://chrono9394.wordpress.com/2012/07/14/crear-servidores-para-los-juegos-goldsrc/

 

POSIBLES PROBLEMAS

 

Si aun con todo tienes problemas, igual es que cuando te apareció la ventana del cortafuegos de Windows para preguntarte que hacer denegaste el acceso o bien no marcaste todo. En este caso, es un juego, aunque siga sin ser seguro lo que voy a decir podemos en cierto modo darnos el gusto de permitir todas las conexiones en cualquier ámbito (público,privado,dominio etc). Para Windows XP el agregar un programa para pasarlo por el cortafuegos se accede de la misma manera que hemos visto para abrir el puerto solo que esta vez daríamos un clic en “Agregar programa…” En este caso tendríamos que localizar Steam y todos los hl.exe (sean de Half-Life 1, Half-Life 2 y/o cualquiera de sus mods) para agregarlos al cortafuegos. Desde Windows Vista/7 iríamos a Inicio/Panel de Control/Sistema y Seguridad. Localiza la opción Firewall de Windows pero… ¡NO LE DES UN CLIC! Busca debajo de ella la opción “Permitir un programa a través del Firewall de Windows” para que se abra una ventana similar al de XP. La forma de operar es idéntica a lo que he dicho, localizar los exe de steam, hl1,hl2… ¡LO QUE SEA! y permitiendo siempre EN TODOS LOS ÁMBITOS aunque lo dicho, no es que sea muy seguro pero a fin de cuentas es para jugar, con otros programas PROCURA TENER MUCHO CUIDADO QUE NO ES BROMA, AQUÍ ANTE LA DUDA BLOQUEA TANTO LA ENTRADA COMO LA SALIDA.

Y nada más, si aun con todo sigue sin funcionar tendría que revisar si lo has hecho todo esto correctamente o bien probar con otro cortafuegos (los antivirus completos traen muy buenos) que también los hay gratuitos y de diferentes clases sino, puedes desactivarlo aunque no te lo recomiendo porque así seguro que juegas pero ESTO SOLO EN CASO EXTREMO, porque al dejar totalmente libre el ordenador si que estamos a riesgos de que haya gente que quiera “aldraguear” nuestro PC conectándose desde otra parte del mundo.

WINDOWS VISTA/7:

image

image

image

 

WINDOWS XP SP2/SP3:

 

image

 

Después de haber terminado la partida, ¡RECUERDA ACTIVARLO!

 

¿QUÉ “PAPEL” HACE CADA COSA?

 

Lo que estamos haciendo realmente es crear un servidor LAN de Half-Life 2: Deathmatch pero dándole además la capacidad para que pueda ser un servidor público en Internet, es decir, cuando crees el servidor de esta manera realmente estás creando dos en el cual el mapa que hayas cargado podrá unirse gente a tu red privada local (por si quieren jugar amigos tuyos en tu red particular en tu casa o ciber) y además en Internet para jugar con tus amigos de Steam.

El archivo servermode.cfg hace lo siguiente:

net_start: Vamos a decir entre nosotros que damos la capacidad al mapa para que está disponible en la red, en principio local.

sv_lan 0: Hacemos que el tipo de red sea INTERNET aunque estará disponible tanto para ella como para LAN.

deathmatch 1: Decimos que este mapa es del tipo deathmatch.

sv_password XXXX : Agregamos una contraseña a nuestro servidor. Este es opcional.

maxplayers XX: Indicamos cuántos jugadores tendrá el servidor. El máximo son 16.

map nombre: Cargamos el mapa indicado desde la consola. Para ver todos los mapas disponibles para cargar, teclea maps *.

exec fichero: Cargamos un fichero desde la consola. Esto es el equivalente a un script o a un fichero bat. Es para que la consola haga una secuencia de comandos de forma automática sin tener que teclearlos siempre. En nuestro caso le hemos ordenado que una vez cargado el mapa al que queremos jugar, ejecute todos los comandos que haya dentro del archivo servermode.cfg

 

Y creo que esto es todo sino se me olvida nada. Guiño

 

¡Saludos!