3P by GN⁺ | ★ favorite | 댓글 1개
  • Age LAN Server는 공식 게임 서버에 인터넷 연결이 없어도 Age of Empires 계열 게임의 멀티플레이어 로비를 사용할 수 있게 하는 웹 서버와 런처로, 공식 서버 점검이나 종료 상황에서도 로비 기능을 유지하는 것이 목적임
  • 지원 게임은 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이며, AoM: RT는 현재 Steam 버전만 지원함
  • 공통 기능은 시나리오, 로비 내 맵 전송, 게임 복원, 데이터 모드, 로비 채팅, Steam·Xbox 크로스플레이이며, 게임별로 관전, 로비 초대, 링크 공유, 플레이어 검색, 협동 캠페인, 리매치, 채널, 귓속말, 그룹 등이 추가됨
  • 서버는 게임의 API 요청을 받아 로비 동작에 필요한 최소 API 표면을 재구현하며, 데이터는 저장되거나 인터넷으로 전송되지 않음
  • 100% 오프라인 플레이에는 게임이 요구하는 인터넷 및 Steam 또는 Xbox Live 연결 제한을 우회할 커스텀 런처가 필요하며, 매치메이킹·업적·리더보드·클랜·친구 통합 등은 구현되지 않았거나 제한됨

Age LAN Server의 목적과 지원 범위

  • Age LAN Server는 이전 이름이 AoE 2 DE LAN Server였으며, 게임 서버에 대한 인터넷 연결 없이 멀티플레이어 로비를 플레이할 수 있게 하는 웹 서버와 런처임
  • LAN 전용으로 엄격히 제한되지는 않음
  • 공식 서버가 점검 중이거나 최종적으로 종료된 경우에도 게임 멀티플레이어 기능을 사용할 수 있도록 하는 것이 목적임
  • 완전한 오프라인 플레이에는 게임이 강제하는 온라인 전용 제한을 우회할 커스텀 런처가 필요함
    • 플랫폼과 버전에 따라 인터넷 및 Steam 또는 Xbox Live 연결 제한이 적용됨
    • 별도 프로젝트인 ageLANServerLauncherCompanion이 Steam Emulator 다운로드와 100% 오프라인 플레이를 위한 파일과 정보를 제공함

지원 게임

  • 지원 대상 게임은 다음과 같음
    • 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는 현재 Steam 버전만 지원함

제공 기능과 게임별 차이

  • 공통 기능은 다음을 포함함
    • 시나리오

      • 로비 내 맵 전송
      • 게임 복원
      • 데이터 모드
      • 로비 채팅
      • Steam 및 Xbox 크로스플레이
      • AoE II: DE, AoE III: DE, AoE IV: AE, AoM: RT는 추가 기능을 지원함
      • 관전 기능, AoE II: DE의 CapturAge 포함
      • 로비 초대
      • 로비 링크 공유
      • 플레이어 검색
      • AoE II: DE와 AoE III: DE는 협동 캠페인과 리매치를 지원함
      • AoE II: DE는 채널과 귓속말을 지원함
      • AoE III: DE와 AoE IV: AE는 그룹을 지원함
      • AoM: RT는 귓속말과 Arena of the Gods를 지원함

