3 pontos por GN⁺ 2025-04-03 | 1 comentários | Compartilhar no WhatsApp
  • Age LAN Server é um servidor web e launcher que permite usar o lobby multiplayer dos jogos da série Age of Empires sem conexão de internet com os servidores oficiais do jogo, com o objetivo de manter a função de lobby mesmo durante manutenção ou encerramento dos servidores oficiais
  • Os jogos compatíveis são Age of Empires: Definitive Edition, Age of Empires II: Definitive Edition, Age of Empires III: Definitive Edition, Age of Empires IV: Anniversary Edition e Age of Mythology: Retold; no momento, AoM: RT é compatível apenas com a versão Steam
  • Os recursos em comum incluem cenários, transferência de mapas dentro do lobby, restauração de partidas, data mods, chat no lobby e cross-play entre Steam e Xbox; dependendo do jogo, também há espectador, convite para lobby, compartilhamento de link, busca de jogadores, campanha cooperativa, revanche, canais, sussurros e grupos
  • O servidor recebe as requisições de API do jogo e reimplementa a superfície mínima de API necessária para o funcionamento do lobby; os dados não são armazenados nem enviados pela internet
  • Para jogar 100% offline, é necessário um launcher personalizado para contornar as restrições de internet e de conexão com Steam ou Xbox Live exigidas pelo jogo; recursos como matchmaking, conquistas, leaderboard, clãs e integração com amigos não foram implementados ou têm limitações

Objetivo e escopo do Age LAN Server

  • Age LAN Server tinha anteriormente o nome AoE 2 DE LAN Server e é um servidor web com launcher que permite jogar no lobby multiplayer sem conexão de internet com os servidores do jogo
  • Não é estritamente limitado apenas a LAN
  • O objetivo é permitir usar os recursos multiplayer do jogo mesmo quando os servidores oficiais estiverem em manutenção ou forem encerrados definitivamente
  • Para jogo totalmente offline, é necessário um launcher personalizado para contornar as restrições exclusivamente online impostas pelo jogo
    • Dependendo da plataforma e da versão, aplicam-se restrições de internet e de conexão com Steam ou Xbox Live
    • O projeto separado ageLANServerLauncherCompanion fornece download de Steam Emulator, além de arquivos e informações para jogo 100% offline

Jogos compatíveis

  • Os jogos compatíveis são os seguintes
    • 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 no momento é compatível apenas com a versão Steam

Recursos oferecidos e diferenças por jogo

  • Os recursos em comum incluem os seguintes
    • Cenários

      • transferência de mapas dentro do lobby
      • restauração de partidas
      • data mods
      • chat no lobby
      • cross-play entre Steam e Xbox
      • AoE II: DE, AoE III: DE, AoE IV: AE e AoM: RT oferecem recursos adicionais
      • recurso de espectador, incluindo CapturAge no AoE II: DE
      • convite para lobby
      • compartilhamento de link do lobby
      • busca de jogadores
      • AoE II: DE e AoE III: DE oferecem campanha cooperativa e revanche
      • AoE II: DE oferece canais e sussurros
      • AoE III: DE e AoE IV: AE oferecem grupos
      • AoM: RT oferece sussurros e Arena of the Gods

Limitações e recursos não implementados

  • As limitações gerais são as seguintes
    • Entrar em um lobby por link só funciona quando o jogo já está em execução
    • Assinaturas do modo online só funcionam ao usar o launcher oficial
    • Não há integração com amigos do Xbox e da Steam
  • Em AoE III: DE e AoE IV: AE, a lista de amigos mostra todos os usuários online como se fossem amigos
  • Em AoM: RT, a lista de amigos também mostra todos os usuários online como se fossem amigos
  • Arena of Gods de AoM: RT tem um funcionamento separado
    • Recompensas não são obtidas
    • Todas as bênçãos e raridades vêm desbloqueadas por padrão, inclusive itens indisponíveis nos servidores oficiais
    • o favor acumulado é infinito
    • no modo história, todas as missões vêm desbloqueadas por padrão
    • no modo desafio, as vidas são infinitas, há acesso a todas as lendas e o nível padrão é o máximo, 99
  • Os recursos não implementados são os seguintes
    • Matchmaking não foi implementado devido ao número limitado de usuários e ao caráter temporário do servidor, sendo recomendado usar os servidores oficiais
    • Conquistas devem ser processadas apenas pelos servidores oficiais, e atender às condições de conquista durante uma partida pode causar problemas
    • Os leaderboards aparecem vazios
    • Em clãs, todos os jogadores aparecem como fora de clãs, a busca de clãs aparece vazia e a criação sempre gera erro
    • Bloquear jogadores no lobby parece funcionar, mas na prática não funciona
    • Denunciar e bloquear jogadores parece funcionar, mas na prática não funciona
  • A maioria dos itens não implementados não se aplica a Age of Empires: Definitive Edition

