Sven Co-op Guide

Crear un servidor para tus amigos SIN abrir puertos o configuración de firewall alguna for Sven Co-op

Crear un servidor para tus amigos SIN abrir puertos o configuración de firewall alguna

Overview

Aprende a crear una partida privada para tus amigos rápida y fácilmente. Esto no requiere abrir puertos, ninguna configuración especial para el router, ninguna regla de firewall, ni otras configuraciones de red menos importantes o conocidas.Esto explica la nueva función y característica “NAT punch-through” (traducción de direcciones de red) introducida en la versión 5.19 de Sven Co-op, del 1º de Abril de 2019, y responde a las preguntas más frecuentes al respecto.

Resumen

  1. Una persona crea una partida siendo el host (huésped) desde la opción “Create game” (Crear servidor) en el menú principal.
  2. El host toma nota de su ID de steam (ej. STEAM_0:1:12345678) y luego la comparte con sus amigos. — Puedes usar [link] para averiguarla si no lo puedes ver escrito en la consola de tu juego.
  3. Sus amigos se unen al servidor creado por el host escribiendo lo siguiente en su consola:
    connect STEAM_0:1:12345678

    Obviamente reemplazando STEAM_0:1:12345678 por la ID de steam del host. No se requiere ponerlo entre comillas.

Introducción

Desde que la versión 5.19 fue lanzada el 1º de Abril de 2019 (conocido como “fool’s day”, pero esto no es ninguna broma) Sven Co-op puede crear servidores usando el servicio NAT punch-through de Steam. (Esto también ha sido llamado “peer-to-peer” o “directo cliente-a-cliente” y otros nombres en español como “red de pares” o “red entre iguales”.)

Esto significa que quien sea, incluyéndote, puede crear un servidor desde el menú principal, y hacer que sus amigos se unan sin tener que configurar puertos en routers, reglas de firewall, redes VPN (Hamachi, etc.), u otras configuraciones de red poco conocidas por el usuario promedio.

Pueden dirigir sus agradecimientos a nuestro programador del motor de juego GeckonCZ por implementer esta característica (no va a entender mensajes en español de forma directa, pero la intención igual cuenta).

¿Cómo funciona?

Cuando creas una partida (listen server como suelen llamarle), la cual se inicia desde la opción “Create Game” en el menú principal, Sven Co-op utilizará el servicio NAT punch-through de Steam para asegurar que una conexión entre el servidor y cualquier jugador conectándose pueda ser realizada aun a través de barreras como firewalls y configuraciones NAT. Personas que hosteen servidores de este tipo no requerirán de configuraciones especiales de red para abrir rutas entrantes.

Esto resuelve un problema común donde usuarios de conexiones hogareñas no pueden dejar su servidor disponible para jugadores en todo el mundo, particularmente para jugar con amigos.

Esto también debería eliminar cualquier necesidad de invadir servidores públicos, donde un (normalmente pequeño) grupo de amigos toman control de un servidor dedicado público al hacer vote-kick en cualquier otro jugador que quiera entrar, así el grupo puede seguir jugando solos. Esto ha sido un gran problema últimamente, y esperamos que esta característica de solución a este problema. — Entendemos que grupos de amigos suelen querer jugar sin ser interrumpidos, ¡así que por favor difundan la palabra acerca de esta nueva función!

Crear un servidor

Esta función se encuentra activa por defecto siempre y cuando el modo LAN esté desactivado. Cualquiera que sepa tu ID de Steam puede conectarse a tu servidor ni bien inicies una y el mapa haya cargado. Si no quieres esta función deberás desactivarla iniciando Sven Co-op con el parámetro “-nop2p”.

Una vez que inicies tu servidor sería útil tener una copia de tu ID de Steam así puedes dársela a tus amigos. Ellos deben saberla así pueden unirse a tu servidor. Puedes ver esto usando el comando “status” en la consola, o en la misma presta atención a unas líneas de texto que digan lo siguiente (o similar):

Initializing IP networking Local IP address: 192.168.56.1, SV port: 27015, CL port: 27005 Initializing Steam P2P networking Local SteamID: STEAM_0:1:12345678

Ten en mente que conexión a través de UDP/IP sigue activa como antes, así que si esto siempre funcionaba para tí previamente cualquiera puede conectarse a tu servidor ya que aparecerá en la lista de servidores. Por lo tanto para mantener tu servidor realmente privado deberás colocar una contraseña.

Si estás jugando solamente en LAN no necesitarás de esta característica y puedes cambiar a su respectivo modo (opción “sv_lan” = 1) desde las opciones dentro de “create game” antes de crear el servidor.

Unirse al servidor de un amigo

Ya que estos servidores no aparecen en la lista (tampoco en “Amigos/Friends”) primero debes saber la ID de Steam del jugador que haya creado el servidor.