제한과 미구현 기능

  • 일반 제한은 다음과 같음
    • 링크로 게임 로비에 참가하는 기능은 게임이 이미 실행 중일 때만 동작함
    • 온라인 모드 구독은 공식 런처를 사용할 때만 동작함
    • Xbox와 Steam 친구 통합은 없음
  • AoE III: DE와 AoE IV: AE에서는 친구 목록이 모든 온라인 사용자를 친구처럼 표시함
  • AoM: RT에서도 친구 목록이 모든 온라인 사용자를 친구처럼 표시함
  • AoM: RT의 Arena of Gods에는 별도 동작 방식이 있음
    • 보상은 획득되지 않음
    • 모든 축복과 희귀도가 기본으로 해제되며, 공식 서버에서 사용할 수 없는 항목도 포함됨
    • favor stash는 무한임
    • 스토리 모드는 모든 미션이 기본으로 해제됨
    • 챌린지 모드는 생명이 무한이고, 모든 전설에 접근 가능하며, 기본 레벨은 최대치인 99임
  • 미구현 기능은 다음과 같음
    • 매치메이킹은 제한된 사용자와 일시적 서버 성격 때문에 구현되지 않았고, 공식 서버 사용이 권장됨
    • 업적은 공식 서버만 처리해야 하며, 경기 중 업적 조건을 만족하면 문제가 생길 수 있음
    • 리더보드는 비어 있게 표시됨
    • 클랜은 모든 플레이어가 클랜 외부로 처리되고, 클랜 탐색은 비어 보이며, 생성은 항상 오류가 남
    • 로비에서 플레이어 차단은 동작하는 것처럼 보이지만 실제로 동작하지 않음
    • 플레이어 신고와 차단은 동작하는 것처럼 보이지만 실제로 동작하지 않음
  • 대부분의 미구현 항목은 Age of Empires: Definitive Edition에는 적용되지 않음

동작 방식

  • 서버는 게임의 API 요청을 수신하는 단순 웹 서버임
  • 로비 기능이 동작하는 데 필요한 최소 API 표면만 재구현함
  • 데이터는 저장되지 않고 인터넷으로 전송되지 않음
  • 런처는 로비 플레이를 쉽게 하면서도 온라인 플레이에는 공식 런처를 계속 사용할 수 있게 함
  • 런처 기능은 다음을 포함함
    • 서버 자동 시작·중지 또는 기존 서버 연결
    • AoE I을 제외하고 공식 게임과의 잠재적 문제를 피하기 위한 격리된 메타데이터 디렉터리 선택 사용
    • hosts 파일을 수정해 게임 API 요청을 LAN 서버로 리다이렉트
    • CDN 요청 일부를 프록시해 공식 게임 상태 감지를 피함
    • 채팅과 사용자 이름 표시를 위한 요청 프록시
    • 게임이 LAN 서버에 연결할 수 있도록 자체 서명 인증서 설치
    • AoE I과 AoE IV를 제외하고 게임 저장소에 인증서 추가
    • 설정·복구용 커스텀 명령 실행
    • Windows에서 우선순위가 가장 높은 네트워크 인터페이스 외 다른 인터페이스로 battle server 재브로드캐스트
    • 게임 자동 탐색과 실행
  • 런처는 이후 변경 사항을 되돌려 공식 런처가 공식 서버에 연결할 수 있게 함

시스템 요구사항과 클라이언트 조건

  • 서버 안정 지원 환경은 다음과 같음
    • Windows 7 또는 동등 환경, Windows 10 이상 권장
    • Linux kernel 3.2
    • macOS Monterey v12
  • 운영체제와 설정에 따라 443 포트 HTTPS 리스닝을 위해 관리자 권한 또는 방화벽 허가가 필요할 수 있음
  • 서버 실험 지원 환경은 BSD 계열, Solaris 계열, AIX임
  • 런처와 Battle Server Manager는 다음 환경을 지원함
    • Windows S edition/mode가 아닌 환경
    • Windows 7 x86-64, Windows 10 이상 권장
    • Windows 11 ARM
    • Linux kernel 3.2의 x86-64 및 ARM64
  • 런처가 hosts 파일, 로컬 인증서, 승격된 커스텀 게임 런처를 처리해야 하면 관리자 권한 상승이 필요함
  • 클라이언트는 각 게임의 Steam 또는 Xbox 버전을 사용함
    • Xbox 버전은 호환되는 Windows 버전에서만 해당됨
    • AoM: RT는 Steam 버전이 필요함
  • 최신 또는 약간 이전 버전 사용이 강하게 권장되며, 오래된 버전에는 알려진 문제가 있음

