Aloys-Launcher
Description and little theory
Modified version derived from the Arctium WoW-Launcher with some great new features under GPLv3.
Currently I externalized CDN links for versions and cdns file. Also the certs for adding own self signed certs to the launcher and server.(needed to be fully implemented)
These files are needed for real independency from any servers. The actual Arctium WoW Launcher does link hardcoded to it's own CDN and hardcodes the certs, but this is crap. It's not good to be dependent from anothers server and hardcoded certs. The self signed TrinityCore certs are in the src and best known, so anyone can decrypt the connection. With own self signed certs, you are secure.
Do you want dependency from a random person? Sure, you won't! So, here is my solution, the real deal, for self-sufficiency.
You can host the CDN files with local httpd included in the companiontool on localhost.
CDN-files must match with the actual .build.info. If there are problems, update WoW, kill agent and battle.net with taskmgr, so the .build.info will not be deleted and download the CDN files with built-in downloadfunction. Then .build.info and CDN files have the correct hashes. The best is, update/install WoW and download CDN files with CDN Downloadfunction from the Companiontool directly after this and both will match.
The files
- cdns.conf contains the link to the cdns file - max 32 chars
- versions.conf contains the link to the versions file - max 36 chars
- certs.conf contains the certs base64 coded
For getting the cdn files, you can use my https://github.com/V-Cyberpunk/Linux-Server-Toolscripts/blob/main/mk_cdn.sh script or the CDN-Files downloadfunction in Aloys Companion.
Companiontool
The Companiontool administrates CDN links, portal link and certs for Retail, Classic and Classic-Era
Compiling and usage
Compiling and options are the same like in the original project.
Here are the relevant parts from the original README and modified for my version:
IMPORTANT NOTE FOR LOCAL DEVELOPMENT & SERVER CONNECTIONS
- LOCAL HOSTNAME & IP:
USE
the--dev
command line parameter to to avoid issues with invalid certificate chains. - EXTERNAL HOSTNAME:
DO NOT
use the--dev
command line parameter.USE
a valid certificate matching your authentication/bnet server host name.- That certificate needs to be loaded by the authentication/bnet server too.
- EXTERNAL IP:
NOT SUPPORTED
Supported Game Versions (Windows x86 64 bit)
- Dragonflight: 10.x
- Shadowlands: 9.x
- Classic BC/WotLK: 2.5.x, 3.4.x (--version Classic)
- Classic Era: 1.14.x (--version ClassicEra)
Building
Build Prerequisites
- .NET Core SDK 7.0.0 or later
- Optional for native builds: C++ workload through Visual Studio 2022 or latest C++ build tools
Build Instructions Windows (native)
- Available runtime identifiers/platforms: win-x64/x64, win-arm64/ARM64
- Available release configurations: Release, ReleaseSilentMode, ReleaseCustomFiles, ReleaseCustomFilesSilentMode
- Execute
dotnet publish -r RuntimeIdentifier -c Configuration -p:platform="Platform"
- Native output is placed in
build\Configuration\bin\native
Usage
Windows Usage
- Copy
Aloys WoW Launcher.exe
to your World of Warcraft folder. - Optional: Edit the
WTF/Config.wtf
to set your portal or use a different config file with the-config Config2.wtf
launch arg. - Run the
Aloys WoW Launcher.exe
Static Auth Seed Usage
- Use the --staticseed launch parameter
- On server side add
179D3DC3235629D07113A9B3867F97A7
as auth seed in the database.
Custom File Loading Usage
- Get or create your own file mapping (.txt) file(s) and place it in the
mappings
folder. File Format:fileId;filePath
- Place your custom files (mods) in the
files
folder. Be sure to follow the correct folder structure.
File mapping sources
Launch Parameters
- Use --help
WARNING
DO NOT USE THIS AS BASE FOR ANY OFFICIAL SERVER TOOLS. IT WILL GET YOU BANNED THERE!!!
Please do NOT remove the name aloys
from the final binary.