Como funciona

  • O servidor é um servidor web simples que recebe requisições de API do jogo
  • Ele reimplementa apenas a superfície mínima de API necessária para que os recursos de lobby funcionem
  • Os dados não são armazenados nem enviados pela internet
  • O launcher facilita jogar no lobby, ao mesmo tempo em que permite continuar usando o launcher oficial para partidas online
  • Os recursos do launcher incluem o seguinte
    • iniciar e parar o servidor automaticamente ou conectar-se a um servidor existente
    • com exceção do AoE I, uso opcional de diretórios de metadados isolados para evitar possíveis problemas com o jogo oficial
    • modificar o arquivo hosts para redirecionar as requisições de API do jogo para o servidor LAN
    • fazer proxy de algumas requisições ao CDN para evitar a detecção do estado oficial do jogo
    • fazer proxy de requisições para chat e exibição de nomes de usuário
    • instalar certificado autoassinado para que o jogo possa se conectar ao servidor LAN
    • com exceção de AoE I e AoE IV, adicionar o certificado ao armazenamento do jogo
    • executar comandos personalizados para configuração e recuperação
    • no Windows, fazer rebroadcast do battle server por interfaces de rede diferentes da interface de maior prioridade
    • detectar e iniciar o jogo automaticamente
  • Depois, o launcher reverte essas mudanças para que o launcher oficial possa se conectar aos servidores oficiais

Requisitos de sistema e condições do cliente

  • Os ambientes com suporte estável para o servidor são os seguintes
    • Windows 7 ou equivalente, com recomendação de Windows 10 ou superior
    • Linux kernel 3.2
    • macOS Monterey v12
  • Dependendo do sistema operacional e da configuração, pode ser necessário privilégio de administrador ou permissão do firewall para escutar HTTPS na porta 443
  • Os ambientes com suporte experimental para o servidor são BSD, Solaris e AIX
  • O launcher e o Battle Server Manager são compatíveis com os seguintes ambientes
    • ambientes que não sejam Windows S edition/mode
    • Windows 7 x86-64, com recomendação de Windows 10 ou superior
    • Windows 11 ARM
    • Linux kernel 3.2 em x86-64 e ARM64
  • Se o launcher precisar lidar com o arquivo hosts, certificados locais ou launcher de jogo personalizado elevado, será necessário elevar privilégios de administrador
  • Os clientes usam a versão Steam ou Xbox de cada jogo
    • A versão Xbox se aplica apenas a versões compatíveis do Windows
    • AoM: RT exige a versão Steam
  • É fortemente recomendado usar a versão mais recente ou uma versão ligeiramente anterior; versões antigas têm problemas conhecidos

Binários e verificação

  • Binários do servidor e do launcher são fornecidos para alguns sistemas operacionais compatíveis na releases page
  • Os arquivos disponibilizados são divididos em full, launcher, Battle Server Manager e server
  • No Windows, o antivírus pode marcar um ou mais executáveis como vírus, o que é indicado como falso positivo
  • O procedimento de verificação consiste em confirmar se os arquivos baixados são idênticos aos enviados pelo mantenedor
    • verificar se a tag de release foi validada pela chave de assinatura do committer
    • baixar ..._checksums.txt e ..._checksums.txt.sig
    • importar a release public key para o keyring
    • verificar o arquivo de checksums com o arquivo de assinatura
    • validar os arquivos baixados com a lista SHA-256 contida no arquivo de checksums

