Los desarrolladores ahora pueden usar la API de red de Valve para sus juegos de Steam

En los últimos años, Valve ha trabajado para mejorar la calidad del modo multijugador en Dota 2 y CS: GO retransmitiendo el tráfico y transfiriéndolo a su red troncal. Esto le permite proteger los juegos de los ataques DoS, reduce el ping y mejora la calidad de la conexión. En Steamworks SDK versión 1.44, Valve lanzó una nueva API que proporciona acceso a este servicio a todos los socios de Steam.



Valve publicó una publicación especial . La API incluye:

  • El acceso a la red Valve, que permite a los jugadores estar protegidos de los ataques, proporciona un paso 100% NAT confiable y una conexión mejorada.
  • Herramientas para evaluar instantáneamente el ping entre dos nodos arbitrarios sin enviar paquetes.
  • Conexión de alta calidad a través del protocolo UDP confiable con cifrado de extremo a extremo.

Valve Network Access


Valve tiene nodos de retransmisión desplegados en 30 puntos de conexión de red en todo el mundo con un ancho de banda de varios terabits. Hay al menos algunas ventajas de la red.

En primer lugar, la retransmisión de tráfico es anónima y protege a los servidores y usuarios del juego de los ataques DoS. Además, dado que el cliente toma decisiones dinámicas de enrutamiento, si el nodo de retransmisión no está disponible, el cliente puede cambiar a otro nodo en unos pocos segundos o, si es necesario, a otro punto de conexión. Un atacante podrá interrumpir el proceso del juego solo si su ataque es capaz de sobrecargar varios centros de datos a la vez.

En segundo lugar, los clientes podrán elegir una ruta que los transfiera desde una conexión de Internet pública a otras dedicadas lo antes posible. Valve garantiza un enrutamiento óptimo en su red troncal de red, ya que trabajan con más de 2.500 proveedores de Internet. Además, el tráfico de juegos sensible al retraso tiene prioridad sobre las descargas de contenido a través de HTTP. Esto es posible porque la parte del tráfico del juego en el ancho de banda utilizado es relativamente pequeña. En una red troncal de red, un aumento repentino en el tráfico fuera del juego no afectará la calidad del juego.

¡La guinda del pastel es reducir el ping! El protocolo de válvula le da al cliente la oportunidad de elegir la ruta a lo largo de la cual las solicitudes serán root. El cliente tiene en cuenta cada punto de conexión de retransmisión, determina el retraso de extremo a extremo en la ruta y luego selecciona la ruta con el menor retraso.

Si permite que los clientes elijan una ruta, su conexión será mejor que la predeterminada de manera sorprendente. Después de analizar 16 millones de conexiones de direcciones IP de clientes únicos a servidores dedicados en los centros de datos de Valve, obtuvieron los siguientes resultados:

  • El tiempo de ping ha disminuido en el 43% de los jugadores.
  • Para el 25% de los jugadores, el tiempo de ping disminuyó en 10 o más ms.
  • Para el 10% de los jugadores, el tiempo de ping disminuyó en 40 o más ms.

El alcance de las mejoras varía según la región.



Herramientas de evaluación de ping


Las ISteamNetworkingUtils interfaz ISteamNetworkingUtils incluyen herramientas de evaluación de ping de retransmisión basadas en la red. Al medir el tiempo de ping a diferentes nodos de retransmisión, generamos coordenadas que describen la ubicación del host en Internet. Utilizando estos dos conjuntos de coordenadas, Valve puede estimar con mucha precisión el tiempo de ping entre dos nodos arbitrarios sin enviar paquetes. Esta característica es extremadamente útil al seleccionar juegos y seleccionar un nodo de red punto a punto.

Protocolo de código abierto de extremo a extremo


SteamNetworkingSockets no solo proporciona acceso a funciones basadas en la red de retransmisión de Valve y a la red troncal de red para los socios de Steam, sino que también es una biblioteca de transporte universal para juegos, que ofrece las siguientes características:

  • Fragmentación, montaje y retransmisión. En su código, envía y recibe mensajes que pueden ser menores o mayores que los paquetes de red. Para aumentar la eficiencia, el protocolo combina varios mensajes pequeños en un paquete, divide mensajes grandes en varios paquetes, los recoge en el lado receptor y retransmite segmentos de mensajes confiables perdidos debido a la pérdida de paquetes.
  • Cifrado y autenticación. La seguridad no es una preocupación secundaria para un juego en línea moderno: la vulnerabilidad puede arruinar la impresión del juego. El cifrado adecuado es un verdadero desafío. Valve se guió por estándares modernos para transmisiones confiables y los aplicó a mensajes no confiables utilizados por los juegos. El cifrado incorporado protege los datos de la intercepción de forma predeterminada. La protección contra ataques secuestrados requiere que un tercero de confianza dé acceso al certificado o secreto compartido. Steam es así para sus juegos: para que un atacante pueda interceptar o modificar paquetes, debe estar dentro del proceso del juego, donde el sistema VAC lo detecta.
  • Las características principales de esta API también están disponibles en la versión de código abierto . Valve quiere que los desarrolladores aprovechen al máximo la API , y esto no sería posible sin la garantía de que el acceso al código fuente es gratuito.

Eso no es todo


Esta es la primera de una serie de actualizaciones destinadas a mejorar el rendimiento de los juegos en la red para los socios de Steam. Hasta ahora, Valve solo ha mejorado el trabajo de las redes punto a punto, pero además planean dar a los socios acceso a los desarrollos utilizados para sus servidores dedicados.

Source: https://habr.com/ru/post/443782/


All Articles