ageLANServer ghcr.io/indyone/agelanserver:latest https://ghcr.io host sh false https://github.com/indyone/unraid-templates/issues https://github.com/luskaner/ageLANServer https://github.com/indyone/unraid-templates/blob/main/ageLANServer/README.md LAN server emulator for Age of Empires: DE (AoE1), Age of Empires II: DE (AoE2) and Age of Empires III: DE (AoE3). Play multiplayer over your local network without an internet connection. Each container instance serves one game. To support multiple titles simultaneously, run one container per game — but switch from host networking to an ipvlan network so each container gets its own LAN IP and can independently bind port 443 and the UDP discovery port. When you create a lobby, choose Use Local Lan Server in the game's Server list. SSL certificates are generated automatically on the first start and reused on subsequent runs. For Age of Empires IV or Age of Mythology: Retold use the ageLANServer-BattleServer template. [b]ageLANServer[/b] is a LAN server emulator for the Age of Empires Definitive Edition titles, allowing you to play multiplayer over your local network without an internet connection or Xbox Live. [b]Supported games:[/b] [LIST] [*] Age of Empires: Definitive Edition (age1) [*] Age of Empires II: Definitive Edition (age2) [*] Age of Empires III: Definitive Edition (age3) [/LIST] This template has no BattleServer. For Age of Empires IV or Age of Mythology: Retold use the [b]ageLANServer-BattleServer[/b] template. [b]Hosting a game:[/b] when you create a lobby, choose [b]Use Local Lan Server[/b] in the game's Server list. [b]Each container runs one game.[/b] Name each container after its game, for example agelanserver-aoe2. To serve multiple titles at the same time, run one container per game. With host networking only one container can use port 443 — for multi-game setups create an [b]ipvlan L2[/b] custom network (Settings > Docker > Docker custom networks) and give each container its own LAN IP. [b]First-run setup:[/b] [LIST] [*] SSL certificates are generated automatically on the first start and reused on every restart. [*] A fully commented [b]config.toml.example[/b] is placed in the config folder on first run — rename it to [b]config.toml[/b] to activate custom settings. [/LIST] [b]Support:[/b] I support anything to do with the Unraid setup (this template, the Docker image, volumes and networking) — use the support link above. The server software itself is developed and supported by its original author: https://github.com/luskaner/ageLANServer/issues GameServers: https://raw.githubusercontent.com/indyone/unraid-templates/main/templates/ageLANServer.xml https://raw.githubusercontent.com/indyone/unraid-templates/main/ageLANServer/icon.png --restart=unless-stopped Port 443 must be free on the host IP used by this container. For a single game: host networking is the simplest option (port 443 must be free on the host). For multiple games: create an ipvlan L2 custom network (Settings > Docker > Docker custom networks) and assign each container a unique LAN IP — this avoids the port 443 and UDP 31978 conflicts that occur when multiple containers share the same host network stack. ipvlan is preferred over macvlan as it does not require promiscuous mode on the host NIC. /mnt/user/appdata/agelanserver/certificates /mnt/user/appdata/agelanserver/config /mnt/user/appdata/agelanserver/logs age2