Fluxo de uso mais simples

  • O launcher e o servidor funcionam sem instalação: basta baixar o arquivo compactado, extrair e executar
  • O procedimento básico de uso é o seguinte
    • baixar o arquivo full apropriado da release estável mais recente
    • extrair para o local desejado
    • no Windows, se necessário, adicionar os binários do launcher e do servidor à lista de exceções do antivírus
    • no Windows, se necessário, desbloquear os arquivos .exe
    • se não usar o launcher da Steam ou do Xbox, alterar Client.Executable e Client.Path em launcher/resources/config.<game_title>.toml para o caminho do launcher do jogo e o diretório do jogo
    • para jogo 100% offline, são necessários o launcher personalizado e os itens fornecidos no repositório companion separado
    • se usar AoE IV ou AoM e não tiver AoE II: DE instalado, definir o caminho de BattleServer.exe em battle-server-manager/resources/config.<game>.toml
    • executar o script launcher/start_<game_title> e aprovar a elevação de privilégios de administrador e a permissão do firewall, se necessário
    • repetir o mesmo processo em cada PC que jogará na LAN; o primeiro PC hospedará o servidor e os demais receberão instruções para descobrir e conectar automaticamente
    • na seção Multiplayer do jogo, hospedar um novo lobby, sendo recomendado configurá-lo como lobby público
    • em lobbies públicos, é possível entrar diretamente pelo navegador, buscar pelo nome ou enviar convite a amigos
    • se o jogo permitir, é possível compartilhar o link de entrada do lobby, mas o ingresso automático só funciona quando o jogo já está aberto

Condições de uso e isenção

  • O software é distribuído sob a AGPL
  • Condições adicionais de uso se aplicam apenas à relação contratual entre usuários e provedores que receberam o pacote de download por este canal
  • As condições adicionais não restringem os direitos garantidos pela AGPL de usar, estudar, modificar, redistribuir e acessar o código
  • As condições de uso do pacote de download incluem o seguinte
    • possuir licença válida e legal do jogo e dos DLCs necessários
    • cumprir os termos de serviço do jogo e as condições aplicáveis
    • finalidade estrita de uso pessoal
    • uso em ambiente LAN enquanto os servidores oficiais do jogo estiverem disponíveis e operando
    • em caso de manutenção, indisponibilidade temporária ou encerramento permanente dos servidores oficiais, a exigência de LAN deixa de valer
  • Este software não é afiliado nem endossado pela publicadora ou pela desenvolvedora do jogo

