GitHub – luskaner/ageLANServer: Web Server for AoE 1, 2 and 3 DE supporting LAN multiplayer 100% offline

GitHub – luskaner/ageLANServer: Web Server for AoE 1, 2 and 3 DE supporting LAN multiplayer 100% offline


Age LAN Server is a web server that allows you to play multiplayer LAN game modes without having an internet
connection to the game server ensuring the game LAN functionality is still available even if the official
server
is in maintenance or is eventually shutdown.

🎮 Supported games:

  • Age of Empires: Definitive Edition.
  • Age of Empires II: Definitive Edition.
  • Age of Empires III: Definitive Edition.

Note

Repository is now on maintenance only due to lack of contributions/funding and having completed the main goals.
Expect only updates to fix bugs and for dependencies/compiler.

Important

You will still need a custom launcher to bypass the online-only restriction that is imposed by the game to being connected to the internet and Steam or Xbox Live, depending on the platform and version, to fully play offline. My other project provides the files and information to download a Steam Emulator and play 100% offline.

  • 🌐 Scenarios.
  • 🗺️ Map transferring in-lobby.
  • ↕️ Restore game.
  • 📦 Data mods.
  • 🗣️ Lobby chatting.
  • 🎮 Crossplay Steam & Xbox.

Age of Empires II: Definitive Edition and Age of Empires III: Definitive Edition

List of features
  • Co-Op Campaigns.
  • Rematch.
  • Invite player to lobby.
  • Share lobby link.
  • Player Search.

Age of Empires III: Definitive Edition

List of features
List of limitations
  • Joining a game lobby from a link only works if the game is already running.
  • Steam Workshop integration only works if using the official launcher.
  • Lobbies can only be created in LAN mode which has its own limitations:
  • Xbox and Steam friend integration.

Age of Empires II: Definitive Edition

List of limitations

Age of Empires III: Definitive Edition

List of limitations
  • Friend list will instead show all online users as if they were friends.
List of unimplemented features
  • Achievements: only the official server should be able to. Meeting the requirements of an achievement during a
    match might cause issues (see Troubleshooting
    for more details).
  • Changing player profile icon: the default will always be used.
  • Leaderboards: will appear empty.
  • Player stats: will appear empty.
  • Clans: all players are without clans. Browsing clan will appear empty and creating one will always result in
    error.
  • Lobby ban player: will appear like it works but doesn’t.
  • Report/Block player: will appear like it works but doesn’t.

Note: Most of these do not apply to Age of Empires: Definitive Edition.

Minimum system requirements

  • Windows:
    • 10 (no S edition/mode).
    • (Storage) Server 2016.
    • 10 IoT (no Arm32).
    • Server IoT 2019.
  • Linux: kernel 2.6.32 (see here for more details).
  • macOS: Big Sur (v11).

Admin rights or firewall permission to listen on port 443 (https) will likely be required depending on the operating
system.

Experimental
  • BSD-based (OpenBSD, DragonFly BSD, FreeBSD and NetBSD).
  • Solaris-based (Solaris and Illumos).
  • AIX.

Note: For the full list see minimum requirements for Go 1.23.

  • Windows (no S edition/mode):
    • 10 on x86-64 (recommended).
    • 11 on ARM.
  • Linux: recent distribution with Steam on x86-64 using Steam Play.

Note: If you allow it to handle the hosts file, local certificate, or an elevated custom game launcher, it will
require admin rights elevation.

  • Age of Empires: Definitive Edition
    on Steam
    or Xbox (only on
    Windows
    ). Requires version 100.2.31845.0 or later.
  • Age of Empires II: Definitive Edition
    on Steam
    or Xbox (only on
    Windows
    ). Requires a late 2023 version of the game.
  • Age of Empires III: Definitive Edition
    on Steam
    or Xbox (only on
    Windows
    ). Requires a late 2023 version of the game.

Note: An up-to-date version is highly recommended as there are known issues with older versions.

See the releases page for server and launcher binaries for a
subset of
supported operating systems.

Provided archives
  • Full:
    • Windows:
      • 10 on x86-64: …_full_A.B.C_win_x86-64.zip
      • 11 on ARM: …_full_A.B.C_win_arm64.tar.xz
    • Linux:
      • x86-64: …_full_A.B.C_linux_x86-64.tar.xz
      • ARM64: …_full_A.B.C_linux_arm64.tar.xz
  • Launcher:
    • Windows:
      • 10 on x86-64: …_launcher_A.B.C_win_x86-64.zip
      • 11 on ARM: …_launcher_A.B.C_win_arm64.tar.xz
    • Linux:
      • x86-64: …_launcher_A.B.C_linux_x86-64.tar.xz
      • ARM64: …_launcher_A.B.C_linux_arm64.tar.xz
  • Server:
    • Windows:
      • 10 (IoT), Server (IoT) 2025 on ARM64: …_server_A.B.C_win_arm64.zip
      • 10 (IoT), (Storage) Server 2016, Server IoT 2019 on x86-64: …_server_A.B.C_win_x86-64.zip
      • 10 (IoT) on x86-32: …_server_A.B.C_win_x86-32.zip
    • Linux:
      • Kernel 3.1 on ARM64: …_server_A.B.C_linux_arm64.tar.xz
      • Kernel 2.6.23 on ARM32:
        • ARMv5 (armel): …_server_A.B.C_linux_arm-5.tar.gz
        • ARMv6 (sometimes called armhf): …_server_A.B.C_linux_arm-6.tar.gz
      • Kernel 2.6.23 on x86-64: …_server_A.B.C_linux_x86-64.tar.gz
      • Kernel 2.6.23 on x86-32: …_server_A.B.C_linux_x86-32.tar.gz
    • macOS – Big Sur (v11): …_server_A.B.C_mac.tar.gz

