Skip to content

v1.14.0-rc.1

Pre-release
Pre-release

Choose a tag to compare

@github-actionsgithub-actions released this 08 Apr 19:59
· 20 commits to main since this release
Immutable release. Only release title and notes can be modified.
v1.14.0-rc.1
b5d08b9

What's Changed since last stable release

Hosts handling

  • 🔝 Enhancement: Try to detect the encoding of the hosts file to properly read and write it. Before it was assumed it was UTF-8.
  • 🔝 Enhancement: modifying the hosts file comments lines that are not valid or are in conflict with the changes needed to be made ensuring the new mappings take effect but the rest is kept as much as possible, for example, keeping partially valid lines.
  • 🔝 Enhancement: before doing any modification a backup file (hosts.bak) is created.
  • 🔝 Enhancement: restoring of the original hosts entries now has two methods:
    • In-place: the old method but improved to ensure as close to the original file as possible (ensured to work the same). Only applied if the hosts was modified after the backup was made or if the backup does not exist at all.
    • Restore: default method if the backup exists and is up-to-date. Ensures the exact original hosts file is restored.
  • 🔝 🪟 Enhancement: Add UTF-16 support. Some tools or Powershell itself could modify the file changing the standard UTF-8 encoding. This fixes the case where when modifying the hosts file it could become corrupted with mixed encoding.
  • 🆕 🪟 Enhancement: Add many locales specific ANSI support.
  • 🐧 Enhancement: Only allow UTF-8 encoding.
  • 🐧 Enhancement: Only allow up to 256 characters per line for wide compatibility.
  • 🐛 Fix: Ensure hosts are properly read/written using IDNA denormalization/normalization.
  • Enhancement: use the standard file locking mechanism the rest of the project uses.

General

  • 🔝 Enhancement: Migrated poorly maintaned command line arguments (cobra) and configuration (viper) libraries to pflag and koanf respectively to have less indirect dependencies thus better security and less size. This a necessary step in order to support the upcoming GUI configuration programs to save files.
  • Enhancement: Add more checks to ensure an error is returned when trying to run a subprocess with invalid combination of options.
  • 🐛 Fix: api-dr.ageofempires.com (used for Mods) domain support for AoE 4.
  • 🐛🐧 Fix: Running a process with shell and arguments.
  • 🐛🐧 Fix: Waiting for process end when it's not a child process.

Server

  • Enhancement: updated data for AoM that came with Blood and Bones Pack.

Launcher

  • Enhancement: wait up to 1 minute for any running game to exit instead of erroring inmediately.
  • 🐛 Fix: Map old aoeliverelease1-api.worldsedgelink.com and aoeliverelease2-api.worldsedgelink.com domains for AoE 4.
  • 🐛 Fix: config trying to reconnect to config-admin-agent after requesting exit.
  • 🐛 🪟 Fix: failed to run config-admin when logging is enabled and elevation is needed. Logging is disabled instead.
  • 🐛 🐧 Fix: incorrectly detecting that it cannot stop server it started.
  • 🐛 🐧 Fix: delay to continue after failed run of launcher-config-admin-agent (for example if the elevation dialog was denied) introducing unnecessary delay.

Battle Server Manager

  • 🔝 🐧 Enhancement: Run BattleServer.exe using wine before assuming the user has binfmt working for Windows executables.

Other

  • Enhancement: Updated Go from 1.26.0 to 1.26.1.
Developer changes
  • 🐛 Fix: prepare-battle-server-manager task.
  • 🐛 🐧 Fix: debugging tasks.

What's coming in the future?

See this.

Sponsors/Donations

  • Thanks to @codabrink for the continued monthly sponshorship!

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 v1.13.1...v1.14.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.14.0_win10_x86-64.zip
      • 7 on x86-64: ..._full_v1.14.0_win7_x86-64.zip
      • 11 on ARM: ..._full_v1.14.0_win11_arm64.zip
    • Linux:
      • x86-64: ..._full_v1.14.0_linux_x86-64.tar.gz
      • ARM64: ..._full_v1.14.0_linux_arm64.tar.gz
  • Launcher:
    • Windows:
      • 10 on x86-64: ..._launcher_v1.14.0_win10_x86-64.zip
      • 7 on x86-64: ..._launcher_v1.14.0_win7_x86-64.zip
      • 11 on ARM: ..._launcher_v1.14.0_win11_arm64.zip
    • Linux:
      • x86-64: ..._launcher_v1.14.0_linux_x86-64.tar.gz
      • ARM64: ..._launcher_v1.14.0_linux_arm64.tar.gz
  • Battle Server Manager:
    • Windows:
      • 10 on x86-64: ..._battle-server-manager_v1.14.0_win10_x86-64.zip
      • 7 on x86-64: ..._battle-server-manager_v1.14.0_win7_x86-64.zip
      • 11 on ARM: ..._battle-server-manager_v1.14.0_win11_arm64.zip
    • Linux:
      • x86-64: ..._battle-server-manager_v1.14.0_linux_x86-64.tar.gz
      • ARM64: ..._battle-server-manager_v1.14.0_linux_arm64.tar.gz
  • Server:
    • Windows:
      • 10 (IoT), Server (IoT) 2025 on ARM64: ..._server_v1.14.0_win10_arm64.zip
      • 10 (IoT), (Storage) Server 2016, Server IoT 2019 on x86-64: ..._server_v1.14.0_win10_x86-64.zip
      • 7, Server 2008 R2, Home Server 2011, Embedded 7 on x86-64: ..._server_v1.14.0_win7_x86-64.zip
      • 10 (IoT) on x86-32: ..._server_v1.14.0_win10_x86-32.zip
      • 7, Embedded 7, Thin PC on x86-32: ..._server_v1.14.0_win7_x86-32.zip
    • Linux:
      • ARM64: ..._server_v1.14.0_linux_arm64.tar.gz
      • ARM32:
        • ARMv5 (armel): ..._server_v1.14.0_linux_arm-5.tar.gz
        • ARMv6 (sometimes called armhf): ..._server_v1.14.0_linux_arm-6.tar.gz
      • x86-64: ..._server_v1.14.0_linux_x86-64.tar.gz
      • x86-32: ..._server_v1.14.0_linux_x86-32.tar.gz
    • macOS - Monterey (v12): ..._server_v1.14.0_mac.tar.gz

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.

  1. Download the ageLANLanServer_v1.14.0_checksums.txt and ageLANLanServer_v1.14.0_checksums.txt.sig files.
  2. Import the release public key and import it to your keyring if you haven't already.
  3. Verify the ageLANServer_v1.14.0_checksums.txt file with the ageLANLanServer_v1.14.0_checksums.txt.sig file.
  4. Verify the SHA-256 checksum list inside ageLANServer_v1.14.0_checksums.txt with the downloaded archives.

Simplest way to use it

  1. Download the proper full asset.
  2. Uncompress it somewhere.
  3. Windows Optional: You may need to add the launcher/server binaries to the exception list of your Antivirus.
  4. Windows Optional: Unblock the .exe files as explained here
  5. If not using the Steam or Xbox launcher, edit the launcher/resources/config.<game_title>.toml file with a text editor (like Notepad) and modify the Client.Executable section to point to the game launcher path. In this case, you also need to modify Client.Path to point to the game's directory. You will need to use a custom launcher (plus what my other repo provides) for 100% offline play.
  6. 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.athens.toml file and point Executable.Path to 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'.
  7. 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.
  8. 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.
  9. In the game, just host a new lobby via the Multiplayer section. Setting it to public visibility is recommended.
  10. 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.