바이너리와 검증

  • 서버와 런처 바이너리는 지원 운영체제 일부에 대해 releases page에서 제공됨
  • 제공 아카이브는 full, launcher, Battle Server Manager, server 형태로 나뉨
  • Windows에서 백신이 하나 이상의 실행 파일을 바이러스로 표시할 수 있으며, 이는 오탐으로 안내됨
  • 검증 절차는 다운로드한 파일이 유지관리자가 업로드한 파일과 동일한지 확인하는 방식임
    • 릴리스 태그가 커미터 서명 키로 검증됐는지 확인
    • ..._checksums.txt..._checksums.txt.sig 다운로드
    • release public key를 키링에 가져오기
    • 서명 파일로 체크섬 파일 검증
    • 체크섬 파일 안의 SHA-256 목록으로 다운로드한 아카이브 검증

가장 간단한 사용 흐름

  • 런처와 서버는 설치 없이 아카이브를 내려받아 압축을 풀고 실행하면 동작함
  • 기본 사용 절차는 다음과 같음
    • 최신 안정 릴리스에서 적절한 full 아카이브를 다운로드
    • 원하는 위치에 압축 해제
    • Windows에서는 필요 시 런처·서버 바이너리를 백신 예외 목록에 추가
    • Windows에서는 필요 시 .exe 파일 차단 해제
    • Steam 또는 Xbox 런처를 쓰지 않으면 launcher/resources/config.<game_title>.tomlClient.ExecutableClient.Path를 게임 런처 경로와 게임 디렉터리로 수정
    • 100% 오프라인 플레이에는 커스텀 런처와 별도 companion repo의 제공물이 필요함
    • AoE IV 또는 AoM을 사용하고 AoE II: DE가 설치되어 있지 않으면 BattleServer.exe 경로를 battle-server-manager/resources/config.<game>.toml에 지정
    • launcher/start_<game_title> 스크립트를 실행하고, 필요한 관리자 권한 상승과 방화벽 허가를 승인
    • LAN에서 함께 플레이할 각 PC에서 같은 과정을 반복하되, 첫 PC가 서버를 호스트하고 나머지는 자동 탐색 후 연결 안내를 받음
    • 게임의 Multiplayer 섹션에서 새 로비를 호스트하고, 공개 로비 설정이 권장됨
    • 공개 로비는 브라우저에서 직접 참가하거나 이름 검색 후 친구 초대를 보낼 수 있음
    • 게임이 허용하면 로비 참가 링크를 공유할 수 있지만, 자동 참가는 이미 게임 안에 있을 때만 동작함

이용 조건과 면책

  • 소프트웨어는 AGPL에 따라 배포됨
  • 추가 이용 조건은 다운로드 패키지를 이 채널로 받은 사용자와 제공자 사이의 계약 관계에만 적용됨
  • 추가 조건은 AGPL이 보장하는 사용, 연구, 수정, 재배포, 코드 접근 권리를 제한하지 않음
  • 다운로드 패키지 사용 조건은 다음을 포함함
    • 해당 게임과 필요한 DLC에 대한 유효하고 합법적인 라이선스 보유
    • 게임 서비스 약관과 적용 조건 준수
    • 엄격한 개인 사용 목적
    • 공식 게임 서버가 사용 가능하고 운영 중인 동안 LAN 환경에서 사용
    • 공식 서버 점검, 일시적 불가, 영구 중단 시 LAN 요구사항은 무효
  • 이 소프트웨어는 게임 퍼블리셔 또는 개발자와 제휴하거나 보증받은 것이 아님

댓글과 토론