Note: If you are using Antivirus it may flag one or more executables as virus, this is a false positive.

The verification process ensures that the files you download are the same as the ones that were uploaded by the
maintainer.

Verification steps
  1. Check the release tag is verified with the committer’s signature key (as all commits must be).
  2. Download the ..._checksums.txt and ..._checksums.txt.sig files.
  3. Import the release public key and import it to your keyring if you haven’t already.
  4. Verify the ..._checksums.txt file with the ..._checksums.txt.sig file.
  5. Verify the SHA-256 checksum list inside ..._checksums.txt with the downloaded archives.

Exceptions on tag/commit signature:

  • Tags:
    • v1.2.0-rc.5: mantainer error.
  • Commits:
    • 631cfa1 through 9eb66cf (both included): rebase and merge PR issue.
    • 55697d4: rebase of dependabot.
    • feb28de: partially verified due to dependabot.
    • d2b1749, 82ca9f1 and baa75ce: merge mistake.

Both the launcher and server work out of the box without any installation. Just download the archives,
decompress and run them.

The server is simple web server that listens to the game’s API requests. The server reimplements
the minimum required API surface to allow the game to work in LAN mode. NO data is stored or sent via the internet.

Note: See the server README for more details.

The launcher allows to easily play the game in LAN mode while still allowing the official launcher to be used for online
play.

Features
  • Automatically start/stop the server or connect to an existing one automatically.
  • (Optional) Use an isolated metadata (except AoE I) and profile directories to avoid potential issues with the official
    game.
  • (Optional) Modify the hosts file to:
    • Redirect the game’s API requests to the LAN server.
    • Redirect the game CDN so it does not detect the official game status.
  • (Optional) Install a self-signed certificate to allow the game to connect to the LAN server.
  • Automatically find and start the game.

Afterwards, it reverses any changes to allow the official launcher to connect to the official servers.

Note: See the launcher README for more details.

  1. Download the proper full asset from the latest
    stable release from
  2. Uncompress it somewhere.
  3. Windows Optional: Unblock the .exe files as explained here
  4. If not using the Steam or Xbox launcher, edit the launcher/resources/config..toml file with a text editor (like Notepad)
    and modify
    the Client.Executable section to point to the game launcher path.
    You will need to use a custom launcher (plus what my
    other repo provides) for 100% offline play
    .
  5. Execute launcher/launcher-: you will be asked for
    admin elevation and
    confirmation of other dialogs as
    needed, you
    will also need to allow the connections via the Microsoft Defender Firewall or any other.
  6. Repeat the above steps for every PC you want to play in LAN with by running the launcher, the first PC to
    launch
    it will host the “server” and the rest will auto-discover and connect to it.
  7. In the game, when hosting a new lobby, just make sure to set the server to Use Local Lan Server (AoE II),
    select LAN before creating the Lobby (AoE III) or select the “LAN” menu option (AoE I). In AoE I/II, setting it
    to
    public
    visibility is recommended.
  8. If the lobby is Public, they can join directly in the browser or you can Invite friends by searching them by name
    and sending an invite as needed. You can share the link to join the lobby automatically (only works if already
    in-game).

Separate server and launcher execution

Server instructions
  1. Download the proper server asset from latest stable release
    from
  2. Generate the certificate by simply executing bin/genCert.
  3. If needed edit the config file.
  4. Run the server binary for all games or the server- game-specific script.
Launcher instructions
  1. Download the proper launcher asset from latest stable release
    from
  2. If needed edit the launcher/resources/config..toml file. You will
    need to edit the
    Client.Executable section to point to the game launcher path if using a custom launcher which you will need to use
    a custom launcher for 100% offline play.
  3. Run the launcher-..., Shell script.

Note: If you have any issues run the bin/config revert -a.

See DEVELOPMENT.md to see how to develop and release builds.

You and all the clients connecting to your server are only authorized to use this software if:

  • Owning a legal license of corresponding game (and all relevant DLC’s).
  • Comply with all the game terms of service.
  • Use this software for personal use.
  • Use this software in a LAN environment.

Disclaimer: This software is not affiliated or endorsed by any publisher or developer of the games.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *