3 puntos por GN⁺ 2025-04-03 | 1 comentarios | Compartir por WhatsApp
  • Age LAN Server es un servidor web y lanzador que permite usar los lobbies multijugador de los juegos de la serie Age of Empires sin conexión a Internet con los servidores oficiales, con el objetivo de mantener la función de lobby incluso durante mantenimientos o cierres de los servidores oficiales
  • Los juegos compatibles son Age of Empires: Definitive Edition, Age of Empires II: Definitive Edition, Age of Empires III: Definitive Edition, Age of Empires IV: Anniversary Edition y Age of Mythology: Retold; AoM: RT por ahora solo es compatible en su versión de Steam
  • Las funciones comunes incluyen escenarios, transferencia de mapas dentro del lobby, restauración de partidas, data mods, chat de lobby y cross-play entre Steam y Xbox; según el juego, también se agregan espectador, invitaciones al lobby, compartir enlaces, búsqueda de jugadores, campaña cooperativa, revancha, canales, mensajes privados y grupos
  • El servidor recibe las solicitudes API del juego y reimplementa la superficie mínima de API necesaria para que funcione el lobby; los datos no se guardan ni se envían por Internet
  • Para jugar 100% offline se necesita un lanzador personalizado que evite las restricciones de conexión a Internet y de Steam o Xbox Live exigidas por el juego; matchmaking, logros, leaderboards, clanes e integración de amigos no están implementados o tienen limitaciones

Objetivo y alcance de Age LAN Server

  • Age LAN Server, antes llamado AoE 2 DE LAN Server, es un servidor web y lanzador que permite jugar en lobbies multijugador sin conexión a Internet con los servidores del juego
  • No está estrictamente limitado a uso exclusivo en LAN
  • Su objetivo es permitir seguir usando las funciones multijugador del juego incluso cuando los servidores oficiales estén en mantenimiento o hayan sido cerrados definitivamente
  • Para juego completamente offline se necesita un lanzador personalizado que evite las restricciones obligatorias de solo en línea impuestas por el juego
    • Según la plataforma y la versión, se aplican restricciones de conexión a Internet y de Steam o Xbox Live
    • El proyecto separado ageLANServerLauncherCompanion ofrece la descarga del Steam Emulator y archivos e información para jugar 100% offline

Juegos compatibles

  • Los juegos compatibles son los siguientes
    • Age of Empires: Definitive Edition

    • Age of Empires II: Definitive Edition

    • Age of Empires III: Definitive Edition

    • Age of Empires IV: Anniversary Edition

      • Age of Mythology: Retold
      • Age of Mythology: Retold por ahora solo es compatible en su versión de Steam

Funciones disponibles y diferencias según el juego

  • Las funciones comunes incluyen lo siguiente
    • Escenarios

      • Transferencia de mapas dentro del lobby
      • Restauración de partidas
      • Data mods
      • Chat de lobby
      • Cross-play entre Steam y Xbox
      • AoE II: DE, AoE III: DE, AoE IV: AE y AoM: RT admiten funciones adicionales
      • Modo espectador, incluyendo CapturAge en AoE II: DE
      • Invitaciones al lobby
      • Compartir enlaces del lobby
      • Búsqueda de jugadores
      • AoE II: DE y AoE III: DE admiten campaña cooperativa y revancha
      • AoE II: DE admite canales y mensajes privados
      • AoE III: DE y AoE IV: AE admiten grupos
      • AoM: RT admite mensajes privados y Arena of the Gods

Limitaciones y funciones no implementadas

  • Las limitaciones generales son las siguientes
    • La función para unirse a un lobby mediante enlace solo funciona cuando el juego ya está en ejecución
    • La suscripción al modo online solo funciona al usar el lanzador oficial
    • No hay integración de amigos entre Xbox y Steam
  • En AoE III: DE y AoE IV: AE, la lista de amigos muestra a todos los usuarios en línea como si fueran amigos
  • En AoM: RT, la lista de amigos también muestra a todos los usuarios en línea como si fueran amigos
  • Arena of Gods de AoM: RT tiene un funcionamiento aparte
    • No se obtienen recompensas
    • Todas las bendiciones y rarezas están desbloqueadas por defecto, incluidas algunas que no pueden usarse en los servidores oficiales
    • El favor acumulado es infinito
    • El modo historia tiene todas las misiones desbloqueadas por defecto
    • El modo desafío tiene vidas infinitas, acceso a todas las leyendas y el nivel predeterminado es el máximo, 99
  • Las funciones no implementadas son las siguientes
    • El matchmaking no está implementado debido al número limitado de usuarios y al carácter temporal del servidor, y se recomienda usar los servidores oficiales
    • Los logros solo deberían ser gestionados por los servidores oficiales, y cumplir condiciones de logro durante una partida puede causar problemas
    • Los leaderboards aparecen vacíos
    • En clanes, todos los jugadores son tratados como si estuvieran fuera de un clan, la exploración de clanes aparece vacía y la creación siempre da error
    • Bloquear jugadores en el lobby parece funcionar, pero en realidad no funciona
    • Reportar y bloquear jugadores parece funcionar, pero en realidad no funciona
  • La mayoría de los elementos no implementados no aplican a Age of Empires: Definitive Edition