1 comentários

 
GN⁺ 2025-04-03
Opiniões no Hacker News
  • Se você tem o gosto do Hacker News por AoE clássico, provavelmente também vai gostar de 0 A.D.
    É gratuito e divertido, mas, se você se considera um mestre da estratégia, é um jogo que pode deixá-lo bem mais humilde
    https://play0ad.com/

    • Eu gosto muito de 0 A.D., mas, no momento em que há unidades suficientes no mapa para ficar divertido, o desempenho fica desastroso
    • É surpreendente que ainda esteja em desenvolvimento. Ainda me lembro da thread do fórum Heavengames em que esse projeto começou
    • Multiplayer com 8 jogadores fica praticamente injogável
  • É ótimo que não só AoE, mas jogos em geral, sejam preservados para continuar executáveis no futuro
    É uma pena quando recursos desaparecem só porque alguém desligou um servidor

    • Como alguém que passou incontáveis horas no multiplayer online de AOE 2, foi sempre gratificante ver o AOE2 DE crescer nos últimos anos
      Além de atualizações que aumentaram o número de civilizações para mais de 50, houve muitas melhorias visuais e melhorias gerais de jogabilidade e desempenho
      É especialmente incrível ver novos desenvolvimentos para um jogo tão antigo vindos da comunidade open source
    • Supreme Commander também passou por algo assim
      A empresa fechou e desligou os servidores, mas felizmente alguém criou uma implementação de servidor de matchmaking
      A comunidade continua viva e crescendo, e o desenvolvimento do jogo seguiu adiante, levando-o a um nível muito além do original
      Esse projeto é o Forged Alliance Forever
    • Acho que isso deveria ser exigido por lei
      Se você oferece um serviço essencial para usar um produto, ótimo; mas, se encerrar esse serviço torna o produto inutilizável ou apenas parcialmente utilizável, deveria ser obrigatório abrir a implementação e a documentação
  • AoE2 foi lançado em 1999 com base em um motor de jogo de 1997, e na primavera de 2025 está previsto um novo grande DLC para a Definitive Edition
    Sandy Petersen ficaria orgulhoso

  • Quando eu era criança, nos anos 2000, costumávamos jogar sessões de Aoe2 em LAN, e lembro que em cerca de uma a cada três partidas, depois de todos jogarem por 2 ou 3 horas, o jogo simplesmente caía
    De certa forma, era até melhor. Ninguém precisava perder, e todos podiam acreditar que estavam ganhando

    • Como todo mundo ficava segurando com tática tartaruga, as partidas quase nunca terminavam mesmo
  • Gosto do Steam pela conveniência e agradeço o esforço de desenvolvimento do SteamOS, mas me preocupa a dependência
    Projetos assim me devolvem mais posse sobre aquilo pelo qual paguei, e o luskaner é uma espécie de herói para mim

    • É importante destacar que o Steam não exige DRM nos jogos
      Nem mesmo o DRM do Steam é obrigatório; isso é inteiramente uma escolha do estúdio ou da distribuidora do jogo
      Já há muitos jogos sem DRM no Steam, então basta fazer backup dos arquivos para executá-los sem o Steam
  • Fico curioso para saber como é possível anexar termos de uso a uma licença AGPL
    Isso não seria uma “restrição adicional” que a licença diz que pode ser removida?

    • Parece mais um mecanismo de isenção de responsabilidade para evitar pedidos de remoção
  • Excelente
    Fico curioso se existe documentação pública da API do AoE3 usada para fazer isso, ou se tudo foi reengenheirado do zero
    Já vi pessoas procurando esse tipo de documentação, mas nunca vi os documentos em si

  • Imagino que a resposta esteja em algum lugar do repositório, mas é algo além da minha compreensão, então fiquei curioso. O multiplayer do aoe2 DE depende em grande parte de P2P?
    Presumo que os servidores regionais sejam usados apenas para matchmaking e que a lógica real do jogo rode nos clientes
    Acho isso por causa da possibilidade de map hack e porque, quando uma pessoa fica com lag, todos ficam lentos, mas nos fóruns de AoE há muitas afirmações diferentes sempre que esse assunto aparece

    • Há um bom artigo sobre o código de rede do original: https://zoo.cs.yale.edu/classes/cs538/readings/papers/terran...
      Não acho provável que a Definitive Edition tenha mudado o design a ponto de sair do P2P, mas não sei a informação real
    • Pelo que sei, o DE não é P2P, e sim baseado em servidor. Só que todos os clientes e o servidor simulam o mundo em lockstep e mantêm uma cópia do estado completo
      É por isso que map hacks são possíveis
      Não é preciso nada como Paxos aqui. Se uma máquina se desvia, o jogo perde a sincronização e para, mas normalmente dá para recuperar a partir de um ponto salvo
    • Em torneios profissionais, é escolhido um servidor localizado entre os dois jogadores
      Por exemplo, uma partida Brasil-China pode acontecer em um servidor da UE
      Isso sugere que o servidor é usado como uma fonte central da verdade entre os clientes, com todos os dados do jogo passando por ele, embora os cálculos ainda pareçam ser feitos do lado do cliente
    • Isso era na versão antiga; na versão DE, só o jogador com rede ruim fica com lag
      Porém, se os engasgos forem causados pelo desempenho da CPU de um jogador, isso afeta todos
  • Gostaria que AoE2 sobrevivesse tanto quanto o xadrez. É realmente um daqueles jogos “perfeitos”

    • No xadrez, você pode passar 2 anos sem jogar e voltar sem descobrir que todas as regras mudaram nesse intervalo
      Em Age of Empires 2, isso acontece hoje
    • É verdade, e ele continua melhorando
      A Definitive Edition parece receber mais investimento do que algumas das novas versões de AOE3 e 4
    • Recentemente pensei quase a mesma coisa. Gostaria que os melhores jogos pudessem continuar rodando para sempre
      Se um jogo é divertido, acho que problemas de balanceamento ou coisas que parecem bugs mas viraram recursos podem ser preservados
      Mas bugs de código de rede puramente nocivos são mais complicados
      Sou muito grato à Id por ter acabado liberando o código-fonte. Espero muito que um dia o AoE2 também faça isso
    • Sem dúvida é um jogo excelente
      A aleatoriedade, o fato de não ser por turnos e o multiplayer o tornam interessante até em comparação com o xadrez
      Mas o xadrez tem regras 1000 vezes mais simples e imutáveis, e não exige APM alto para ser jogado competitivamente
    • AoE2 sai para PS5 este ano
  • Fiquei um pouco confuso sobre o papel do servidor web neste projeto
    Ele é um componente de matchmaking ou de transmissão de partidas do multiplayer do AoE?

    • Também fiquei curioso e li o arquivo de rotas; foi interessante: https://github.com/luskaner/ageLANServer/blob/main/server/in...
    • O jogo em si roda sobre a LAN, mas, pelo que entendi, jogar em LAN ainda exige internet por dois motivos
      1. O jogo precisa se conectar ao serviço de multiplayer
      2. É necessário um servidor de coordenação para a própria configuração da LAN
        Este projeto parece lidar com o item 2. O item 1 infelizmente parece mais complexo e envolve fazer o jogo acreditar que o Steam está conectado