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 are eventually shutdown.
Currently supported games:
- Age of Empires II: Definitive Edition.
- Age of Empires III: Definitive Edition.
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.
See more details in Questions and Answers (QA).
- Co-Op Campaigns.
- Scenarios.
- Map transferring in-lobby.
- Rematch.
- Restore game.
- Data mods.
- Invite player to lobby.
- Share lobby link.
- Player Search.
- Lobby chatting.
- Crossplay Steam & Xbox.
List of features
- Channels.
- Whispering.
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:
- No Ranked.
- No Spectate.
- Xbox and Steam friend integration.
List of limitations
- No Quick play.
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.
- Windows 10 (no S edition/mode).
- Windows Server 2016.
- Windows IoT.
- Linux: kernel 2.6.32 (see here for more details).
- macOS: Catalina (v10.15).
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.22.
- Windows (no S edition/mode):
- 10 on x86-64 (recommended).
- 11 on ARM.
- Linux: recent distribution with Steam on x86-64 using Steam Play (plus Proton Experimental).
Note: If you allow it to handle the hosts file, local certificate, or an elevated custom game launcher, it will require admin rights elevation.
- Game:
- Up-to-date (or at least from ~late 2023) version of the game.
See the releases page for server and launcher binaries for a subset of supported operating systems.
Provided archives
- Full:
- Windows:
- 10 on x86-64: ...fullA.B.C_win_x86-64.zip
- 11 on ARM: ...fullA.B.C_win_arm64.tar.xz
- Linux:
- x86-64: ...fullA.B.C_linux_x86-64.tar.xz
- ARM64: ...fullA.B.C_linux_arm64.tar.xz
- Windows:
- Launcher:
- Windows:
- 10 on x86-64: ...launcherA.B.C_win_x86-64.zip
- 11 on ARM: ...launcherA.B.C_win_arm64.tar.xz
- Linux:
- x86-64: ...launcherA.B.C_linux_x86-64.tar.xz
- ARM64: ...launcherA.B.C_linux_arm64.tar.xz
- Windows:
- Server:
- Windows:
- 10, Server 2025 or IoT on ARM64: ...serverA.B.C_win_arm64.zip
- 10 IoT on ARM32: ...serverA.B.C_win_arm32.zip
- 10, Server 2016 or IoT on x86-64: ...serverA.B.C_win_x86-64.zip
- 10 or 10 IoT on x86-32: ...serverA.B.C_win_x86-32.zip
- Linux:
- Kernel 3.1 on ARM64: ...serverA.B.C_linux_arm64.tar.xz
- Kernel 2.6.23 on ARM32:
- ARMv5 (armel): ...serverA.B.C_linux_arm-5.tar.gz
- ARMv6 (sometimes called armhf): ...serverA.B.C_linux_arm-6.tar.gz
- Kernel 2.6.23 on x86-64: ...serverA.B.C_linux_x86-64.tar.gz
- Kernel 2.6.23 on x86-32: ...serverA.B.C_linux_x86-32.tar.gz
- macOS - Catalina (v10.15): ...serverA.B.C_mac.tar.gz
- Windows:
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
- Check the release tag is verified with the committer's signature key (as all commits must be).
- Download the
..._checksums.txt
and..._checksums.txt.sig
files. - Import the release public key and import it to your keyring if you haven't already.
- Verify the
..._checksums.txt
file with the..._checksums.txt.sig
file. - 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.
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 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.
- Download the proper full asset from the latest stable release from https://github.com/luskaner/ageLANServer/releases.
- Uncompress it somewhere.
- If not using the Steam or Xbox launcher, edit the
launcher/resources/config.aoe2.toml
orlauncher/resources/config.aoe3.toml
file with a text editor (like Notepad) and modify theClient.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. - Execute
launcher/launcher-aoe2
orlauncher/launcher-aoe3
: 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. - 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.
- In the game, when hosting a new lobby, just make sure to set the server to Use Local Lan Server (AoE II) or select LAN before creating the Lobby (AoE III). In AoE II, setting it to public visibility is recommended.
- 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).
Server instructions
- Download the proper server asset from latest stable release from https://github.com/luskaner/ageLANServer/releases.
- Generate the certificate by simply executing
bin/genCert
. - If needed edit the config file.
- Run the
server
binary for all games or theserver-
game-specific script.
Launcher instructions
- Download the proper launcher asset from latest stable release from https://github.com/luskaner/ageLANServer/releases.
- If needed edit the
launcher/resources/config.aoe2.toml
orlauncher/resources/config.aoe3.toml
file. You will need to edit theClient.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. - Run the
launcher-aoe2
orlauncher-aoe3
Shell script.
Note: If you have any issues run the cleanup-aoe2
or cleanup-aoe3
Shell script.
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 Age of Empires II: Definitive Edition or Age of Empires III: Definitive Edition (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 with Xbox Game Studios, Microsoft Corporation, Forgotten Empires, World's Edge, Tantalus Media, Wicked Witch, CaptureAge or any other entity that is involved in the development of Age of Empires II Definitive Edition or Age of Empires III Definitive Edition.