Para saber la ID de alguien en tu lista de amigos de Steam simplemente visita [link] y coloca el enlace de su perfil de Steam, por ejemplo “[link]“. Después puedes copiar desde la parte marcada como “steamID” la cual comenzará con “STEAM_……”, por ejemplo “STEAM_0:1:12345678”.

Una vez que sepas la ID puedes unirte a su servidor usando el comando “connect” en la consola de Sven Co-op, por ejemplo:

connect STEAM_0:1:12345678

Otros formatos de ID de Steam como “steamID3” y “steamID64” no funcionarán. No coloques la ID entre comillas.

Preguntas Frecuentes

¿Es esto realmente peer-to-peer?

Sí y no.

La conexión inicial se forma usando el servicio NAT punch-through de Steam, el cual funciona interpretando como pares iguales al host del servidor y a los jugadores que se unen. El servicio de Steam luego intenta negociar una forma de que estos dos jugadores formen una conexión UDP/IP directa. Sin embargo si no se puede establecer ninguna ruta directa Steam usará sus propios servidores de retransmisión para puentear a ambos jugadores.

Una vez que la conexión inicial es establecida sin embargo, aun existe una clásica relación cliente-servidor entre los jugadores que se unen y el host. Jugadores individualmente conectados no tendrán ninguna comunicación directa con nadie aparte del jugador que hostea, así que si el host cierra su juego, lo desconecta o pierde conexión a internet el servidor caerá para todos los que vayan a unirse. (No hay migración de host alguna.)

Puedes encontrar más información acerca de los datos técnicos de este sistema aquí (inglés):

[link]
[link]

¿Esto es más lento/da más lag que una conexión directa?

En principio cuando los servidores de retransmisión de Steam son usados casi siempre habrá un ligero problema de rendimiento a causa de los enrutamientos/saltos adicionales necesarios para puentear la conexión de dos jugadores entre sí. Dicho esto el servicio NAT punch-through de Steam y los servidores de retransmisión generalmente son aceptados por rendir muy bien y seguramente, así que no debería verse ninguna pérdida de calidad respecto a la conexión de los jugadores. (Particularmente ya que Sven Co-op no es competitivo.) Se requerirá de más benchmarking (evaluación comparativa) para responder a esta pregunta con certeza cuando los servidores de retransmisión de Steam sean necesarios.

Esto no aplica si el servicio NAT punch-through fue capaz de formar una conexión directa entre dos jugadores. En cuanto al rendimiento esto debería funcionar igual de bien como una clásica conexión directa con UDP/IP.

¿Este sistema mantiene en secreto mi IP pública?

No.

Si los servidores de retransmisión de Steam son usados entonces tu dirección IP no será inmediatamente visible una vez establecida la conexión, pero ya que el sistema NAT punch-through intenta formar una conexión directa antes de volver a recurrir a los servidores de retransmisión esto implica exponer cuál es tu dirección IP pública.

No hay opción disponible para que puedas forzar a usar los servidores de retransmisión solamente, e intentar esto por tu cuenta al estorbar con la conexión directa del sistema NAT punch-through no ayudará.

Esto aplica a ambos el jugador host y a los que se unan al servidor.

¿Puedo banear/prohibir que jugadores entren?

Sí.

Igual que antes puedes usar el comando “banid” para banear una ID de Steam, por ejemplo “banid 0 STEAM_0:1:12345678”.

¿Hace falta una solución VPN como Hamachi?/¿Sigo necesitando de Hamachi?

No. El punto de esto es no requerir de ninguna clase de configuración de red especial de parte del usuario. Es muy posible que usar una solución VPN afecte negativamente el rendimiento si se lo compara a una conexión directa.

Usando esta característica de conectividad va a ser más rápido que una solución VPN como Hamachi ya que las conexiones lo más directas posible. Cuando sea absolutamente necesario recurrir a los servidores de retransmisión de Steam se debe aclarar que éstos son armados con el único propósito de enlazar a jugadores usando una aplicación de juego y no una conexión de red generalizada como lo es Hamachi.

¿Funciona el RCON?

No.

RCON sigue dependiendo de una conexión UDP/IP directa.

Esto no será muy necesario ya que un jugador real siempre estará en el juego.

¿El sistema funciona con servidores dedicados?

No.

Los servidores dedicados no son enlazados a ninguna cuenta de Steam así que no habría forma de asociar una ID de Steam con ellos.
Si esto fuera posible también requeriría que tengas una segunda cuenta de Steam, ya que la misma cuenta no puede registrarse Y usar un servicio de Steam de forma activa (jugando/hosteando un servidor, usar SteamCmd, etc.) en dos instancias al mismo tiempo.

Requiere conexión UDP/IP directa.

Final

Espero que esto haya sido informativo y útil, cualquier duda pueden comentar en esta guía.

Esta es una traducción-transcripción de la guía originalmente creada por Adambean y GeckonCZ: [link]

SteamSolo.com