v1.15.0-rc.1
Pre-releaseWhat'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 the
battle-server-manager/resources/config.athens.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.