Repository navigation
Releases: luskaner/ageServer
Release list
v2.0.0-beta.2
What's Changed
Note: Beta 1 release was removed due to serious bugs.
Since last stable version
🎮 General
- 🚧 Update: Renamed project to Age Server. This change was made in order to clarify the server works outside LAN too.
- 🚧 Update: Lifted TOS restriction to use the game only in a LAN environment.
- 🚧 Update: Removed unimplemented features section in main README.md as now everything in the API is in scope.
- 🐛 Fix: Properly handle environment variable keys with mixed case (e.g.
Ports.Bsis preserved instead of lowercased). - 🐛 Fix: Handle unhandled errors and resource leaks across cmdlog, config service, announce and match content download.
🖥️ Server
Warning
Don't port over the user data, let the server create it from scratch.
- [EXPERIMENTAL]🔝 Enhancement: Embedded Battle Server reimplementation with auto-start. Have a look at the project in here. Configurable via the config in
[Games.<game>.EmbeddedBattleServer]. The server can now start a Battle Server inside its own process when no external one is configured or discovered. This means for the 'Online-like' variant:- Simplicity: Battle Server Manager or manually running Battle Server is no longer needed.
- Native (More compatibility and performance):
- Non-Windows OSes no longer need a Windows compatibility layer (like Wine) to run a Battle Server.
- Non-x86_64 CPU archs no longer need to emulate the CPU instructions (for example, using Prism on Windows, FEX on Linux or Rosetta 2 on Mac) of x86_64.
- Up-to-date: not relying on game-provided battle servers that are outdated with missing features.
- Open-source: can improve our battle server reimplementation as needed.
- Reliability: not relying on game-provided battle servers that are, sometimes, buggy.
- [EXPERIMENTAL]🔝 Enhancement: Signing the catalogues is now a config option (
Sign.Enabled), off by default. When on, the server re-signs catalogues it serves; users inSign.PlatformUserIdExceptionsget the opposite behavior. Signing allows for the catalogues to be dynamic. GenCert now generated the signing public and private keys. **In order for the client to accept the new signature you must use AgeFakeSignature.dll of https://github.com/luskaner/ageServerLauncherCompanion. - [EXPERIMENTAL]🔝 Enhancement: Optional replay recording for matches handled by the embedded Battle Server. Configurable in
BattleServerReplayskey. - [EXPERIMENTAL]🔝 Enhancement: Implemented AoE 2: DE 1v1 matchmaking with persistence, leaderboard completeness and protocol fixes. If using
GeneratePlatformUserIdastrueit may show a user with multiple entries. Thanks to @Chichimokers. - [EXPERIMENTAL]🔝 Enhancement: Implemented config GUI. Thanks to @AlvaroGReg.
- 🔝 Enhancement: Improved support for Age of Empires 4: Raiders of the North DLC including the new Crucible COOP mode and civs.
- 🔝 Enhancement: Added configuration option
Internet.IP(autoby default) to set a static WAN IP instead of relying of apify service. Only relevant if the server is accessed from the WAN side. Thanks to @bgstack15. - 🔝 Enhancement: Added configuration option (and flag)
Internet.Enabled(enabled by default) to disable the use of features that always require internet. Thanks to @bgstack15. - 🔝 Enhancement: New icons available for all compatible games. Thanks to anonymous person.
- 🔝 Enhancement: Implemented
getNewsendpoint so the server can serve news to clients. - 🔝 Enhancement: Serve multiplayer savegames and replays via
/api/MatchContent/(upload and download endpoints). Configurable inCustomFilessection. Matches can now be restored to be played. Thanks to @DrA1ex - 🔝Enhancement: AoE 4 now allows to change and save profile. Thanks to anonymous person.
- Enhancement: Migrated to more performance Websocket library.
- 🐛 Fix: AoE 4 no longer crashes when customizing the profile. Thanks to anonymous person.
- 🐛 Fix: multiple websocket fixes.
- 🐛 Fix: Item metadata persistence now keeps
sourceandmtypeand never persists the transientis_newflag. Thanks to anonymous person. - 🐛 Fix: Challenge progress routes covered for AoE 4. Thanks to anonymous person.
- 🐛 Fix: gen-cert self-signed certificates now assign correct
KeyUsageandExtKeyUsage; generated private keys are owner-only (0600).
🎮 Launcher
- 🔝 Enhancement: Added option (and flag)
CanUseInternet(defaulttrue) to disable the use of features that always require internet. - 🔝 Enhancement: Moved the text to different sections like Init (implied), Configuration,
Initial teardown, Execution and final teardown to make operations more understandable. - 🔝 Enhancement: Make use of modern terminal features like emojis and format with fallback for legacy terminals.
- 🔝 Enhancement: Use a GUI dialog to select server or start one. Can be disabled by setting
CanUseDialogstofalse. - 🔝 Enhancement: agent now makes use of the system tray with Exit action and activity status.
- 🔝 Enhancement: agent now shows a notification to indicate the status when exiting.
- 🐛 Fix: A run no longer inherits anything from the previous run and reverts when it should.
- 🐛 Fix: Stop leaking an elevated config-admin-agent after the game exits.
- 🐛 Fix: Session state globals are now protected against data races from signal goroutines.
- 🐛 Fix: response body leak when reading certificate from server.
- 🐛 Fix: UDP server discovery race on shared sockets.
- 🐛 Fix: launcher logger (prefix contamination, swallowed errors, case-sensitive DNS matching, nondeterministic order).
- 🐛 Fix: infinite loop on stdin EOF during server selection.
- 🐛 Fix: Kill fallback no longer pretends to be a second attempt on slow machines.
- 🐛 Fix:
postAgentStartpolling is bounded and reports failure instead of hanging forever. - 🪟🐛 Fix:
ShellExecuteExWno longer writes into a stack-allocated struct and releases the process handle.
🖥️ Battle Server Manager
- Enhancement: Deterministic non-loopback IP selection for broadcast.
- Enhancement: Port generation and allocation reworked to be more robust and testable.
- 🐛 Fix: Null-safety in broadcast IP calculation and
ValidDatalength checks. - 🐛 Fix: battle-server-manager bugs covered by a new unit test suite.
Developer changes
- 🔝 Enhancement: Docker compose server and battle-server-manager now use
restart: unless-stopped; the Docker entrypoint validates and quotesGAME_ID. - 🐛 Fix:
.gitignorenow separatesgo.work.sumand adds coverage anduserData/patterns. - 🚧 Update: Go from 1.26.9 to 1.27.3.
- 🚧 Update: Renamed
task buildtotask build-all. - 🔝Enhancement:
task buildnow builds only the host platform with--single-target. - 🚧 Update: Removed the standalone battle-server mock (functionality absorbed by the embedded Battle Server). Thanks to @Chichimokers.
- 🔝Enhancement: Dependency injection pattern applied to admin client, revert/executor, config-helper and
runRoot, with comprehensive test suites. - 🔝Enhancement: Exhaustive httptest coverage added for all server routes, models, playfab, textmoderation and WSS.
- Enhancement: Battle server PID check is now optional (
ignorePid) to support Docker-like containers in host-like network mode.
See Github differences in v1.15.6...v2.0.0
What's coming in the future?
See this.
First time contributors
Sponsors/Donations
- @codabrink (GitHub monthly sponsor).
- B. Stack (one-time donation).
- Skoop (one-time donation).
- Ghoulette (one-time donation).
There are multiples ways to help: starring the repo, spreading the word, contributing to the repository, making an issue report, sponsoring me monthly or a one-time donation!
Files
The following assets are directly compiled and listed next to the release notes:
-
Full:
- Windows:
- 10 on x86-64:
..._full_v2.0.0_win10_x86-64.zip - 7 on x86-64:
..._full_v2.0.0_win7_x86-64.zip - 11 on ARM:
..._full_v2.0.0_win11_arm64.zip
- 10 on x86-64:
- Linux:
- x86-64:
..._full_v2.0.0_linux_x86-64.tar.gz - ARM64:
..._full_v2.0.0_linux_arm64.tar.gz
- x86-64:
- macOS:
..._full_v2.0.0_mac.tar.gz
- Windows:
-
Launcher:
- Windows:
- 10 on x86-64:
..._launcher_v2.0.0_win10_x86-64.zip - 7 on x86-64:
..._launcher_v2.0.0_win7_x86-64.zip - 11 on ARM:
..._launcher_v2.0.0_win11_arm64.zip
- 10 on x86-64:
- Linux:
- x86-64:
..._launcher_v2.0.0_linux_x86-64.tar.gz - ARM64:
..._launcher_v2.0.0_linux_arm64.tar.gz
- x86-64:
- macOS:
..._launcher_v2.0.0_mac.tar.gz
- Windows:
-
Battle Server Manager:
- Windows:
- 10 on x86-64:
..._battle-server-manager_v2.0.0_win10_x86-64.zip - 7 on x86-64:
..._battle-server-manager_v2.0.0_win7_x86-64.zip - 11 on ARM:
..._battle-server-manager_v2.0.0_win11_arm64.zip
- 10 on x86-64:
- Linux:
- x86-64:
..._battle-server-manager_v2.0.0_linux_x86-64.tar.gz - ARM64:
..._battle-server-manager_v2.0.0_linux_arm64.tar.gz
- x86-64:
- macOS:
..._battle-server-manager_v2.0.0_mac.tar.gz
- Windows:
-
Server:
- Windows:
- 10 (IoT), Server (IoT) 2025 on ARM64:
..._server_v2.0.0_win10_arm64.zip - 10 (IoT), (Storage) Server 2016, Server IoT 2019 on x86-64:
..._server_v2.0.0_win10_x86-64.zip - 7, Server 2008 R2, Home Server 2011, Embedded 7 on x86-64:
..._server_v2.0.0_win7_x86-64.zip - 10 (IoT) on x86-32:
..._server_v2.0.0_win10_x86-32.zip - 7, Embedded 7, Thin PC on x86-32:
..._server_v2.0.0_win7_x86-32.zip
- 10 (IoT), Server (IoT) 2025 on ARM64:
- Linux:
- ARM64:
..._server_v2.0.0_linux_arm64.tar.gz - ARM32:
- ARMv5 (armel): `..._server_v2.0.0_l...
- ARM64:
- Windows:
v1.15.6
What's Changed
Since last stable version
General
- 🚧 Update: Dependencies and Go compiler from 1.26.8 to 1.26.9.
- 🚧 Update (@nunnsy): Document macOS Gatekeeper quarantine for downloaded binaries
Launcher/Battle Server Manager
🐛 Fix (@nunnsy): NativeMacOsGame never matching Steam executor on darwin/arm64.
Other
- 🚧 Update (@nunnsy): Updated .gitignore for macOS.
See Github differences in v1.15.5...v1.15.6
Thanks to @nunnsy for his first set of contributions!
What's coming in the future?
See this.
Sponsors/Donations
- @codabrink (GitHub monthly sponsor).
- B. Stack (one-time donation)
- Skoop (one-time donation)
- Ghoulette (one-time donation)
There are multiples ways to help: starring the repo, spreading the word, contributing to the repository, making an issue report, sponsoring me monthly or a one-time donation!
Files
The following assets are directly compiled and listed next to the release notes:
- Full:
- Windows:
- 10 on x86-64: ..._full_v1.15.6_win10_x86-64.zip
- 7 on x86-64: ..._full_v1.15.6_win7_x86-64.zip
- 11 on ARM: ..._full_v1.15.6_win11_arm64.zip
- Linux:
- x86-64: ..._full_v1.15.6_linux_x86-64.tar.gz
- ARM64: ..._full_v1.15.6_linux_arm64.tar.gz
- macOS: ..._full_v1.15.6_mac.tar.gz
- Windows:
- Launcher:
- Windows:
- 10 on x86-64: ..._launcher_v1.15.6_win10_x86-64.zip
- 7 on x86-64: ..._launcher_v1.15.6_win7_x86-64.zip
- 11 on ARM: ..._launcher_v1.15.6_win11_arm64.zip
- Linux:
- x86-64: ..._launcher_v1.15.6_linux_x86-64.tar.gz
- ARM64: ..._launcher_v1.15.6_linux_arm64.tar.gz
- macOS: ..._launcher_v1.15.6_mac.tar.gz
- Windows:
- Battle Server Manager:
- Windows:
- 10 on x86-64: ..._battle-server-manager_v1.15.6_win10_x86-64.zip
- 7 on x86-64: ..._battle-server-manager_v1.15.6_win7_x86-64.zip
- 11 on ARM: ..._battle-server-manager_v1.15.6_win11_arm64.zip
- Linux:
- x86-64: ..._battle-server-manager_v1.15.6_linux_x86-64.tar.gz
- ARM64: ..._battle-server-manager_v1.15.6_linux_arm64.tar.gz
- macOS: ..._battle-server-manager_v1.15.6_mac.tar.gz
- Windows:
- Server:
- Windows:
- 10 (IoT), Server (IoT) 2025 on ARM64: ..._server_v1.15.6_win10_arm64.zip
- 10 (IoT), (Storage) Server 2016, Server IoT 2019 on x86-64: ..._server_v1.15.6_win10_x86-64.zip
- 7, Server 2008 R2, Home Server 2011, Embedded 7 on x86-64: ..._server_v1.15.6_win7_x86-64.zip
- 10 (IoT) on x86-32: ..._server_v1.15.6_win10_x86-32.zip
- 7, Embedded 7, Thin PC on x86-32: ..._server_v1.15.6_win7_x86-32.zip
- Linux:
- ARM64: ..._server_v1.15.6_linux_arm64.tar.gz
- ARM32:
- ARMv5 (armel): ..._server_v1.15.6_linux_arm-5.tar.gz
- ARMv6 (sometimes called armhf): ..._server_v1.15.6_linux_arm-6.tar.gz
- x86-64: ..._server_v1.15.6_linux_x86-64.tar.gz
- x86-32: ..._server_v1.15.6_linux_x86-32.tar.gz
- macOS: ..._server_v1.15.6_mac.tar.gz
- Windows:
Note: If you are using Antivirus it may flag one or more executables as virus, this is a false positive.
Verification
The verification process ensures that the files you download are the same as the ones that were uploaded by the
maintainer.
- Download the
ageLANLanServer_v1.15.6_checksums.txtandageLANLanServer_v1.15.6_checksums.txt.sigfiles. - Import the release public key and import it to your keyring if you haven't already.
- Verify the
ageLANServer_v1.15.6_checksums.txtfile with theageLANLanServer_v1.15.6_checksums.txt.sigfile. - Verify the SHA-256 checksum list inside
ageLANServer_v1.15.6_checksums.txtwith the downloaded archives.
Simplest way to use it
- Download the proper full asset.
- Uncompress it somewhere.
- Windows Optional: You may need to add the launcher/server binaries to the exception list of your Antivirus.
- Windows Optional: Unblock the
.exefiles as explained here - If not using the Steam or Xbox launcher, edit the
launcher/resources/config.<game_title>.tomlfile with a text editor (like Notepad) and modify theClient.Executablesection to point to the game launcher path. In this case, you also need to modifyClient.Pathto point to the game's directory. You will need to use a custom launcher (plus what my other repo provides) for 100% offline play. - If you are using a custom launcher or native AoE II: DE on mac (or you are using AoE IV/AoM and don't have AoE II: DE installed) edit the
battle-server-manager/resources/config.<game>.tomlfile and pointExecutable.Pathto the game's "BattleServer.exe" (or specifically AoE II: DE one for AoM) executable (it's portable), for example, 'S:\SteamLibrary\steamapps\common\AoE2DE\BattleServer\BattleServer.exe'. - Execute
launcher/start_<game_title>script: 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 (except the point 6) 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 be prompted to connnect to it.
- In the game, just host a new lobby via the Multiplayer section. 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. If the game allows, you can share the link to join the lobby automatically (only works if already in-game).
Help
Look for the Troubleshooting if you have any issues (or QA for any doubt), create an issue or look for other related issues.
v1.15.5
What's Changed
Since last stable version
General
🔝Enhancement: Added support for AoE 2 - The Viking Sagas DLC (see also the updated ageLANServerLauncherCompanion instructions).
See Github differences in v1.15.4...v1.15.5
What's coming in the future?
See this.
Sponsors/Donations
- @codabrink (GitHub monthly sponsor).
- B. Stack (one-time donation)
- Skoop (one-time donation)
- Ghoulette (one-time donation)
There are multiples ways to help: starring the repo, spreading the word, contributing to the repository, making an issue report, sponsoring me monthly or a one-time donation!
Files
The following assets are directly compiled and listed next to the release notes:
- Full:
- Windows:
- 10 on x86-64: ..._full_v1.15.5_win10_x86-64.zip
- 7 on x86-64: ..._full_v1.15.5_win7_x86-64.zip
- 11 on ARM: ..._full_v1.15.5_win11_arm64.zip
- Linux:
- x86-64: ..._full_v1.15.5_linux_x86-64.tar.gz
- ARM64: ..._full_v1.15.5_linux_arm64.tar.gz
- macOS: ..._full_v1.15.5_mac.tar.gz
- Windows:
- Launcher:
- Windows:
- 10 on x86-64: ..._launcher_v1.15.5_win10_x86-64.zip
- 7 on x86-64: ..._launcher_v1.15.5_win7_x86-64.zip
- 11 on ARM: ..._launcher_v1.15.5_win11_arm64.zip
- Linux:
- x86-64: ..._launcher_v1.15.5_linux_x86-64.tar.gz
- ARM64: ..._launcher_v1.15.5_linux_arm64.tar.gz
- macOS: ..._launcher_v1.15.5_mac.tar.gz
- Windows:
- Battle Server Manager:
- Windows:
- 10 on x86-64: ..._battle-server-manager_v1.15.5_win10_x86-64.zip
- 7 on x86-64: ..._battle-server-manager_v1.15.5_win7_x86-64.zip
- 11 on ARM: ..._battle-server-manager_v1.15.5_win11_arm64.zip
- Linux:
- x86-64: ..._battle-server-manager_v1.15.5_linux_x86-64.tar.gz
- ARM64: ..._battle-server-manager_v1.15.5_linux_arm64.tar.gz
- macOS: ..._battle-server-manager_v1.15.5_mac.tar.gz
- Windows:
- Server:
- Windows:
- 10 (IoT), Server (IoT) 2025 on ARM64: ..._server_v1.15.5_win10_arm64.zip
- 10 (IoT), (Storage) Server 2016, Server IoT 2019 on x86-64: ..._server_v1.15.5_win10_x86-64.zip
- 7, Server 2008 R2, Home Server 2011, Embedded 7 on x86-64: ..._server_v1.15.5_win7_x86-64.zip
- 10 (IoT) on x86-32: ..._server_v1.15.5_win10_x86-32.zip
- 7, Embedded 7, Thin PC on x86-32: ..._server_v1.15.5_win7_x86-32.zip
- Linux:
- ARM64: ..._server_v1.15.5_linux_arm64.tar.gz
- ARM32:
- ARMv5 (armel): ..._server_v1.15.5_linux_arm-5.tar.gz
- ARMv6 (sometimes called armhf): ..._server_v1.15.5_linux_arm-6.tar.gz
- x86-64: ..._server_v1.15.5_linux_x86-64.tar.gz
- x86-32: ..._server_v1.15.5_linux_x86-32.tar.gz
- macOS: ..._server_v1.15.5_mac.tar.gz
- Windows:
Note: If you are using Antivirus it may flag one or more executables as virus, this is a false positive.
Verification
The verification process ensures that the files you download are the same as the ones that were uploaded by the
maintainer.
- Download the
ageLANLanServer_v1.15.5_checksums.txtandageLANLanServer_v1.15.5_checksums.txt.sigfiles. - Import the release public key and import it to your keyring if you haven't already.
- Verify the
ageLANServer_v1.15.5_checksums.txtfile with theageLANLanServer_v1.15.5_checksums.txt.sigfile. - Verify the SHA-256 checksum list inside
ageLANServer_v1.15.5_checksums.txtwith the downloaded archives.
Simplest way to use it
- Download the proper full asset.
- Uncompress it somewhere.
- Windows Optional: You may need to add the launcher/server binaries to the exception list of your Antivirus.
- Windows Optional: Unblock the
.exefiles as explained here - If not using the Steam or Xbox launcher, edit the
launcher/resources/config.<game_title>.tomlfile with a text editor (like Notepad) and modify theClient.Executablesection to point to the game launcher path. In this case, you also need to modifyClient.Pathto point to the game's directory. You will need to use a custom launcher (plus what my other repo provides) for 100% offline play. - If you are using a custom launcher or native AoE II: DE on mac (or you are using AoE IV/AoM and don't have AoE II: DE installed) edit the
battle-server-manager/resources/config.<game>.tomlfile and pointExecutable.Pathto the game's "BattleServer.exe" (or specifically AoE II: DE one for AoM) executable (it's portable), for example, 'S:\SteamLibrary\steamapps\common\AoE2DE\BattleServer\BattleServer.exe'. - Execute
launcher/start_<game_title>script: 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 (except the point 6) 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 be prompted to connnect to it.
- In the game, just host a new lobby via the Multiplayer section. 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. If the game allows, you can share the link to join the lobby automatically (only works if already in-game).
Help
Look for the Troubleshooting if you have any issues (or QA for any doubt), create an issue or look for other related issues.
v1.15.4
What's Changed
Since last stable version
General
🔝Enhancement: Updated domains so newer game version work offline in AoE 2, AoE 4 and AoM.
See Github differences in v1.15.3...v1.15.4
What's coming in the future?
See this.
Sponsors/Donations
- @codabrink (GitHub monthly sponsor).
- B. Stack (one-time donation)
- Skoop (one-time donation)
- Ghoulette (one-time donation)
There are multiples ways to help: starring the repo, spreading the word, contributing to the repository, making an issue report, sponsoring me monthly or a one-time donation!
Files
The following assets are directly compiled and listed next to the release notes:
- Full:
- Windows:
- 10 on x86-64: ..._full_v1.15.4_win10_x86-64.zip
- 7 on x86-64: ..._full_v1.15.4_win7_x86-64.zip
- 11 on ARM: ..._full_v1.15.4_win11_arm64.zip
- Linux:
- x86-64: ..._full_v1.15.4_linux_x86-64.tar.gz
- ARM64: ..._full_v1.15.4_linux_arm64.tar.gz
- macOS: ..._full_v1.15.4_mac.tar.gz
- Windows:
- Launcher:
- Windows:
- 10 on x86-64: ..._launcher_v1.15.4_win10_x86-64.zip
- 7 on x86-64: ..._launcher_v1.15.4_win7_x86-64.zip
- 11 on ARM: ..._launcher_v1.15.4_win11_arm64.zip
- Linux:
- x86-64: ..._launcher_v1.15.4_linux_x86-64.tar.gz
- ARM64: ..._launcher_v1.15.4_linux_arm64.tar.gz
- macOS: ..._launcher_v1.15.4_mac.tar.gz
- Windows:
- Battle Server Manager:
- Windows:
- 10 on x86-64: ..._battle-server-manager_v1.15.4_win10_x86-64.zip
- 7 on x86-64: ..._battle-server-manager_v1.15.4_win7_x86-64.zip
- 11 on ARM: ..._battle-server-manager_v1.15.4_win11_arm64.zip
- Linux:
- x86-64: ..._battle-server-manager_v1.15.4_linux_x86-64.tar.gz
- ARM64: ..._battle-server-manager_v1.15.4_linux_arm64.tar.gz
- macOS: ..._battle-server-manager_v1.15.4_mac.tar.gz
- Windows:
- Server:
- Windows:
- 10 (IoT), Server (IoT) 2025 on ARM64: ..._server_v1.15.4_win10_arm64.zip
- 10 (IoT), (Storage) Server 2016, Server IoT 2019 on x86-64: ..._server_v1.15.4_win10_x86-64.zip
- 7, Server 2008 R2, Home Server 2011, Embedded 7 on x86-64: ..._server_v1.15.4_win7_x86-64.zip
- 10 (IoT) on x86-32: ..._server_v1.15.4_win10_x86-32.zip
- 7, Embedded 7, Thin PC on x86-32: ..._server_v1.15.4_win7_x86-32.zip
- Linux:
- ARM64: ..._server_v1.15.4_linux_arm64.tar.gz
- ARM32:
- ARMv5 (armel): ..._server_v1.15.4_linux_arm-5.tar.gz
- ARMv6 (sometimes called armhf): ..._server_v1.15.4_linux_arm-6.tar.gz
- x86-64: ..._server_v1.15.4_linux_x86-64.tar.gz
- x86-32: ..._server_v1.15.4_linux_x86-32.tar.gz
- macOS: ..._server_v1.15.4_mac.tar.gz
- Windows:
Note: If you are using Antivirus it may flag one or more executables as virus, this is a false positive.
Verification
The verification process ensures that the files you download are the same as the ones that were uploaded by the
maintainer.
- Download the
ageLANLanServer_v1.15.4_checksums.txtandageLANLanServer_v1.15.4_checksums.txt.sigfiles. - Import the release public key and import it to your keyring if you haven't already.
- Verify the
ageLANServer_v1.15.4_checksums.txtfile with theageLANLanServer_v1.15.4_checksums.txt.sigfile. - Verify the SHA-256 checksum list inside
ageLANServer_v1.15.4_checksums.txtwith the downloaded archives.
Simplest way to use it
- Download the proper full asset.
- Uncompress it somewhere.
- Windows Optional: You may need to add the launcher/server binaries to the exception list of your Antivirus.
- Windows Optional: Unblock the
.exefiles as explained here - If not using the Steam or Xbox launcher, edit the
launcher/resources/config.<game_title>.tomlfile with a text editor (like Notepad) and modify theClient.Executablesection to point to the game launcher path. In this case, you also need to modifyClient.Pathto point to the game's directory. You will need to use a custom launcher (plus what my other repo provides) for 100% offline play. - If you are using a custom launcher or native AoE II: DE on mac (or you are using AoE IV/AoM and don't have AoE II: DE installed) edit the
battle-server-manager/resources/config.<game>.tomlfile and pointExecutable.Pathto the game's "BattleServer.exe" (or specifically AoE II: DE one for AoM) executable (it's portable), for example, 'S:\SteamLibrary\steamapps\common\AoE2DE\BattleServer\BattleServer.exe'. - Execute
launcher/start_<game_title>script: 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 (except the point 6) 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 be prompted to connnect to it.
- In the game, just host a new lobby via the Multiplayer section. 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. If the game allows, you can share the link to join the lobby automatically (only works if already in-game).
Help
Look for the Troubleshooting if you have any issues (or QA for any doubt), create an issue or look for other related issues.
v1.15.3
What's Changed
Since last stable version
General
- 🚧 Update: dependencies.
- 🚧 Update: improved README.md.
- 🚧 Update: Go compiler from 1.26.5 to 1.26.8.
- 🚧 Change: Return to original windows 7 compiler.
Server
- 🔝🆕 Enhancement: Added support for The Baltic Powers DLC and base game version.
- 🐛Fix: Matches to observe now also return the users profile info.
- 🐛Fix (Partial): the counters of people in chat channels of AoE 3.
Launcher
- Enhancement: Added extensive logging when mapping a new host if logging is enabled.
Battle Server Manager
- 🐧🍎🐛Fix: detect wine as it was in v1.14 as last resort.
See Github differences in v1.15.2...v1.15.3
What's coming in the future?
See this.
Sponsors/Donations
- @codabrink (GitHub monthly sponsor).
- B. Stack (one-time donation)
- Skoop (one-time donation)
- Ghoulette (one-time donation)
There are multiples ways to help: starring the repo, spreading the word, contributing to the repository, making an issue report, sponsoring me monthly or a one-time donation!
Files
The following assets are directly compiled and listed next to the release notes:
- Full:
- Windows:
- 10 on x86-64: ..._full_v1.15.3_win10_x86-64.zip
- 7 on x86-64: ..._full_v1.15.3_win7_x86-64.zip
- 11 on ARM: ..._full_v1.15.3_win11_arm64.zip
- Linux:
- x86-64: ..._full_v1.15.3_linux_x86-64.tar.gz
- ARM64: ..._full_v1.15.3_linux_arm64.tar.gz
- macOS: ..._full_v1.15.3_mac.tar.gz
- Windows:
- Launcher:
- Windows:
- 10 on x86-64: ..._launcher_v1.15.3_win10_x86-64.zip
- 7 on x86-64: ..._launcher_v1.15.3_win7_x86-64.zip
- 11 on ARM: ..._launcher_v1.15.3_win11_arm64.zip
- Linux:
- x86-64: ..._launcher_v1.15.3_linux_x86-64.tar.gz
- ARM64: ..._launcher_v1.15.3_linux_arm64.tar.gz
- macOS: ..._launcher_v1.15.3_mac.tar.gz
- Windows:
- Battle Server Manager:
- Windows:
- 10 on x86-64: ..._battle-server-manager_v1.15.3_win10_x86-64.zip
- 7 on x86-64: ..._battle-server-manager_v1.15.3_win7_x86-64.zip
- 11 on ARM: ..._battle-server-manager_v1.15.3_win11_arm64.zip
- Linux:
- x86-64: ..._battle-server-manager_v1.15.3_linux_x86-64.tar.gz
- ARM64: ..._battle-server-manager_v1.15.3_linux_arm64.tar.gz
- macOS: ..._battle-server-manager_v1.15.3_mac.tar.gz
- Windows:
- Server:
- Windows:
- 10 (IoT), Server (IoT) 2025 on ARM64: ..._server_v1.15.3_win10_arm64.zip
- 10 (IoT), (Storage) Server 2016, Server IoT 2019 on x86-64: ..._server_v1.15.3_win10_x86-64.zip
- 7, Server 2008 R2, Home Server 2011, Embedded 7 on x86-64: ..._server_v1.15.3_win7_x86-64.zip
- 10 (IoT) on x86-32: ..._server_v1.15.3_win10_x86-32.zip
- 7, Embedded 7, Thin PC on x86-32: ..._server_v1.15.3_win7_x86-32.zip
- Linux:
- ARM64: ..._server_v1.15.3_linux_arm64.tar.gz
- ARM32:
- ARMv5 (armel): ..._server_v1.15.3_linux_arm-5.tar.gz
- ARMv6 (sometimes called armhf): ..._server_v1.15.3_linux_arm-6.tar.gz
- x86-64: ..._server_v1.15.3_linux_x86-64.tar.gz
- x86-32: ..._server_v1.15.3_linux_x86-32.tar.gz
- macOS: ..._server_v1.15.3_mac.tar.gz
- Windows:
Note: If you are using Antivirus it may flag one or more executables as virus, this is a false positive.
Verification
The verification process ensures that the files you download are the same as the ones that were uploaded by the
maintainer.
- Download the
ageLANLanServer_v1.15.3_checksums.txtandageLANLanServer_v1.15.3_checksums.txt.sigfiles. - Import the release public key and import it to your keyring if you haven't already.
- Verify the
ageLANServer_v1.15.3_checksums.txtfile with theageLANLanServer_v1.15.3_checksums.txt.sigfile. - Verify the SHA-256 checksum list inside
ageLANServer_v1.15.3_checksums.txtwith the downloaded archives.
Simplest way to use it
- Download the proper full asset.
- Uncompress it somewhere.
- Windows Optional: You may need to add the launcher/server binaries to the exception list of your Antivirus.
- Windows Optional: Unblock the
.exefiles as explained here - If not using the Steam or Xbox launcher, edit the
launcher/resources/config.<game_title>.tomlfile with a text editor (like Notepad) and modify theClient.Executablesection to point to the game launcher path. In this case, you also need to modifyClient.Pathto point to the game's directory. You will need to use a custom launcher (plus what my other repo provides) for 100% offline play. - If you are using a custom launcher or native AoE II: DE on mac (or you are using AoE IV/AoM and don't have AoE II: DE installed) edit the
battle-server-manager/resources/config.<game>.tomlfile and pointExecutable.Pathto the game's "BattleServer.exe" (or specifically AoE II: DE one for AoM) executable (it's portable), for example, 'S:\SteamLibrary\steamapps\common\AoE2DE\BattleServer\BattleServer.exe'. - Execute
launcher/start_<game_title>script: 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 (except the point 6) 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 be prompted to connnect to it.
- In the game, just host a new lobby via the Multiplayer section. 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. If the game allows, you can share the link to join the lobby automatically (only works if already in-game).
Help
Look for the Troubleshooting if you have any issues (or QA for any doubt), create an issue or look for other related issues.
v1.15.2
What's Changed
Since last stable version
General
- 🚧 Update: dependencies.
- Enhancement: consider only 'Up' interfaces, no longer require 'Running' supporting more isoteric interfaces.
Server
- 🐛Fix: not sending lobby/match messages in recent AoE 2 versions.
- 🐛Fix: not showing own message when sending a lobby/match message in AoE 3.
- 🐛Fix: security vulnerability GHSA-4jfq-pmq9-257h
- 🐛Fix: not returning the proper battle-server IP when it is auto, with connectivity in rare cases.
- 🐛Fix: not including the CA certificate store in archives.
- 🚧 Update: CA certificate store.
Battle Server Broadcast
- Enhancement: rebroadcast only 'Up' interfaces, no longer require 'Running' supporting more isoteric interfaces.
See Github differences in v1.15.1...v1.15.2
What's coming in the future?
See this.
Sponsors/Donations
- @codabrink (GitHub monthly sponsor).
- B. Stack (one-time donation)
- Skoop (one-time donation)
- Ghoulette (one-time donation)
There are multiples ways to help: starring the repo, spreading the word, contributing to the repository, making an issue report, sponsoring me monthly or a one-time donation!
Files
The following assets are directly compiled and listed next to the release notes:
- Full:
- Windows:
- 10 on x86-64: ..._full_v1.15.2_win10_x86-64.zip
- 7 on x86-64: ..._full_v1.15.2_win7_x86-64.zip
- 11 on ARM: ..._full_v1.15.2_win11_arm64.zip
- Linux:
- x86-64: ..._full_v1.15.2_linux_x86-64.tar.gz
- ARM64: ..._full_v1.15.2_linux_arm64.tar.gz
- macOS: ..._full_v1.15.2_mac.tar.gz
- Windows:
- Launcher:
- Windows:
- 10 on x86-64: ..._launcher_v1.15.2_win10_x86-64.zip
- 7 on x86-64: ..._launcher_v1.15.2_win7_x86-64.zip
- 11 on ARM: ..._launcher_v1.15.2_win11_arm64.zip
- Linux:
- x86-64: ..._launcher_v1.15.2_linux_x86-64.tar.gz
- ARM64: ..._launcher_v1.15.2_linux_arm64.tar.gz
- macOS: ..._launcher_v1.15.2_mac.tar.gz
- Windows:
- Battle Server Manager:
- Windows:
- 10 on x86-64: ..._battle-server-manager_v1.15.2_win10_x86-64.zip
- 7 on x86-64: ..._battle-server-manager_v1.15.2_win7_x86-64.zip
- 11 on ARM: ..._battle-server-manager_v1.15.2_win11_arm64.zip
- Linux:
- x86-64: ..._battle-server-manager_v1.15.2_linux_x86-64.tar.gz
- ARM64: ..._battle-server-manager_v1.15.2_linux_arm64.tar.gz
- macOS: ..._battle-server-manager_v1.15.2_mac.tar.gz
- Windows:
- Server:
- Windows:
- 10 (IoT), Server (IoT) 2025 on ARM64: ..._server_v1.15.2_win10_arm64.zip
- 10 (IoT), (Storage) Server 2016, Server IoT 2019 on x86-64: ..._server_v1.15.2_win10_x86-64.zip
- 7, Server 2008 R2, Home Server 2011, Embedded 7 on x86-64: ..._server_v1.15.2_win7_x86-64.zip
- 10 (IoT) on x86-32: ..._server_v1.15.2_win10_x86-32.zip
- 7, Embedded 7, Thin PC on x86-32: ..._server_v1.15.2_win7_x86-32.zip
- Linux:
- ARM64: ..._server_v1.15.2_linux_arm64.tar.gz
- ARM32:
- ARMv5 (armel): ..._server_v1.15.2_linux_arm-5.tar.gz
- ARMv6 (sometimes called armhf): ..._server_v1.15.2_linux_arm-6.tar.gz
- x86-64: ..._server_v1.15.2_linux_x86-64.tar.gz
- x86-32: ..._server_v1.15.2_linux_x86-32.tar.gz
- macOS: ..._server_v1.15.2_mac.tar.gz
- Windows:
Note: If you are using Antivirus it may flag one or more executables as virus, this is a false positive.
Verification
The verification process ensures that the files you download are the same as the ones that were uploaded by the
maintainer.
- Download the
ageLANLanServer_v1.15.2_checksums.txtandageLANLanServer_v1.15.2_checksums.txt.sigfiles. - Import the release public key and import it to your keyring if you haven't already.
- Verify the
ageLANServer_v1.15.2_checksums.txtfile with theageLANLanServer_v1.15.2_checksums.txt.sigfile. - Verify the SHA-256 checksum list inside
ageLANServer_v1.15.2_checksums.txtwith the downloaded archives.
Simplest way to use it
- Download the proper full asset.
- Uncompress it somewhere.
- Windows Optional: You may need to add the launcher/server binaries to the exception list of your Antivirus.
- Windows Optional: Unblock the
.exefiles as explained here - If not using the Steam or Xbox launcher, edit the
launcher/resources/config.<game_title>.tomlfile with a text editor (like Notepad) and modify theClient.Executablesection to point to the game launcher path. In this case, you also need to modifyClient.Pathto point to the game's directory. You will need to use a custom launcher (plus what my other repo provides) for 100% offline play. - If you are using a custom launcher or native AoE II: DE on mac (or you are using AoE IV/AoM and don't have AoE II: DE installed) edit the
battle-server-manager/resources/config.<game>.tomlfile and pointExecutable.Pathto the game's "BattleServer.exe" (or specifically AoE II: DE one for AoM) executable (it's portable), for example, 'S:\SteamLibrary\steamapps\common\AoE2DE\BattleServer\BattleServer.exe'. - Execute
launcher/start_<game_title>script: 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 (except the point 6) 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 be prompted to connnect to it.
- In the game, just host a new lobby via the Multiplayer section. 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. If the game allows, you can share the link to join the lobby automatically (only works if already in-game).
Help
Look for the Troubleshooting if you have any issues (or QA for any doubt), create an issue or look for other related issues.
v1.15.1
What's Changed
Since last stable version
General
- 🚧 Update: dependencies.
Launcher
- Enhancement: config-admin-agent better handles IPC errors producing less messages and errors.
- Enhancement: config better stops config-admin-agent producing less messages and errors.
- 🐛Fix: not deleting hosts entries when they are already valid ones set by the user.
- 🐛Fix: config setup command now supports not stopping the agent on error so the launcher does not need to execute config-admin with the final revert.
- 🐛Fix: config setup not stopping the agent conditionally.
See Github differences in v1.15.0...v1.15.1
What's coming in the future?
See this.
Sponsors/Donations
- @codabrink (GitHub monthly sponsor).
- B. Stack (one-time donation)
- Skoop (one-time donation)
- Ghoulette (one-time donation)
There are multiples ways to help: starring the repo, spreading the word, contributing to the repository, making an issue report, sponsoring me monthly or a one-time donation!
Files
The following assets are directly compiled and listed next to the release notes:
- Full:
- Windows:
- 10 on x86-64: ..._full_v1.15.1_win10_x86-64.zip
- 7 on x86-64: ..._full_v1.15.1_win7_x86-64.zip
- 11 on ARM: ..._full_v1.15.1_win11_arm64.zip
- Linux:
- x86-64: ..._full_v1.15.1_linux_x86-64.tar.gz
- ARM64: ..._full_v1.15.1_linux_arm64.tar.gz
- macOS: ..._full_v1.15.1_mac.tar.gz
- Windows:
- Launcher:
- Windows:
- 10 on x86-64: ..._launcher_v1.15.1_win10_x86-64.zip
- 7 on x86-64: ..._launcher_v1.15.1_win7_x86-64.zip
- 11 on ARM: ..._launcher_v1.15.1_win11_arm64.zip
- Linux:
- x86-64: ..._launcher_v1.15.1_linux_x86-64.tar.gz
- ARM64: ..._launcher_v1.15.1_linux_arm64.tar.gz
- macOS: ..._launcher_v1.15.1_mac.tar.gz
- Windows:
- Battle Server Manager:
- Windows:
- 10 on x86-64: ..._battle-server-manager_v1.15.1_win10_x86-64.zip
- 7 on x86-64: ..._battle-server-manager_v1.15.1_win7_x86-64.zip
- 11 on ARM: ..._battle-server-manager_v1.15.1_win11_arm64.zip
- Linux:
- x86-64: ..._battle-server-manager_v1.15.1_linux_x86-64.tar.gz
- ARM64: ..._battle-server-manager_v1.15.1_linux_arm64.tar.gz
- macOS: ..._battle-server-manager_v1.15.1_mac.tar.gz
- Windows:
- Server:
- Windows:
- 10 (IoT), Server (IoT) 2025 on ARM64: ..._server_v1.15.1_win10_arm64.zip
- 10 (IoT), (Storage) Server 2016, Server IoT 2019 on x86-64: ..._server_v1.15.1_win10_x86-64.zip
- 7, Server 2008 R2, Home Server 2011, Embedded 7 on x86-64: ..._server_v1.15.1_win7_x86-64.zip
- 10 (IoT) on x86-32: ..._server_v1.15.1_win10_x86-32.zip
- 7, Embedded 7, Thin PC on x86-32: ..._server_v1.15.1_win7_x86-32.zip
- Linux:
- ARM64: ..._server_v1.15.1_linux_arm64.tar.gz
- ARM32:
- ARMv5 (armel): ..._server_v1.15.1_linux_arm-5.tar.gz
- ARMv6 (sometimes called armhf): ..._server_v1.15.1_linux_arm-6.tar.gz
- x86-64: ..._server_v1.15.1_linux_x86-64.tar.gz
- x86-32: ..._server_v1.15.1_linux_x86-32.tar.gz
- macOS: ..._server_v1.15.1_mac.tar.gz
- Windows:
Note: If you are using Antivirus it may flag one or more executables as virus, this is a false positive.
Verification
The verification process ensures that the files you download are the same as the ones that were uploaded by the
maintainer.
- Download the
ageLANLanServer_v1.15.1_checksums.txtandageLANLanServer_v1.15.1_checksums.txt.sigfiles. - Import the release public key and import it to your keyring if you haven't already.
- Verify the
ageLANServer_v1.15.1_checksums.txtfile with theageLANLanServer_v1.15.1_checksums.txt.sigfile. - Verify the SHA-256 checksum list inside
ageLANServer_v1.15.1_checksums.txtwith the downloaded archives.
Simplest way to use it
- Download the proper full asset.
- Uncompress it somewhere.
- Windows Optional: You may need to add the launcher/server binaries to the exception list of your Antivirus.
- Windows Optional: Unblock the
.exefiles as explained here - If not using the Steam or Xbox launcher, edit the
launcher/resources/config.<game_title>.tomlfile with a text editor (like Notepad) and modify theClient.Executablesection to point to the game launcher path. In this case, you also need to modifyClient.Pathto point to the game's directory. You will need to use a custom launcher (plus what my other repo provides) for 100% offline play. - If you are using a custom launcher or native AoE II: DE on mac (or you are using AoE IV/AoM and don't have AoE II: DE installed) edit the
battle-server-manager/resources/config.<game>.tomlfile and pointExecutable.Pathto the game's "BattleServer.exe" (or specifically AoE II: DE one for AoM) executable (it's portable), for example, 'S:\SteamLibrary\steamapps\common\AoE2DE\BattleServer\BattleServer.exe'. - Execute
launcher/start_<game_title>script: 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 (except the point 6) 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 be prompted to connnect to it.
- In the game, just host a new lobby via the Multiplayer section. 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. If the game allows, you can share the link to join the lobby automatically (only works if already in-game).
Help
Look for the Troubleshooting if you have any issues (or QA for any doubt), create an issue or look for other related issues.
v1.15.0
What's Changed
Since last stable version
Full MacOS support
Warning
macOS support is still considered experimental. Please report any issues you encounter.
MacOS is now fully supported even including support for the new native Steam AoE II: DE port. Thus, full, battle-server-manager and launcher archives are provided just like the rest of operating systems.
Notes
- AoE II: DE port does not include the
BattleServerso:- You are unable to create/join lobbies as 'Use Local LAN Server' you must use the 'Default' or configured Online-like Battle Server.
- You will need to get the standalone windows executable from a Windows installation and configure the
battle-server-managerto its path along having installedwineprogram to run it.
- Launcher/Battle Server Manager: need in some moments to run an emergent terminal windows which the default
Terminalapp does not support, thus you will need to have installed one of the following:- Alacritty (recommended).
- Kitty
- Ghostty
- Wezterm
- Rio
- Linux based X11 terminals:
xterm,uxterm,urxvtandst.
General
- 🐧Enhancement: added more modern terminal applications to use (see at the top, just like macOS).
- 🐛 Fix: Properly load environment variables after configuration files.
- 🐛 Fix: Properly handle when a PID lock file does not exist when searching for it.
- 🐛 Fix: Don't show error when closing another program and itself removes the PID lock file.
- 🐛 Fix: Not adding usage
KeyUsageCertSignto the generated CA files. - 🍎🐧🐛 Fix: Do not use
setSidif process is just being waited on. - 🍎🐧🐛 Fix: Properly quote arguments in when running subprograms.
- 🐧🐛 Fix: Remove terminal apps that did not support the '-e' to run commands.
Server
- 🔝Enhancement: Added CDN domain support for AoE IV which means, for example, mods will work when using the official launcher.
- Enhancement: added old
leaderboards.jsonso old age2 game versions can work (as old as it was supported at the start of the project, ~2024Q2). The user must still manually place them as explained in the folder's README file. - Enhancement: Support new native macOS Steam AoE II: DE game domain
arthurlive-api.worldsedgelink.com. - Enhancement: Add
IgnoreIfExistingparameter togenCertbinary. - 🐛 Fix: fix adv/update not returning proper data for aoe1/aoe2/aoe3/aom
- 🐛 Fix: IPv4 auto in battleserver returning WAN IP as necessary.
Launcher
- 🔝🐛/Enhancement: Now, if required,
config-admin-agentis started at the beginning of the program and ensures by flushing the DNS and Certs cache that all is up-to-date. - Enhancement: Print more information when failing to connect to a server.
- Enhancement: Print more information when failing to add or remove a certificate.
- Enhancement:
Config.Certificate.CanTrustInPcnow defaults to 'auto', which is resolved to 'user' in macOS and 'local' otherwise (as it was before). - 🍎🐧🔝Enhancement: Added support for
Client.Executableas 'steam_crossover' (Steam installed on Crossover). - 🍎🐧🔝Enhancement: Added support for
Client.Executableas 'steam_wine' (Steam installed on Wine). - 🍎🐧Enhancement: Added
Client.Isolation.Pathso the user can specify the path to the game user data, enabling custom path and isolation at the same time. - 🐛 Fix: properly detect when starting a custom launcher if it fails.
- 🍎🐧🐛 Fix: when adding hosts comment out mappings to the hostname that can cause the system being to unable to host a LAN lobby.
- 🍎🐧🐛 Fix: Not getting the correctly data path for AoE IV: AE on wine-based systems.
- 🐧🐛 Fix: properly detect when
xdg-openfails to open the Steam URI. - 🚧 Update: Moved
Client.IsolateMetadataandClient.IsolateProfilesparameters to ownClient.Isolationsection and renamed asClient.Isolation.MetadataandClient.Isolation.Profilesrespectively.
Battle Server Manager
- Enhancement: Pass
publicPortargument toBattleServer.exe(same asBsPort). - Enhancement: Removed
SSLconfig section. NowCertsPathis defined which it is either 'auto' or a path to the certificate folder containing the appropriate .pem files per game. - 🍎🐧Enhancement: When starting the
BattleServer.exewait 20s extra seconds as they might need to boot wine. - 🐛 Fix: not properly generating the ports depending on which were already set.
- 🍎🐧🐛 Fix: wine fixes when starting
BattleServer.exe.
Other
- Enhancement: added dockerfile and compose for
battle-server-manager. - Enhancement: Added image (AI made) to main README.md and further specified system requirements and game version for AoE 2.
- Enhancement: Removed
bug_reporttemplate and replaced with an issue form. - Enhancement: Added a feature request form.
- 🐛 Fix: fixed Server dockerfile.
- 🚧 Update: Removed the ability for non-contributors to create an issue from a blank template.
- 🚧 Update:
release_public.key - 🚧 Update: Security disclosure to be by email instead of by issue to avoid going public on the report (will still be public once fixed).
Developer changes
- 🔝Enhancement: Added mocks for game launcher, the game itself and
BattleServer.exeto easy develop and test (specially on non-Windows systems). - 🔝Enhancement: You can now ask developer questions and view an enhanced AI-based wiki in deepwiki.
- Enhancement: All binaries now use the standard system for arguments and config.
- Enhancement: Added
config-helpermodule as means to interop for getting profile/game info on non-Windows systems viawine. - Enhancement:
battle-server-broadcastmodule now hasValidData(data []byte, length int) boolmethod and exportsHeader,GuidLength,PortSizeandMinimumSize. - Enhancement: CodeQL now compiled for Linux and macOS in addition to macOS (and updated dependencies).
- 🐛 Fix: cache missing in some debug tasks.
- 🚧 Update: Go from 1.26.3 to 1.26.5.
- 🚧 Update: Dependencies (program and CI).
- 🚧 Update: Removed cobra dependency left-over from launcher.
See Github differences in v1.14.0...v1.15.0
Since last pre-release version
Server
- 🔝Enhancement: Added CDN domain support for AoE IV which means, for example, mods will work when using the official launcher.
Other
- 🔝Enhancement: You can now ask developer questions and view an enhanced AI-based wiki in deepwiki.
- Enhancement: Added image (AI made) to main README.md and further specified system requirements and game version for AoE 2.
- Enhancement: CodeQL now compiled for Linux and macOS in addition to macOS (and updated dependencies).
- Enhancement: Removed
bug_reporttemplate and replaced with an issue form. - Enhancement: Added a feature request form.
- 🐛 Fix: Docker full (with battle-server-manager) and added variants for all possible cases uses and a proper README.md
- 🚧 Update: Removed the ability for non-contributors to create an issue from a blank template.
- 🚧 Update: Security disclosure to be by email instead of by issue to avoid going public on the report (will still be public once fixed).
See Github differences in v1.15.0-rc.1...v1.15.0
What's coming in the future?
See this.
Sponsors/Donations
- @codabrink (GitHub monthly sponsor).
- B. Stack (one-time donation)
- Skoop (one-time donation)
- Ghoulette (one-time donation)
There are multiples ways to help: starring the repo, spreading the word, contributing to the repository, making an issue report, sponsoring me monthly or a one-time donation!
Files
The following assets are directly compiled and listed next to the release notes:
- Full:
- Windows:
- 10 on x86-64: ..._full_v1.15.0_win10_x86-64.zip
- 7 on x86-64: ..._full_v1.15.0_win7_x86-64.zip
- 11 on ARM: ..._full_v1.15.0_win11_arm64.zip
- Linux:
- x86-64: ..._full_v1.15.0_linux_x86-64.tar.gz
- ARM64: ..._full_v1.15.0_linux_arm64.tar.gz
- macOS: ..._full_v1.15.0_mac.tar.gz
- Windows:
- Launcher:
- Windows:
- 10 on x86-64: ..._launcher_v1.15.0_win10_x86-64.zip
- 7 on x86-64: ..._launcher_v1.15.0_win7_x86-64.zip
- 11 on ARM: ..._launcher_v1.15.0_win11_arm64.zip
- Linux:
- x86-64: ..._launcher_v1.15.0_linux_x86-64.tar.gz
- ARM64: ..._launcher_v1.15.0_linux_arm64.tar.gz
- macOS: ..._launcher_v1.15.0_mac.tar.gz
- Windows:
- Battle Server Manager:
- Windows:
- 10 on x86-64: ..._battle-server-manager_v1.15.0_win10_x86-64.zip
- 7 on x86-64: ..._battle-server-manager_v1.15.0_win7_x86-64.zip
- 11 on ARM: ..._battle-server-manager_v1.15.0_win11_arm64.zip
- Linux:
- x86-64: ..._battle-server-manager_v1.15.0_linux_x86-64.tar.gz
- ARM64: ..._battle-server-manager_v1.15.0_linux_arm64.tar.gz
- macOS: ..._battle-server-manager_v1.15.0_mac.tar.gz
- Windows:
- Server:
- Windows:
- 10 (IoT), Server (IoT) 2025 on ARM64: ..._server_v1.15.0_win10_arm64.zip
- 10 (IoT), (Storage) Server 2016, Server IoT 2019 on x86-64: ..._server_v1.15.0_win10_x86-64.zip
- 7, Server 2008 R2, Home Server 2011, Embedded 7 on x86-64: ..._server_v1.15.0_win7_x86-64.zip
- 10 (IoT) on x86-32: ..._server_v1.15.0_win10_x86-32.zip
- 7, Embedded 7, Thin PC on x86-32: ..._server_v1.15.0_win7_x86-32.zip
- Linux:
- ARM64: ..._server_v1.15.0linux...
- Windows:
v1.15.0-rc.1
What's Changed
Full MacOS support
Warning
macOS support is still considered experimental. Please report any issues you encounter.
MacOS is now fully supported even including support for the new native Steam AoE II: DE port. Thus, full, battle-server-manager and launcher archives are provided just like the rest of operating systems.
Notes
- AoE II: DE port does not include the
BattleServerso:- You are unable to create/join lobbies as 'Use Local LAN Server' you must use the 'Default' or configured Online-like Battle Server.
- You will need to get the standalone windows executable from a Windows installation and configure the
battle-server-managerto its path along having installedwineprogram to run it.
- Launcher/Battle Server Manager: need in some moments to run an emergent terminal windows which the default
Terminalapp does not support, thus you will need to have installed one of the following:- Alacritty (recommended).
- Kitty
- Ghostty
- Wezterm
- Rio
- Linux based X11 terminals:
xterm,uxterm,urxvtandst.
General
- 🐧Enhancement: added more modern terminal applications to use (see at the top, just like macOS).
- 🐛 Fix: Properly load environment variables after configuration files.
- 🐛 Fix: Properly handle when a PID lock file does not exist when searching for it.
- 🐛 Fix: Don't show error when closing another program and itself removes the PID lock file.
- 🐛 Fix: Not adding usage
KeyUsageCertSignto the generated CA files. - 🍎🐧🐛 Fix: Do not use
setSidif process is just being waited on. - 🍎🐧🐛 Fix: Properly quote arguments in when running subprograms.
- 🐧🐛 Fix: Remove terminal apps that did not support the '-e' to run commands.
Server
- Enhancement: added old
leaderboards.jsonso old age2 game versions can work (as old as it was supported at the start of the project, ~2024Q2). The user must still manually place them as explained in the folder's README file. - Enhancement: Support new native macOS Steam AoE II: DE game domain
arthurlive-api.worldsedgelink.com. - Enhancement: Add
IgnoreIfExistingparameter togenCertbinary. - 🐛 Fix: fix adv/update not returning proper data for aoe1/aoe2/aoe3/aom
- 🐛 Fix: IPv4 auto in battleserver returning WAN IP as necessary.
Launcher
- 🔝🐛/Enhancement: Now, if required,
config-admin-agentis started at the beginning of the program and ensures by flushing the DNS and Certs cache that all is up-to-date. - Enhancement: Print more information when failing to connect to a server.
- Enhancement: Print more information when failing to add or remove a certificate.
- Enhancement:
Config.Certificate.CanTrustInPcnow defaults to 'auto', which is resolved to 'user' in macOS and 'local' otherwise (as it was before). - 🍎🐧🔝Enhancement: Added support for
Client.Executableas 'steam_crossover' (Steam installed on Crossover). - 🍎🐧🔝Enhancement: Added support for
Client.Executableas 'steam_wine' (Steam installed on Wine). - 🍎🐧Enhancement: Added
Client.Isolation.Pathso the user can specify the path to the game user data, enabling custom path and isolation at the same time. - 🐛 Fix: properly detect when starting a custom launcher if it fails.
- 🍎🐧🐛 Fix: when adding hosts comment out mappings to the hostname that can cause the system being to unable to host a LAN lobby.
- 🍎🐧🐛 Fix: Not getting the correctly data path for AoE IV: AE on wine-based systems.
- 🐧🐛 Fix: properly detect when
xdg-openfails to open the Steam URI. - 🚧 Update: Moved
Client.IsolateMetadataandClient.IsolateProfilesparameters to ownClient.Isolationsection and renamed asClient.Isolation.MetadataandClient.Isolation.Profilesrespectively.
Battle Server Manager
- Enhancement: Pass
publicPortargument toBattleServer.exe(same asBsPort). - Enhancement: Removed
SSLconfig section. NowCertsPathis defined which it is either 'auto' or a path to the certificate folder containing the appropriate .pem files per game. - 🍎🐧Enhancement: When starting the
BattleServer.exewait 20s extra seconds as they might need to boot wine. - 🐛 Fix: not properly generating the ports depending on which were already set.
- 🍎🐧🐛 Fix: wine fixes when starting
BattleServer.exe.
Other
- Enhancement: added dockerfile and compose for
battle-server-manager. - 🚧 Update:
release_public.key - 🐛 Fix: fixed Server dockerfile.
Developer changes
- 🔝Enhancement: Added mocks for game launcher, the game itself and
BattleServer.exeto easy develop and test (specially on non-Windows systems). - Enhancement: All binaries now use the standard system for arguments and config.
- Enhancement: Added
config-helpermodule as means to interop for getting profile/game info on non-Windows systems viawine. - Enhancement:
battle-server-broadcastmodule now hasValidData(data []byte, length int) boolmethod and exportsHeader,GuidLength,PortSizeandMinimumSize. - 🐛 Fix: cache missing in some debug tasks.
- 🚧 Update: Go from 1.26.3 to 1.26.5.
- 🚧 Update: Dependencies (program and CI).
- 🚧 Update: Removed cobra dependency left-over from launcher.
What's coming in the future?
See this.
Sponsors/Donations
- @codabrink (GitHub monthly sponsor).
- B. Stack (one-time donation)
- Skoop (one-time donation)
- Ghoulette (one-time donation)
There are multiples ways to help: starring the repo, spreading the word, contributing to the repository, making an issue report, sponsoring me monthly or a one-time donation!
See Github differences in v1.14.0...v1.15.0-rc.1
Files
The following assets are directly compiled and listed next to the release notes:
- Full:
- Windows:
- 10 on x86-64: ..._full_v1.15.0_win10_x86-64.zip
- 7 on x86-64: ..._full_v1.15.0_win7_x86-64.zip
- 11 on ARM: ..._full_v1.15.0_win11_arm64.zip
- Linux:
- x86-64: ..._full_v1.15.0_linux_x86-64.tar.gz
- ARM64: ..._full_v1.15.0_linux_arm64.tar.gz
- macOS: ..._full_v1.15.0_mac.tar.gz
- Windows:
- Launcher:
- Windows:
- 10 on x86-64: ..._launcher_v1.15.0_win10_x86-64.zip
- 7 on x86-64: ..._launcher_v1.15.0_win7_x86-64.zip
- 11 on ARM: ..._launcher_v1.15.0_win11_arm64.zip
- Linux:
- x86-64: ..._launcher_v1.15.0_linux_x86-64.tar.gz
- ARM64: ..._launcher_v1.15.0_linux_arm64.tar.gz
- macOS: ..._launcher_v1.15.0_mac.tar.gz
- Windows:
- Battle Server Manager:
- Windows:
- 10 on x86-64: ..._battle-server-manager_v1.15.0_win10_x86-64.zip
- 7 on x86-64: ..._battle-server-manager_v1.15.0_win7_x86-64.zip
- 11 on ARM: ..._battle-server-manager_v1.15.0_win11_arm64.zip
- Linux:
- x86-64: ..._battle-server-manager_v1.15.0_linux_x86-64.tar.gz
- ARM64: ..._battle-server-manager_v1.15.0_linux_arm64.tar.gz
- macOS: ..._battle-server-manager_v1.15.0_mac.tar.gz
- Windows:
- Server:
- Windows:
- 10 (IoT), Server (IoT) 2025 on ARM64: ..._server_v1.15.0_win10_arm64.zip
- 10 (IoT), (Storage) Server 2016, Server IoT 2019 on x86-64: ..._server_v1.15.0_win10_x86-64.zip
- 7, Server 2008 R2, Home Server 2011, Embedded 7 on x86-64: ..._server_v1.15.0_win7_x86-64.zip
- 10 (IoT) on x86-32: ..._server_v1.15.0_win10_x86-32.zip
- 7, Embedded 7, Thin PC on x86-32: ..._server_v1.15.0_win7_x86-32.zip
- Linux:
- ARM64: ..._server_v1.15.0_linux_arm64.tar.gz
- ARM32:
- ARMv5 (armel): ..._server_v1.15.0_linux_arm-5.tar.gz
- ARMv6 (sometimes called armhf): ..._server_v1.15.0_linux_arm-6.tar.gz
- x86-64: ..._server_v1.15.0_linux_x86-64.tar.gz
- x86-32: ..._server_v1.15.0_linux_x86-32.tar.gz
- macOS: ..._server_v1.15.0_mac.tar.gz
- Windows:
Note: If you are using Antivirus it may flag one or more executables as virus, this is a false positive.
Verification
The verification process ensures that the files you download are the same as the ones that were uploaded by the
maintainer.
- Download the
ageLANLanServer_v1.15.0_checksums.txtandageLANLanServer_v1.15.0_checksums.txt.sigfiles. - Import the release public key and import it to your keyring if you haven't already.
- Verify the
ageLANServer_v1.15.0_checksums.txtfile with theageLANLanServer_v1.15.0_checksums.txt.sigfile. - Verify the SHA-256 checksum list inside
ageLANServer_v1.15.0_checksums.txtwith the downloaded archives.
Simplest way to use it
- Download the proper full asset.
- Uncompress it somewhere.
- Windows Optional: You may need to add the launcher/server binaries to the exception list of your Antivirus.
- Windows Optional: Unblock the
.exefiles as explained here - If not using the Steam or Xbox launcher, edit the
launcher/resources/config.<game_title>.tomlfile with a text editor (like Notepad) and modify theClient.Executablesection to point to the game launcher path. In this case, you also need to modifyClient.Pathto point to the game's directory. You will need to use a custom launcher (plus what my other repo provides) for 100% offline play. - If you are using a custom launcher or native AoE II: DE on mac (or you are using AoE IV/AoM and don't have AoE II: DE installed) edit t...
v1.14.1
What's Changed
Server
- 🔝 Enhancement: updated AoE IV data for 16.1.9737 update (Yue Fei's Legacy DLC).
- 🔝 Enhancement: updated AoM data for 19.11687 update (post Obsidian Mirror DLC).
Launcher
- Enhancement: improved UTF-8 (no BOM) encoding in hosts.
- 🐛 Fix: potential panic when printing error if config-admin-agent fails to start.
- 🐛 🪟 Fix: UTF-8 (BOM) encoding/decoding in hosts.
Other
- Enhancement: Updated Go from 1.26.2 to 1.26.3.
- Enhancement: Updated dependencies.
- Enhancement: Removed dead code and simplified some conditions.
- Update: Change windows 7 compatible Go binary from thongtech/go-legacy-win7 to XTLS/go-win due to delays releasing new versions.
What's coming in the future?
See this.
Sponsors/Donations
- @codabrink (GitHub monthly sponsor). See his AoE-Archiver that enables easy auto-configuration of this project in combination with the companion and steam emu for AoE II: DE on Windows!
- Skoop (one-time donation)
- Ghoulette (one-time donation)
There are multiples ways to help: starring the repo, spreading the word, contributing to the repository, making an issue report, sponsoring me monthly or a one-time donation!
See full comparison: v1.14.0...v1.14.1
Files
The following assets are directly compiled and listed next to the release notes:
- Full:
- Windows:
- 10 on x86-64: ..._full_v1.14.1_win10_x86-64.zip
- 7 on x86-64: ..._full_v1.14.1_win7_x86-64.zip
- 11 on ARM: ..._full_v1.14.1_win11_arm64.zip
- Linux:
- x86-64: ..._full_v1.14.1_linux_x86-64.tar.gz
- ARM64: ..._full_v1.14.1_linux_arm64.tar.gz
- Windows:
- Launcher:
- Windows:
- 10 on x86-64: ..._launcher_v1.14.1_win10_x86-64.zip
- 7 on x86-64: ..._launcher_v1.14.1_win7_x86-64.zip
- 11 on ARM: ..._launcher_v1.14.1_win11_arm64.zip
- Linux:
- x86-64: ..._launcher_v1.14.1_linux_x86-64.tar.gz
- ARM64: ..._launcher_v1.14.1_linux_arm64.tar.gz
- Windows:
- Battle Server Manager:
- Windows:
- 10 on x86-64: ..._battle-server-manager_v1.14.1_win10_x86-64.zip
- 7 on x86-64: ..._battle-server-manager_v1.14.1_win7_x86-64.zip
- 11 on ARM: ..._battle-server-manager_v1.14.1_win11_arm64.zip
- Linux:
- x86-64: ..._battle-server-manager_v1.14.1_linux_x86-64.tar.gz
- ARM64: ..._battle-server-manager_v1.14.1_linux_arm64.tar.gz
- Windows:
- Server:
- Windows:
- 10 (IoT), Server (IoT) 2025 on ARM64: ..._server_v1.14.1_win10_arm64.zip
- 10 (IoT), (Storage) Server 2016, Server IoT 2019 on x86-64: ..._server_v1.14.1_win10_x86-64.zip
- 7, Server 2008 R2, Home Server 2011, Embedded 7 on x86-64: ..._server_v1.14.1_win7_x86-64.zip
- 10 (IoT) on x86-32: ..._server_v1.14.1_win10_x86-32.zip
- 7, Embedded 7, Thin PC on x86-32: ..._server_v1.14.1_win7_x86-32.zip
- Linux:
- ARM64: ..._server_v1.14.1_linux_arm64.tar.gz
- ARM32:
- ARMv5 (armel): ..._server_v1.14.1_linux_arm-5.tar.gz
- ARMv6 (sometimes called armhf): ..._server_v1.14.1_linux_arm-6.tar.gz
- x86-64: ..._server_v1.14.1_linux_x86-64.tar.gz
- x86-32: ..._server_v1.14.1_linux_x86-32.tar.gz
- macOS - Monterey (v12): ..._server_v1.14.1_mac.tar.gz
- Windows:
Note: If you are using Antivirus it may flag one or more executables as virus, this is a false positive.
Verification
The verification process ensures that the files you download are the same as the ones that were uploaded by the
maintainer.
- Download the
ageLANLanServer_v1.14.1_checksums.txtandageLANLanServer_v1.14.1_checksums.txt.sigfiles. - Import the release public key and import it to your keyring if you haven't already.
- Verify the
ageLANServer_v1.14.1_checksums.txtfile with theageLANLanServer_v1.14.1_checksums.txt.sigfile. - Verify the SHA-256 checksum list inside
ageLANServer_v1.14.1_checksums.txtwith the downloaded archives.
Simplest way to use it
- Download the proper full asset.
- Uncompress it somewhere.
- Windows Optional: You may need to add the launcher/server binaries to the exception list of your Antivirus.
- Windows Optional: Unblock the
.exefiles as explained here - If not using the Steam or Xbox launcher, edit the
launcher/resources/config.<game_title>.tomlfile with a text editor (like Notepad) and modify theClient.Executablesection to point to the game launcher path. In this case, you also need to modifyClient.Pathto point to the game's directory. You will need to use a custom launcher (plus what my other repo provides) for 100% offline play. - If you are using a custom launcher, (or you are using AoE IV/AoM and don't have AoE II: DE installed) edit the
battle-server-manager/resources/config.<game_title>.tomlfile and pointExecutable.Pathto the game's "BattleServer.exe" (or specifically AoE II: DE one for AoM) executable (it's portable), for example, 'S:\SteamLibrary\steamapps\common\AoE2DE\BattleServer\BattleServer.exe'. - Execute
launcher/start_<game_title>script: 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 (except the point 6) 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 be prompted to connnect to it.
- In the game, just host a new lobby via the Multiplayer section. 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. If the game allows, you can share the link to join the lobby automatically (only works if already in-game).
Help
Look for the Troubleshooting if you have any issues (or QA for any doubt), create an issue or look for other related issues.