¿Por qué es tan difícil crear un servidor de Counter?

Sí, también explico cómo hacerlo

Con todo esto de la cuarentena varios volvimos a jugar al Counter Strike original, un mod del Half-Life que en el 2000 se convirtió en un juego propiamente dicho. Y lógicamente varios quisimos “crear” una partida como hacíamos en el cyber, pero esta vez tratando de que nuestros amigos se puedan conectar sin salir de sus casas.

che quien tiene la bomba dale loco no se hagan los boludos

Como siempre intento aprovechar las oportunidades sociales para democratizar el conocimiento, antes de pasar a los tiros quiero contar por qué es tan difícil crear un servidor en primer lugar. Y voy a empezar por decir que en realidad lo difícil no es crear un servidor: la opción aparece arriba de todo y apenas abrís el juego. Lo difícil es que tus amigos lo “vean” y puedan entrar. ¿Por qué?

Internet se basa en un montón de reglas y convenciones, llamadas protocolos, que sirven para que dos o más máquinas puedan hablar entre sí. Quizás el más importante de todos sea el Protocolo de Internet, o IP por sus siglas en inglés. ¿Te suena?

Seguramente escuchaste hablar aunque sea de la dirección IP, que son los numeritos que internet usa para identificar cada máquina en toda la red. Son cuatro números que van de 0 a 255 cada uno y que se suelen escribir separados por puntos, tipo 192.168.0.1 . Pensalos como el “número de teléfono” de cada computadora.

La primera opción de todas es para crear un servidor. Foto: Valve Corporation

Algo importante de la red de teléfonos es que, por razones obvias, no puede haber dos teléfonos con el mismo número. Con internet pasa exactamente lo mismo: nunca debería haber dos computadoras con la misma IP, porque la red no sabría a cuál de las dos “llamar”.

El problema es que el protocolo es de principios de los 80s, y sus creadores no previeron muy bien la popularidad que iba a tener internet. Si recordás algo de combinatoria y estás tan aburrido como para hacer la cuenta seguramente ya te diste cuenta de que algo no cierra: hay disponibles 256⁴ direcciones IP, o sea poco más de 4 mil millones, pero en el mundo ya somos casi 8 mil millones de personas. Y ahora no solo las computadoras están conectadas a internet, sino también celulares, televisores, consolas y hasta parlantes o cafeteras.

Para 2025 pareciera que va a haber más “smart home devices” que celulares, mirá vos.

Pero Laski, ¿por qué no aumentamos la cantidad de numeritos de la IP y listo?

Muy buena pregunta, interlocutor imaginario creado pura y exclusivamente con fines didácticos. La respuesta corta es “estamos en eso”. Pero para cambiar el protocolo hace falta actualizar todos los dispositivos que sostienen la internet, y eso es un montón de laburo y tiempo.

Pero seguro ya superamos los 4 mil millones de aparatos conectados. ¿Cómo lo logramos?

Efectivamente, la mayoría de las estimaciones que vi dicen que estamos entre 30 y 50 mil millones de dispositivos conectados. Hace rato ya que no hay manera de que todos tengan una dirección IP única.

En 2013 ya quedaban muy pocas IPs sin asignar (son los rectángulos negros).

La idea para solucionarlo es tan sencilla como genial, y quizás sea lo más importante que vas a aprender hoy: en lugar de darle una IP a cada dispositivo, le damos solamente una IP a cada casa y que por adentro se arreglen como puedan.

¿Cómo “como puedan”? Yo no sé nada de esto y sin embargo estoy conectado a internet, fumándome este artículo en lugar de estar tirando tiros.

Calma, IICPyEcFD, nos estamos acercando al problema principal. Podés leer esto porque tenés un aparato llamado router al que le llegan todos los mensajes que van a la IP de tu casa, y que sabe hacer de “nexo” entre tu compu (o celular) y el servidor de Medium donde está guardado este artículo.

Muy simplificadamente, cuando querés entrar a una página web:

Tu compu le pide la página al router. El router va y le pide a “internet” que busque esa página y se la mande cuando la tenga. A su vez, el router “anota” en algún lado que fuiste vos el que pidió esa página y sigue haciendo su vida de router. “Internet” te manda la página. ¿Adónde? A la IP de tu casa, que es al único lugar adonde te la puede mandar. Y le va a llegar a tu router. Cuando le llega tu página, el router se fija en su “tablita de pedidos”, ve que fuiste vos quien pidió esa boludez y, juzgándote en silencio, se la manda a tu compu.

Es decir, el router hace lo que su nombre indica: rutea los pedidos a internet y sus respuestas. Y si venías diciéndole modem no está mal, hace rato ya que el mismo aparato hace las dos cosas.

Lo que sí está mal es decirle CPU a esto.

Quizás ya estés viendo el problema: con un servidor de Counter (o de cualquier otra cosa) el sentido de la comunicación se invierte. Los “pedidos” vienen de internet (de las compus de tus amigos) y es tu compu la que debería responder. Pero por más que le pases la IP de tu casa a tus amigos, los pedidos no le van a llegar a tu compu… sino a tu router. Que va a ir obediente a consultar su tablita, pero no va a encontrar nada: tu compu nunca pidió que le manden algo. Así que va a ignorar los pedidos y, un poco más desconcertado que antes, seguir con su vida de router.