Cómo funciona

  • El servidor es un servidor web simple que recibe las solicitudes API del juego
  • Solo reimplementa la superficie mínima de API necesaria para que funcionen las funciones del lobby
  • Los datos no se almacenan ni se envían por Internet
  • El lanzador facilita jugar en lobby y al mismo tiempo permite seguir usando el lanzador oficial para jugar online
  • Las funciones del lanzador incluyen lo siguiente
    • Inicio y detención automática del servidor o conexión a un servidor existente
    • Uso opcional de un directorio de metadatos aislado para evitar problemas potenciales con el juego oficial, excepto en AoE I
    • Modificación del archivo hosts para redirigir las solicitudes API del juego al servidor LAN
    • Proxy de algunas solicitudes al CDN para evitar la detección del estado oficial del juego
    • Proxy de solicitudes para el chat y la visualización de nombres de usuario
    • Instalación de un certificado autofirmado para que el juego pueda conectarse al servidor LAN
    • Excepto en AoE I y AoE IV, agregar el certificado al almacén del juego
    • Ejecución de comandos personalizados para configuración y recuperación
    • En Windows, retransmisión del battle server a interfaces distintas de la interfaz de red con mayor prioridad
    • Detección y ejecución automática del juego
  • Luego el lanzador revierte esos cambios para que el lanzador oficial pueda volver a conectarse a los servidores oficiales

Requisitos del sistema y condiciones del cliente

  • Los entornos con soporte estable para el servidor son los siguientes
    • Windows 7 o equivalente; se recomienda Windows 10 o superior
    • Linux kernel 3.2
    • macOS Monterey v12
  • Según el sistema operativo y la configuración, puede requerirse permiso de administrador o autorización del firewall para escuchar HTTPS en el puerto 443
  • Los entornos con soporte experimental para el servidor son BSD, Solaris y AIX
  • El lanzador y Battle Server Manager son compatibles con los siguientes entornos
    • Entornos que no sean Windows S edition/mode
    • Windows 7 x86-64; se recomienda Windows 10 o superior
    • Windows 11 ARM
    • Linux kernel 3.2 en x86-64 y ARM64
  • Si el lanzador debe manejar el archivo hosts, certificados locales o un lanzador de juego personalizado con elevación, se requerirán privilegios de administrador
  • El cliente usa la versión de Steam o Xbox de cada juego
    • La versión de Xbox solo aplica en versiones compatibles de Windows
    • AoM: RT requiere la versión de Steam
  • Se recomienda encarecidamente usar la versión más reciente o una apenas anterior; las versiones antiguas tienen problemas conocidos

Binarios y verificación

  • Los binarios del servidor y del lanzador se ofrecen para algunos sistemas operativos compatibles en la releases page
  • Los archivos distribuidos se dividen en formatos full, launcher, Battle Server Manager y server
  • En Windows, el antivirus puede marcar uno o más ejecutables como virus, lo cual se indica como falso positivo
  • El procedimiento de verificación consiste en comprobar que los archivos descargados sean idénticos a los subidos por el mantenedor
    • Verificar que la etiqueta del release haya sido validada con la clave de firma del committer
    • Descargar ..._checksums.txt y ..._checksums.txt.sig
    • Importar la release public key al keyring
    • Verificar el archivo de checksums con el archivo de firma
    • Verificar el archivo descargado usando la lista SHA-256 del archivo de checksums

