Servidor de Minecraft personalizable desarrollado en Python con arquitectura asíncrona
Descripció
El proyecto consiste en el desarrollo de un servidor personalizado para el protocolo de Minecraft Java Edition, capaz de gestionar la comunicación con múltiples clientes de forma concurrente. El sistema implementa las distintas fases del protocolo, permitiendo procesar las peticiones de los usuarios y responder según el estado de la conexión en cada momento. De esta forma, no solo se consigue un servidor funcional, sino también una comprensión profunda de cómo funcionan internamente los sistemas multijugador basados en red.
El funcionamiento del servidor se basa en una arquitectura modular donde un proceso principal gestiona las conexiones entrantes y crea un proceso independiente para cada jugador. Cada uno de estos procesos utiliza un sistema de estados para controlar el flujo de la comunicación, lo que permite organizar de forma clara el comportamiento del servidor en cada fase. Además, se emplean herramientas de programación asíncrona y manejo de datos binarios, lo que aporta eficiencia y escalabilidad, y facilita el mantenimiento y la ampliación del sistema en futuras versiones.