(tl; dr en la parte inferior)
El cifrado es esencialmente libre en este punto, incluso en las conexiones de acceso telefónico. Casi todos los idiomas principales lo tienen incorporado, o tienen una biblioteca para él, etc. La ventaja de no usar TLS / SSL es una fracción muy pequeña de un segundo tiempo de inicio, una reducción muy insignificante en el uso de la CPU (una pequeña fracción de un porcentaje), y aproximadamente 4kb de ancho de banda guardado por sesión (TLS no tiene un efecto apreciable en el ancho de banda después del protocolo de enlace inicial). Por lo tanto, suponiendo que mantengas la conexión abierta para todo un juego, no estás ahorrando prácticamente nada.
Sin embargo, el hecho de que los datos se envíen de forma clara facilita que alguien que esté interesado en jugar con tu juego pueda ver lo que está haciendo. Una vez que saben cuál es su protocolo, pueden usarlo para su beneficio. Una persona que usa una herramienta diseñada para realizar alguna tarea siempre va a superar a alguien que no tiene esa herramienta. Pensando de manera casual, he llegado a crear bots, manipulación de puntaje alto, actualizaciones de clientes falsos, jugadas asistidas por herramientas y secuestro de sesiones.
Botting, por ejemplo, es hacer que la computadora juegue por ti. Las computadoras son realmente buenas para mirar un millón de movimientos por adelantado, por lo que casi siempre pueden seleccionar el movimiento correcto e infalible para hacer en cualquier circunstancia más rápido que un humano. Esto significa que ganarán, y los jugadores reales perderán, lo que en última instancia significa que su juego terminará siendo abandonado o simplemente lleno de bots que juegan entre sí.
Las puntuaciones altas significan cosas para las personas. Es una cosa del ego. Entonces, cuando juegan y obtienen un puntaje de 250, y ven que el mejor jugador tiene un puntaje de 4,294,967,295, no se molestarán en jugar. Por ejemplo, esto podría suceder si el código de puntuación más alta tiene un protocolo fácil de romper (sí, algunos juegos solo reportan una puntuación alta y el servidor simplemente lo acepta). Esa parte debe estar protegida contra manipulaciones.
Las actualizaciones de clientes falsos pueden o no ser un problema, pero básicamente se reduce a si se puede "mentir" a un cliente para que piense que el juego se encuentra en un estado diferente al que realmente está. Por ejemplo, las personas pueden aparecer en el lugar equivocado en un mapa, las personas pueden teletransportarse "mágicamente" porque el servidor acepta las coordenadas sin validar la entrada, etc. Puede hacerlo incluso con el cifrado, pero eso significa que ha tenido que modificar la binario en lugar de simplemente escribir tu propio cliente.
Las jugadas asistidas por herramientas son similares a los botting: la persona sigue jugando, pero la herramienta las guía para tomar decisiones óptimas, en tiempo real, incluso si están perdiendo. Una persona con una herramienta por lo general tendrá un mejor desempeño que una sin ella (asumiendo algo de práctica, por supuesto), por lo que esto generalmente se considera una trampa, y es imposible detectar a un perro guardián para proteger al cliente. Es aún más fácil si puede modificar los paquetes de la forma que desee.
El secuestro de la sesión podría ocurrir si pueden descubrir la parte de la conexión que representa su sesión. Usted ve, no puede simplemente degradar una conexión TLS a un estado no cifrado (al menos, no que yo sepa). Entonces, eso significa que tienes que abandonar la conexión y abrir una nueva. Esta nueva conexión necesita identificar al servidor quién es. Claro, puede usar algún tipo de token, pero es mejor que sea un nonce (un valor de uso único), de lo contrario, el atacante sabrá la información de la sesión, y posiblemente podría engañar al cliente legítimo para que no continúe, quizás repitiendo la conexión a el servidor, etc.
En general, siempre debes usar TLS. Incluso si es un juego de Tic-Tac-Toe o Connect Four. Alguien, en algún lugar, querrá hacer trampa en tu juego, y básicamente puedes evitar clases enteras de trampas simplemente habilitando un canal seguro. Excepto por un costo de inicio muy pequeño, el cifrado es esencialmente gratuito, por lo que no usarlo no tiene beneficios reales. Si se está autenticando de forma segura, no tiene sentido cambiar a un canal no seguro más adelante, ya que ya pagó el precio de inicio.