Flujo de uso más simple

  • El lanzador y el servidor funcionan sin instalación: basta con descargar el archivo, descomprimirlo y ejecutarlo
  • El procedimiento básico de uso es el siguiente
    • Descargar el archivo full adecuado desde el release estable más reciente
    • Descomprimirlo en la ubicación deseada
    • En Windows, si hace falta, agregar los binarios del lanzador y del servidor a la lista de exclusiones del antivirus
    • En Windows, si hace falta, desbloquear los archivos .exe
    • Si no se usa el lanzador de Steam o Xbox, editar launcher/resources/config.<game_title>.toml para cambiar Client.Executable y Client.Path por la ruta del lanzador del juego y el directorio del juego
    • Para juego 100% offline se necesitan el lanzador personalizado y los recursos del repositorio companion por separado
    • Si se usa AoE IV o AoM y no está instalado AoE II: DE, especificar la ruta de BattleServer.exe en battle-server-manager/resources/config.<game>.toml
    • Ejecutar el script launcher/start_<game_title> y aprobar la elevación de privilegios de administrador y los permisos del firewall si se solicitan
    • Repetir el mismo proceso en cada PC que vaya a jugar en la LAN; la primera PC alojará el servidor y las demás lo detectarán automáticamente y recibirán la indicación para conectarse
    • En la sección Multiplayer del juego, crear un nuevo lobby; se recomienda configurarlo como lobby público
    • A un lobby público se puede entrar directamente desde el navegador o buscarlo por nombre y enviar invitaciones a amigos
    • Si el juego lo permite, se puede compartir el enlace de ingreso al lobby, pero el ingreso automático solo funciona si ya se está dentro del juego

Condiciones de uso y descargo de responsabilidad

  • El software se distribuye bajo AGPL
  • Las condiciones de uso adicionales solo aplican a la relación contractual entre usuarios y proveedores que hayan recibido el paquete descargable por este canal
  • Las condiciones adicionales no restringen los derechos garantizados por la AGPL de usar, estudiar, modificar, redistribuir y acceder al código
  • Las condiciones de uso del paquete descargable incluyen lo siguiente
    • Tener una licencia válida y legal del juego y de los DLC necesarios
    • Cumplir con los términos de servicio del juego y las condiciones aplicables
    • Uso estrictamente personal
    • Uso en entorno LAN mientras los servidores oficiales del juego estén disponibles y operativos
    • Si los servidores oficiales están en mantenimiento, temporalmente no disponibles o descontinuados de forma permanente, el requisito de LAN deja de aplicar
  • Este software no está afiliado ni respaldado por el publisher o desarrollador del juego