Hacker News 의견들
  • 고전적인 AoE를 즐기는 Hacker News 취향이라면 0 A.D. 도 좋아할 만함
    무료이고 재미있지만, 스스로 전략의 달인이라고 생각한다면 꽤 겸손해지게 만드는 게임
    https://play0ad.com/

    • 0 A.D.를 정말 좋아하지만, 지도에 유닛이 재미있을 만큼 많아지는 순간 성능이 처참해짐
    • 아직도 개발 중이라니 놀라움. 이 프로젝트가 시작된 Heavengames 포럼 스레드가 아직도 기억남
    • 8인 멀티플레이는 플레이 불가능한 수준임
  • AoE뿐 아니라 게임 전반이 미래에도 실행 가능하게 보존되는 건 멋진 일임
    누군가 서버를 꺼버렸다는 이유로 기능이 사라지는 건 안타까움

    • AOE 2 온라인 멀티플레이에 헤아릴 수 없이 많은 시간을 쓴 입장에서, 최근 몇 년간 AOE2 DE가 성장하는 흐름은 꾸준히 반가웠음
      문명 수가 50개 이상으로 늘어나는 업데이트뿐 아니라, 시각적 개선과 전반적인 게임플레이·성능 개선도 많이 들어갔음
      특히 오픈소스 커뮤니티에서 이런 오래된 게임에 새 개발이 이어지는 건 정말 놀랍다
    • Supreme Commander도 이런 일이 있었음
      회사가 문을 닫고 서버를 껐지만, 다행히 누군가 매치메이킹 서버 구현체를 만들었음
      지금도 커뮤니티는 살아 있고 성장 중이며, 게임 개발도 계속해서 원작을 훨씬 넘어서는 수준까지 끌어올림
      그 프로젝트가 Forged Alliance Forever
    • 이런 건 법으로 의무화해야 한다고 봄
      제품 사용에 꼭 필요한 서비스를 제공한다면 좋지만, 그 서비스를 폐기해서 제품을 못 쓰게 하거나 일부만 쓰게 만든다면 구현체와 문서 공개를 의무로 해야 함
  • AoE2는 1997년 게임 엔진을 기반으로 1999년에 출시됐는데, 2025년 봄에는 Definitive Edition용 새 대형 DLC가 나올 예정임
    Sandy Petersen이 자랑스러워할 만함

  • 2000년대에 어릴 때 LAN에서 Aoe2 세션을 하곤 했는데, 세 판 중 한 판쯤은 모두가 2~3시간 플레이한 뒤 그냥 튕겼던 기억이 남
    어떤 면에서는 더 좋기도 했음. 아무도 지지 않아도 됐고, 모두가 자기가 이기고 있다고 믿었으니까

    • 모두가 거북이 전술로 버티다 보니 어차피 게임이 거의 끝나지 않았음
  • Steam은 편의성 때문에 좋아하고 SteamOS 개발 노력도 고맙지만, 종속이 걱정됨
    이런 프로젝트는 다시 내가 돈 주고 산 것을 더 많이 소유하게 해주고, luskaner는 나에게 영웅 같은 사람임

    • Steam은 게임에 DRM을 요구하지 않는다는 점을 짚는 게 중요함
      Steam의 DRM조차 필수가 아니고, 전적으로 게임 개발사나 배급사 선택임
      Steam에는 이미 DRM 없는 게임도 많아서 파일만 백업해두면 Steam 없이도 실행 가능함
  • AGPL 라이선스에 이용약관을 어떻게 붙일 수 있는지 궁금함
    라이선스에서 제거할 수 있다고 하는 “추가 제한”에 해당하지 않나?

    • 게시 중단을 막기 위한 책임 회피용 장치에 더 가까워 보임
  • 훌륭함
    이걸 만드는 데 쓰인 AoE3 API 공개 문서가 있는지, 아니면 전부 새로 역공학한 건지 궁금함
    이런 문서를 찾는 사람들은 본 적이 있지만, 실제 문서는 본 적이 없음

  • 저장소 어딘가를 보면 답이 있겠지만 내 이해를 넘어서는 부분이라 궁금함. aoe2 DE 멀티플레이는 대부분 P2P에 의존하나?
    지역 서버는 매치메이킹에만 쓰이고 실제 게임 로직은 클라이언트에서 돈다고 추정함
    맵핵이 가능하고 한 명이 렉 걸리면 모두가 느려진다는 점 때문에 그렇게 보지만, AoE 포럼에서는 이 주제가 나올 때마다 서로 다른 주장이 많음

    • 원작의 네트워크 코드를 다룬 좋은 논문이 있음: https://zoo.cs.yale.edu/classes/cs538/readings/papers/terran...
      Definitive Edition이 설계를 P2P에서 벗어날 만큼 크게 바꿨을 것 같지는 않지만, 실제 정보는 알지 못함
    • 내가 알기로 DE는 P2P가 아니라 서버 기반임. 다만 모든 클라이언트와 서버가 세계를 잠금단계(lockstep)로 시뮬레이션하고 전체 상태 사본을 들고 있는 방식임
      그래서 맵핵이 가능해짐
      여기에 Paxos 같은 건 필요 없음. 어느 한 기계가 엇나가면 게임이 동기화 해제되고 멈추지만, 보통은 저장 지점에서 복구할 수 있음
    • 프로 대회에서는 두 플레이어 사이에 위치한 서버가 선택됨
      예를 들어 브라질-중국 경기는 EU 서버에서 진행될 수 있음
      이걸 보면 서버가 클라이언트들 사이의 중앙 진실 원천처럼 쓰이고, 모든 게임 데이터가 서버를 거치되 계산은 여전히 클라이언트 쪽에서 이뤄지는 것 같음
    • 그건 예전 버전이고, DE 버전은 네트워크가 나쁜 플레이어만 렉이 걸림
      다만 한 플레이어의 CPU 성능 때문에 끊기면 모두에게 영향이 감
  • AoE2가 체스만큼 오래 살아남았으면 좋겠음. 정말 “완벽한” 게임 중 하나임

    • 체스는 2년 동안 안 하다가 돌아와도 그 사이 모든 규칙이 바뀌어 있지는 않음
      지금 Age of Empires 2에서는 그런 일이 벌어짐
    • 정말 그렇고, 계속 개선되고 있음
      Definitive Edition은 새 AOE3와 4 버전 일부보다 더 많은 투자를 받는 느낌임
    • 최근에 거의 같은 생각을 했음. 최고의 게임들을 영원히 계속 실행할 수 있으면 좋겠음
      재미있는 게임이라면 밸런스 문제나 버그처럼 보이지만 기능이 된 요소도 남겨둘 수 있다고 봄
      다만 순전히 해로운 네트워크 코드 버그 같은 건 더 까다로움
      Id가 결국 소스 코드를 공개해줘서 정말 고마움. 언젠가 AoE2도 그렇게 되길 간절히 바람
    • 확실히 훌륭한 게임
      무작위성, 턴제가 아니라는 점, 멀티플레이 덕분에 체스와 비교해도 흥미로움
      하지만 체스는 규칙이 1000배 단순하고 바뀌지 않으며, 경쟁적으로 플레이하는 데 높은 APM도 필요 없음
    • AoE2가 올해 PS5로 나옴
  • 이 프로젝트의 웹서버 역할이 조금 헷갈림
    AoE 멀티플레이의 매치메이킹이나 게임 방송 구성요소인 건가?

    • 나도 궁금해서 routes 파일을 읽어봤는데 재미있었음: https://github.com/luskaner/ageLANServer/blob/main/server/in...
    • 게임 자체는 LAN 위에서 돌아가지만, 내가 이해하기로 LAN 플레이에도 두 가지 이유로 인터넷이 필요함
      1. 게임이 멀티플레이 서비스에 연결해야 함
      2. LAN 설정 자체를 위한 조정 서버가 필요함
        이 프로젝트는 2번을 다루는 것 같음. 1번은 아쉽게도 더 복잡해 보이고, Steam이 연결되어 있다고 믿게 속이는 과정이 들어감