1 comentarios

 
GN⁺ 2025-04-03
Opiniones de Hacker News
  • Si te va el estilo de Hacker News y disfrutas el AoE clásico, 0 A.D. también podría gustarte.
    Es gratis y divertido, pero si te consideras un maestro de la estrategia, es un juego que te puede bajar bastante los humos.
    https://play0ad.com/

    • Me encanta 0 A.D., pero en cuanto el mapa tiene suficientes unidades como para que se ponga divertido, el rendimiento se vuelve desastroso.
    • Me sorprende que todavía siga en desarrollo. Aún recuerdo el hilo del foro de Heavengames donde empezó este proyecto.
    • El multijugador de 8 personas es prácticamente injugable.
  • Es genial que no solo AoE, sino los juegos en general, se preserven para que puedan ejecutarse también en el futuro.
    Es una lástima que desaparezcan funciones solo porque alguien apagó un servidor.

    • Como alguien que le ha dedicado incontables horas al multijugador en línea de AOE 2, me ha alegrado constantemente ver el crecimiento de AOE2 DE en los últimos años.
      No solo hubo actualizaciones que llevaron el número de civilizaciones a más de 50, sino también muchas mejoras visuales y mejoras generales de jugabilidad y rendimiento.
      Es especialmente sorprendente ver que en la comunidad open source continúe el desarrollo nuevo para juegos tan antiguos.
    • Con Supreme Commander pasó algo parecido.
      La empresa cerró y apagó los servidores, pero por suerte alguien creó una implementación del servidor de matchmaking.
      La comunidad sigue viva y creciendo, y el desarrollo del juego continuó hasta llevarlo mucho más allá del original.
      Ese proyecto es Forged Alliance Forever.
    • Creo que algo así debería ser obligatorio por ley.
      Está bien si ofreces un servicio necesario para usar un producto, pero si al retirar ese servicio haces que el producto ya no pueda usarse, o solo pueda usarse parcialmente, debería ser obligatorio publicar la implementación y la documentación.
  • AoE2 salió en 1999 sobre un motor de juego de 1997, y para la primavera de 2025 está previsto un nuevo DLC grande para la Definitive Edition.
    Sandy Petersen estaría orgulloso.

  • De niño, en los 2000, solíamos jugar sesiones de Aoe2 por LAN, y recuerdo que aproximadamente una de cada tres partidas simplemente se caía después de que todos hubieran jugado 2 o 3 horas.
    En cierto modo era mejor. Nadie tenía que perder, y todos podían creer que iban ganando.

    • Como todos aguantaban con estrategia tortuga, de todos modos las partidas casi nunca terminaban.
  • Me gusta Steam por la comodidad, y agradezco el esfuerzo de desarrollo de SteamOS, pero me preocupa la dependencia.
    Proyectos como este hacen que vuelva a poseer más de aquello por lo que pagué, y luskaner me parece una especie de héroe.

    • Es importante señalar que Steam no exige DRM en los juegos.
      Ni siquiera el DRM de Steam es obligatorio; depende completamente de la elección del desarrollador o distribuidor del juego.
      En Steam ya hay muchos juegos sin DRM, así que si respaldas los archivos, puedes ejecutarlos incluso sin Steam.
  • Me pregunto cómo se pueden añadir términos de uso a una licencia AGPL.
    ¿No entra eso en las “restricciones adicionales” que la licencia dice que se pueden eliminar?

    • Más bien parece un mecanismo para cubrirse de responsabilidad y evitar que lo den de baja.
  • Excelente.
    Me pregunto si existe documentación pública de la API de AoE3 usada para crear esto, o si todo fue ingeniería inversa desde cero.
    He visto gente buscando esa documentación, pero nunca he visto los documentos en sí.

  • Seguramente la respuesta está en alguna parte del repositorio, pero es algo que supera mi comprensión y me da curiosidad. ¿El multijugador de aoe2 DE depende mayormente de P2P?
    Supongo que los servidores regionales se usan solo para el matchmaking y que la lógica real del juego corre en los clientes.
    Lo pienso porque existen maphacks y porque si una persona tiene lag, todos se ralentizan, pero en los foros de AoE hay muchas afirmaciones contradictorias cada vez que sale este tema.

    • Hay un buen paper sobre el código de red del original: https://zoo.cs.yale.edu/classes/cs538/readings/papers/terran...
      No creo que Definitive Edition haya cambiado el diseño lo suficiente como para alejarse del P2P, pero no conozco la información real.
    • Hasta donde sé, DE no es P2P, sino basado en servidores. Aun así, todos los clientes y el servidor simulan el mundo en lockstep y conservan una copia completa del estado.
      Por eso son posibles los maphacks.
      No hace falta nada como Paxos para esto. Si una máquina se desvía, la partida se desincroniza y se detiene, aunque normalmente se puede recuperar desde un punto guardado.
    • En torneos profesionales se elige un servidor ubicado entre los dos jugadores.
      Por ejemplo, una partida Brasil-China puede jugarse en un servidor de la UE.
      Eso sugiere que el servidor se usa como una fuente central de verdad entre los clientes, y que todos los datos del juego pasan por el servidor, aunque el cálculo siga ocurriendo del lado del cliente.
    • Esa es la versión antigua; en la versión DE, solo el jugador con mala red tiene lag.
      Sin embargo, si hay tirones por el rendimiento de la CPU de un jugador, eso sí afecta a todos.
  • Ojalá AoE2 sobreviva tanto tiempo como el ajedrez. De verdad es uno de esos juegos “perfectos”.

    • Puedes dejar el ajedrez durante 2 años y volver sin que hayan cambiado todas las reglas en el ínterin.
      En Age of Empires 2 eso sí pasa ahora.
    • Totalmente, y sigue mejorando.
      Se siente como si Definitive Edition recibiera más inversión que algunas de las nuevas versiones de AOE3 y 4.
    • Hace poco pensé casi lo mismo. Ojalá los mejores juegos puedan seguir ejecutándose para siempre.
      Si un juego es divertido, creo que incluso problemas de balance o cosas que parecen bugs pero terminaron siendo funciones pueden conservarse.
      Pero algo puramente dañino, como bugs del código de red, es más complicado.
      Le agradezco muchísimo a Id que finalmente haya liberado el código fuente. Espero con muchas ganas que algún día pase lo mismo con AoE2.
    • Sin duda es un juego excelente.
      La aleatoriedad, el hecho de que no sea por turnos y el multijugador lo hacen interesante incluso comparado con el ajedrez.
      Pero el ajedrez tiene reglas 1000 veces más simples y que no cambian, y tampoco requiere un APM alto para jugar de forma competitiva.
    • AoE2 llega este año a PS5.
  • Me confunde un poco el papel de servidor web de este proyecto.
    ¿Es un componente del matchmaking o de la retransmisión de partidas del multijugador de AoE?

    • A mí también me dio curiosidad, así que leí el archivo de routes y fue interesante: https://github.com/luskaner/ageLANServer/blob/main/server/in...
    • El juego en sí corre sobre LAN, pero según entiendo, incluso para jugar por LAN se necesita internet por dos motivos:
      1. El juego tiene que conectarse al servicio multijugador.
      2. Se necesita un servidor de coordinación para la propia configuración de la LAN.
        Este proyecto parece encargarse del punto 2. Lamentablemente, el punto 1 parece más complejo e implica engañar al juego para que crea que Steam está conectado.