Installation (Windows 5xx)

From Project Skyfire
Jump to navigation Jump to search


Installation Guide (Windows)

Introduction

This page covers the Windows prerequisites and build steps for the current SkyFire_548 source tree.

  • The current build requires a C++23-capable MSVC compiler, Boost 1.91.0, OpenSSL 4.0.0 with the legacy provider module, and MySQL client development libraries.
  • ACE is no longer required.
  • The commands below assume a 64-bit Windows host and install or stage the server in C:\SkyFire_Files\Server. Adjust paths if your local layout is different.

Software Required

  • Windows 10, Windows 11, Windows Server 2022, or Windows Server 2025, 64-bit.
  • Git for Windows.
  • Visual Studio 2022 Community, Professional, Enterprise, or Build Tools.
    • Install the Desktop development with C++ workload.
    • Include the MSVC v143 toolset and the Windows 10 or Windows 11 SDK.
    • SkyFire requires MSVC 19.44.35217.0 or newer.
  • CMake 4.1.2 or newer.
  • Boost 1.91.0.
  • OpenSSL 4.0.1, full x64 install, with the legacy provider module.
  • MySQL 9.6.0 or compatible MySQL client development libraries.
    • The tested Windows install is MySQL Server 9.6.
    • The C API development headers and libraries must be installed.
  • SQL client for database work, such as HeidiSQL.

Pro-Tip: Use Winget for Prerequisites

You can quickly install Git, CMake, and Visual Studio 2022 Community via PowerShell using Windows Package Manager:

winget install --id Git.Git -e
winget install --id Kitware.CMake -e
winget install --id Microsoft.VisualStudio.2022.Community -e --override "--passive --wait --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended"

Pro-Tip: Install Chocolatey

Chocolatey is a Windows package manager that will make installing OpenSSL and MySQL much faster in the later steps. To install it, open Windows PowerShell as Administrator and run:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

The CMake files can find several common locations, but these paths match the current project defaults and CI layout:

  • C:\SkyFire_548
  • C:\local\boost_1_91_0
  • C:\Program Files\OpenSSL-Win64
  • C:\tools\mysql\current
  • C:\SkyFire_Files\Server
  • Note: If your OpenSSL installer uses C:\Program Files\OpenSSL-Win64 instead of C:\Program Files\OpenSSL, use that path for OPENSSL_ROOT_DIR.

Install Boost 1.91.0 (Fast Method)

Instead of downloading the source archive and compiling Boost manually, you can save significant time by downloading the precompiled MSVC binaries.

  1. Navigate to the Boost Binaries SourceForge page.
  2. Download the installer matching your toolset, typically boost_1_91_0-msvc-14.3-64.exe.
  3. Run the installer and extract the files to C:\local\boost_1_91_0.

Verify the install: Open Developer PowerShell for Visual Studio 2022 and run:

Test-Path C:\local\boost_1_91_0\

The command should print True. (Note: Depending on the precompiled installer structure, you may need to move the headers up one directory level so they sit directly in C:\local\boost_1_91_0\include\boost).


Install OpenSSL 4.0.1

Install OpenSSL 4.0.1 x64. The CI build uses Chocolatey, which is the fastest way to install the exact version required:

  • Note: Run PowerShell in admin mode
choco install -y openssl --version=4.0.1

Manual installers are also fine if they install the full x64 package. Do not use a light/runtime-only package if it omits development libraries or provider modules.

Verify OpenSSL:

$env:OPENSSL_ROOT_DIR = "C:\Program Files\OpenSSL-Win64"
$env:OPENSSL_MODULES = "C:\Program Files\OpenSSL-Win64\bin"

Test-Path "$env:OPENSSL_ROOT_DIR\include\openssl\ssl.h"
Test-Path "$env:OPENSSL_MODULES\legacy.dll"
Test-Path "$env:OPENSSL_ROOT_DIR\lib\VC\x64\MD\liblegacy.lib"

Each command should print True.


Install MySQL Development Files

Install MySQL Server 9.6 or a compatible MySQL package that includes the C API headers and import libraries. You can also use Chocolatey for this:

choco install -y mysql --version=9.6.0
  • Note: You'll probably see a lot of red, let it finish. It'll be alright

Verify the expected files:

$env:MYSQL_ROOT = "C:\tools\mysql\current"

Test-Path "$env:MYSQL_ROOT\include\mysql.h"
Test-Path "$env:MYSQL_ROOT\lib\libmysql.lib"
Test-Path "$env:MYSQL_ROOT\lib\libmysql.dll"

Each command should print True. If installed elsewhere, set MYSQL_ROOT, MYSQL_HOME, or MYSQL_DIR before running CMake.

Set root password

  1. In command prompt cmd run "C:\tools\mysql\current\bin\mysql_secure_installation.exe"
  2. Hit Enter
  3. Type your password twice
  4. Hit Enter until the prompt closes
  • Note: If prompted for a password when running the secure installation then you have already set a root password and you will need to reset the root password

Pull the Source

Open PowerShell and clone the repository:

cd C:\
git clone -b main https://github.com/ProjectSkyfire/SkyFire_548.git C:\SkyFire_548
cd C:\SkyFire_548

(To update an existing checkout, run git pull --ff-only inside the directory).


Configure with CMake

Set dependency paths in PowerShell:

$env:BOOST_ROOT = "C:\local\boost_1_91_0"
$env:OPENSSL_ROOT_DIR = "C:\Program Files\OpenSSL-Win64"
$env:OPENSSL_MODULES = "C:\Program Files\OpenSSL-Win64\bin"
$env:MYSQL_ROOT = "C:\tools\mysql\current"

Configure a 64-bit Visual Studio solution:

cmake -S C:\SkyFire_548 -B C:\SkyFire_548\build `
  -G "Visual Studio 17 2022" `
  -A x64 `
  -DCMAKE_INSTALL_PREFIX="C:\SkyFire_Files\Server" `
  -DTOOLS=ON `
  -DBOOST_ROOT="$env:BOOST_ROOT" `
  -DOPENSSL_ROOT_DIR="$env:OPENSSL_ROOT_DIR"

Default server and script options are enabled. TOOLS=ON builds the map, vmap, and mmap extraction tools. Add -DNOPCH=1 only if you need to work around a precompiled-header issue while debugging (do not use for normal release builds).

Optional: Using CMake GUI Command-line CMake is recommended, but CMake GUI also works:

  • Where is the source code: C:\SkyFire_548
  • Where to build the binaries: C:\SkyFire_548\build
  • Generator: Visual Studio 17 2022
  • Optional platform: x64

After the first Configure pass, verify or add BOOST_ROOT, OPENSSL_ROOT_DIR, CMAKE_INSTALL_PREFIX, and TOOLS=ON. Set OPENSSL_MODULES in your environment prior to launching the GUI.


Build

From PowerShell:

cmake --build C:\SkyFire_548\build --config Release --parallel

Release build output is written under C:\SkyFire_548\build\bin\Release. Expected server files include:

  • authserver.exe
  • worldserver.exe
  • authserver.conf.dist
  • worldserver.conf.dist
  • libcrypto-4-x64.dll
  • libssl-4-x64.dll
  • libmysql.dll

(Extraction tools will also be located here if TOOLS=ON was used).


Install or Stage the Server Files

Install the main targets automatically:

cmake --install C:\SkyFire_548\build --config Release

Alternative: Copy the Release output directly into your server folder:

New-Item -ItemType Directory -Force C:\SkyFire_Files\Server | Out-Null
Copy-Item C:\SkyFire_548\build\bin\Release\* C:\SkyFire_Files\Server -Recurse -Force

Configuration: Rename the configuration files:

Copy-Item C:\SkyFire_Files\Server\authserver.conf.dist C:\SkyFire_Files\Server\authserver.conf
Copy-Item C:\SkyFire_Files\Server\worldserver.conf.dist C:\SkyFire_Files\Server\worldserver.conf

Edit both config files for your database host, names, bind IPs, ports, and data directory.

If OpenSSL provider loading fails at runtime, set OPENSSL_MODULES for the user running the server (open a new shell after using setx):

setx OPENSSL_MODULES "C:\Program Files\OpenSSL-Win64\bin"

Useful CMake Options

Option Description
-DSERVERS=ON Build worldserver and authserver. Enabled by default.
-DSCRIPTS=ON Build core with scripts included. Enabled by default.
-DTOOLS=ON Build map/vmap/mmap extraction and assembler tools.
-DNOPCH=1 Disable all precompiled headers.
-DUSE_COREPCH=ON Use precompiled headers for core/server targets.
-DUSE_SCRIPTPCH=ON Use precompiled headers for scripts.
-DWITH_WARNINGS=ON Enable extra compiler warnings.
-DWITH_COREDEBUG=ON Include additional core debug code.
-DWITHOUT_GIT=ON Disable git revision detection.
-DAUTH_SERVER=ON Build authserver. Enabled by default.
-DWITH_CXX_23_STD=ON Use C++23. Enabled by default.
-DWITH_CXX_DRAFT_STD=ON Use the compiler draft standard mode.

Troubleshooting

  • MSVC version is too old: SkyFire requires MSVC 19.44.35217.0 or newer. Update Visual Studio, then remove the CMake build directory (Remove-Item -Recurse -Force C:\SkyFire_548\build) and configure again.
  • Boost was not found: Confirm BOOST_ROOT points at Boost 1.91.0, test the path, delete the CMake build directory, and configure again.
  • SkyFire needs OpenSSL version 4.0.0: Set OPENSSL_ROOT_DIR to the OpenSSL 4.0.0 install and reconfigure from a clean build directory.
  • OpenSSL modules or legacy.dll were not found: Set OPENSSL_MODULES to the directory containing legacy.dll. If missing, reinstall the full OpenSSL 4.0.0 x64 package.
  • MySQL headers or libraries were not found: Install the development components, set MYSQL_ROOT, delete the build directory, and configure again.
  • Runtime error for libmysql.dll, libssl, or libcrypto: Copy the DLLs from the build output into the server folder (Copy-Item C:\SkyFire_548\build\bin\Release\*.dll C:\SkyFire_Files\Server -Force), or keep dependency directories on PATH.

Configuration Files

  1. Navigate to C:\SkyFire_files\Server
  2. Rename your configuration files in your server directory by removing the .dist extension so you are left with the following:
  • worldserver.conf
  • authserver.conf

You will need to check and update the SQL login information to match your database settings. Open both files, scroll down to the database sections, and update the connection strings.

The format is always: Host;Port;Username;Password;DatabaseName

In authserver.conf: Locate and update the following line:

LoginDatabaseInfo = "127.0.0.1;3306;root;pass;auth"

In worldserver.conf: Locate and update the following lines:

LoginDatabaseInfo     = "127.0.0.1;3306;root;pass;auth"
WorldDatabaseInfo     = "127.0.0.1;3306;root;pass;world"
CharacterDatabaseInfo = "127.0.0.1;3306;root;pass;characters"

(If you used a different MySQL username or password during the database installation, replace root and pass with your actual credentials).

AUTOMATED: Database install

SkyFire has an automated database installer that takes out the complexity of having to manually import the databases. If you would like to manually import see "Creating the Databases" below

On both authserver and worldserver startup it will auto create and fill all three needed databases auth world and characters

Auth Database Auto Install

  1. Navigate to C:\SkyFire_files\Server
  2. In authserver.conf find:
  • Note: Make sure AutoSetup and AutoCreate are enabled for auto install
  • Note: LoginDatabase.SqlPath will likely be C:/SkyFire_548/sql
#    LoginDatabase.AutoSetup
#        Description: Enables auth database setup and update checks during authserver startup.
#        Important:   Disabled by default. When enabled, setup failures stop startup before the
#                     auth listener is opened.
#        Default:     0 - (Disabled)
#                     1 - (Enabled)

LoginDatabase.AutoSetup = 0

#
#    LoginDatabase.AutoCreate
#        Description: Allows authserver to create the configured auth database when it is missing.
#        Important:   Used only when LoginDatabase.AutoSetup is enabled. The MySQL account must
#                     have permission to create databases.
#        Default:     0 - (Disabled)
#                     1 - (Enabled)

LoginDatabase.AutoCreate = 0

#
#    LoginDatabase.AutoBaseline
#        Description: Records discovered auth update files as already applied when the auth
#                     database is non-empty and the update tracking table does not exist.
#        Important:   Used only when LoginDatabase.AutoSetup is enabled. This is a one-time
#                     bootstrap mode for existing databases. Disable it after the first
#                     successful startup.
#        Default:     0 - (Disabled)
#                     1 - (Enabled)

LoginDatabase.AutoBaseline = 0

#
#    LoginDatabase.SqlPath
#        Description: Root SQL directory used by auth database setup.
#        Example:     "D:/SkyFire/sql" or "/opt/skyfire/sql"
#        Important:   The directory must contain base/auth_database.sql and updates/auth.
#        Default:     "" - (No SQL directory configured)

LoginDatabase.SqlPath = ""


World and Character Database Auto Install

  1. Navigate to the Project SkyFire Releases page: https://github.com/ProjectSkyfire/SkyFire_548/releases
  2. Download the specific release file: SFDB_full_548_24.001_2024_09_04_Release.zip
  3. Extract the contents of this ZIP archive into your main repository folder, specifically into C:\SkyFire_548\sql.
  4. Within Command Prompt cmd run copy C:\SkyFire_548\sql\SFDB_full_548_24.001_2024_09_04_Release\main_db\world\SFDB_full_548_24.001_2024_09_04_Release.sql C:\SkyFire_548\sql\world.sql
  5. Navigate to C:\SkyFire_files\Server
  6. In worldserver.conf find:
  • Note: Make sure AutoSetup and AutoCreate are enabled for auto install
  • Note: WorldDatabase.SqlPath & CharacterDatabase.SqlPath will likely be C:/SkyFire_548/sql
  • Note: Set WorldDatabase.BaseSqlFile = "" to WorldDatabase.BaseSqlFile = "C:\SkyFire_548\sql\world.sql"
#    WorldDatabase.AutoSetup
#        Description: Enables world database setup and update checks during worldserver startup.
#        Important:   Disabled by default. When enabled, setup failures stop startup before the
#                     world listener is opened.
#        Default:     0 - (Disabled)
#                     1 - (Enabled)

WorldDatabase.AutoSetup = 0

#
#    WorldDatabase.AutoCreate
#        Description: Allows worldserver to create the configured world database when it is
#                     missing.
#        Important:   Used only when WorldDatabase.AutoSetup is enabled. The MySQL account must
#                     have permission to create databases.
#        Default:     0 - (Disabled)
#                     1 - (Enabled)

WorldDatabase.AutoCreate = 0

#
#    WorldDatabase.AutoBaseline
#        Description: Records discovered world update files as already applied when the world
#                     database is non-empty and the update tracking table does not exist.
#        Important:   Used only when WorldDatabase.AutoSetup is enabled. This is a one-time
#                     bootstrap mode for existing databases. Disable it after the first
#                     successful startup.
#        Default:     0 - (Disabled)
#                     1 - (Enabled)

WorldDatabase.AutoBaseline = 0

#
#    WorldDatabase.SqlPath
#        Description: Root SQL directory used by world database setup for stored procedures and
#                     world updates.
#        Example:     "D:/SkyFire/sql" or "/opt/skyfire/sql"
#        Important:   The directory must contain base/stored_procs.sql and updates/world.
#        Default:     "" - (No SQL directory configured)

WorldDatabase.SqlPath = ""

#
#    WorldDatabase.BaseSqlFile
#        Description: Full path to the large world database base dump.
#        Example:     "D:/SkyFire/sql/world_database.sql" or
#                     "/opt/skyfire/sql/world_database.sql"
#        Important:   Used only when WorldDatabase.AutoSetup is enabled and the configured world
#                     database is empty. This file is intentionally external because the world
#                     base database is too large for Git.
#        Default:     "" - (No external world base SQL file configured)

WorldDatabase.BaseSqlFile = ""

#
#    CharacterDatabase.AutoSetup
#        Description: Enables character database setup and update checks during worldserver
#                     startup.
#        Important:   Disabled by default. When enabled, setup failures stop startup before the
#                     world listener is opened.
#        Default:     0 - (Disabled)
#                     1 - (Enabled)

CharacterDatabase.AutoSetup = 0

#
#    CharacterDatabase.AutoCreate
#        Description: Allows worldserver to create the configured character database when it is
#                     missing.
#        Important:   Used only when CharacterDatabase.AutoSetup is enabled. The MySQL account
#                     must have permission to create databases.
#        Default:     0 - (Disabled)
#                     1 - (Enabled)

CharacterDatabase.AutoCreate = 0

#
#    CharacterDatabase.AutoBaseline
#        Description: Records discovered character update files as already applied when the
#                     character database is non-empty and the update tracking table does not
#                     exist.
#        Important:   Used only when CharacterDatabase.AutoSetup is enabled. This is a one-time
#                     bootstrap mode for existing databases. Disable it after the first
#                     successful startup.
#        Default:     0 - (Disabled)
#                     1 - (Enabled)

CharacterDatabase.AutoBaseline = 0

#
#    CharacterDatabase.SqlPath
#        Description: Root SQL directory used by character database setup.
#        Example:     "D:/SkyFire/sql" or "/opt/skyfire/sql"
#        Important:   The directory must contain base/characters_database.sql and
#                     updates/characters.
#        Default:     "" - (No SQL directory configured)

CharacterDatabase.SqlPath = ""

MANUAL: Database install (Skip if you setup automated install above)

  1. Navigate to C:\SkyFire_548\sql\create
  2. Right click any blank space within the file explorer and click "Open in Terminal". If PowerShell is your default prompt, type cmd which will open command prompt
  3. Run mysql -u <uname> -p < create_mysql.sql This will create the needed world, auth and characters databases needed later.

Importing World Database

Grab the latest release package directly from GitHub.

  1. Navigate to the Project Skyfire Releases page: https://github.com/ProjectSkyfire/SkyFire_548/releases
  2. Download the specific release file: SFDB_full_548_24.001_2024_09_04_Release.zip
  3. Extract the contents of this ZIP archive into your main repository folder, specifically into C:\SkyFire_548\sql.
  4. Open Database_Installer_Updater.bat found in your newly extracted folder.
  5. Follow the dialog and enter in your info.

Example:

MySQL Server Address (e.g. localhost): localhost
MySQL Username: root
MySQL Password: pass
World Database: world
Port: 3306
  1. Press 1 to install the World Database and all current updates when asked.
  2. Wait for the installer to do its magic. After it is done, press any key to go back to the main menu.
  3. Install locals if you want.
  4. Press X to exit.

Done!

Importing Auth and Characters Database

  1. Navigate to C:\SkyFire_548\sql\base
  2. Right click any blank space within the file explorer and click "Open in Terminal". If PowerShell is your default prompt, type cmd which will open command prompt
  3. Run mysql -u <uname> -p auth < auth_database.sql This will import the base structure for the auth database
  4. Run mysql -u <uname> -p characters < characters_database.sql This will import the base structure for the characters database
  • EXAMPLE: mysql -u root -p auth < auth_database.sql
  • EXAMPLE: mysql -u root -p characters < characters_database.sql

MANUAL: Importing Important Database Structure Updates

  1. Go into your C:\SkyFire_548\sql\updates directory.
  2. Apply updates to their appropriate corresponding databases using your chosen SQL client (such as HeidiSQL).
  • OR
  1. Using cmd run this command mysql -u <uname> -p <database> < <update>.sql
  • EXAMPLE: mysql -u root -p auth < 2026-01-23_auth_00.sql

ALTERNATIVE: One liner PowerShell to install all updates

  1. Open PowerShell
  2. Run Get-ChildItem "C:\SkyFire_548\sql\updates\world\*.sql" | ForEach-Object { Get-Content $_.FullName | mysql -u root -p'password' world }
  • Note: Update 'password' with your mysql root password still using
  • Note: Update the command above for \sql\updates\auth and \sql\updates\characters changing the folder path and the database next to password



Auth Database Accounts and Passwords

It is highly advised you change the passwords or delete these accounts.

  • Note: These may not exist on fresh installs.
User: Administrator
Pass: Administrator

User: Moderator
Pass: Moderator

User: Developer
Pass: Developer

User: Gamemaster
Pass: Gamemaster

User: Player
Pass: Player

Making new accounts

You can make a new account simply by going to your Worldserver console and typing:

account create <accountname> <password>

Raising an account's access/GM level

You can raise an account level simply by going to your Worldserver console and typing:

account set gmlevel <accountname> <gmlevel> <realmid>
  • Example
account set gmlevel test 3 -1

Or you can go into your Auth database via your SQL Client, select account_access and add a new line:

  • id = your account id found under accounts
  • GM/Access Levels: 0 = Regular player, 1 = Gamemaster, 2 = Developer, 3 = Moderator, 4 = Administrator
    • You can only add Administrator (gmlevel 4) with your SQL client
  • RealmID is usually 1 or -1 for all realms

Changing passwords

You can change a password to an account simply by going to your Worldserver console and typing:

account set password <accountname> <newpassword> <newpassword>

Deleting accounts

You can delete an account simply by going to your Worldserver console and typing:

account delete <accountname>

DBC, MAPS, VMAPS, and MMAPS

  • Project Skyfire, for legal reasons, CANNOT and will NOT provide download links to already extracted DBCs, MAPS, VMAPS, or MMAPS... so please do NOT ask!
  • We will, however, help you through the extraction process with step-by-step instructions.
  • Note Contrary to popular belief, your client does NOT have to have been on the live server to extract DBCs, MAPS, VMAPS, or MMAPS.

Prerequisites & Setup

  1. The VERY FIRST THING you need is a WoW client fully patched to version 5.4.8 (build 18414).
  2. Copy mapextractor.exe, vmap4assembler.exe, vmap4extractor.exe, and mmaps_generator.exe from C:\SkyFire_files\Server to your WoW directory (e.g., C:\Program Files (x86)\World of Warcraft).

Manual Extraction Method

  1. Open a command prompt to your WoW directory.
    • To open a command prompt, hold down Shift and right-click inside the folder, then select "Open command window here" or "Open in Terminal".

DBC, DB2, Cameras and Maps:

  1. In your command prompt, type mapextractor.exe and hit enter.
  2. Wait until finished. It should have made four new directories: dbc, db2, maps and cameras...

VMaps:

  1. In your command prompt, type vmap4extractor.exe and hit enter.
  2. Wait until finished. It should have made a new directory named Buildings.
  3. Type vmap4assembler.exe and hit enter.
  4. Wait until finished. It should have populated the vmaps directory.

MMaps:

  1. Run mkdir mmaps
  2. Execute mmaps_generator.exe.
  • Note: The generation of mmaps can take awhile, we have made improvements to the extractor so it should take considerably less time

Completion

  1. Move the newly generated folders (mmaps, db2, cameras, vmaps, dbc, maps) to your server directory (C:\SkyFire_Files\Server).
  2. You may now delete the extraction tools (mapextractor.exe, vmap4assembler.exe, vmap4extractor.exe, mmaps_generator.exe) from your WoW installation directory as you should no longer need them.

Starting the server

  1. Navigate to C:\SkyFire_files\Server
  2. Start authserver.exe
  3. Start worldserver.exe

SkyFire Patcher

Your Wow.exe client will need to be patched before you can properly connect to your server.

Location

The Connection Patcher has been moved into the main repository. If you pulled the source code in Step 4 of the main installation guide, you already have the required project files located at: C:\SkyFire_548\contrib\Client_Patch\

Choose one of the methods below to compile the patcher.

Command Line Compile Method (Fastest)

Since you already have Visual Studio installed, you can build the patcher directly from the Developer PowerShell using MSBuild.

First, ensure you have the .NET Framework 4.8 Developer Pack installed, which is required to compile the patcher. You can install it quickly via the command below:

Start-Process -Wait -Verb RunAs -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe" -ArgumentList "modify --installPath `"C:\Program Files\Microsoft Visual Studio\2022\Community`" --add Microsoft.VisualStudio.Workload.ManagedDesktop --includeRecommended --passive"

Once installed, open Developer PowerShell for Visual Studio 2022 and run:

msbuild "C:\SkyFire_548\contrib\Client_Patch\World of Warcraft Tools.sln" /p:Configuration=Release

Once complete, the patcher executable will be generated in your Release output folder (typically inside C:\SkyFire_548\contrib\Client_Patch\Client Patcher\bin\x64\Release\).

Manual Compile Method (Visual Studio GUI)

  • Note: The patcher is made in C#. You do not need CMake for this step.
  1. Ensure you have the .NET Framework 4.8 SDK/Developer Pack installed (available via the Visual Studio Installer or the Winget command above).
  2. Open World of Warcraft Tools.sln (located in C:\SkyFire_548\contrib\Client_Patch\) using Visual Studio.
  3. Change the Solution Configuration dropdown at the top toolbar to Release.
  4. Ensure the Solution Platform dropdown is set to Any CPU.
  5. Right-click the solution in the Solution Explorer and select Clean Solution.
  6. Right-click the solution and select Build Solution. (This should take less than a minute).

Do not worry if you get minor warnings in the console (such as unused field values) during compilation.

Moving and Patching

  1. Locate your newly compiled patcher executable in the C:\SkyFire_548\contrib\Client_Patch\Client Patcher\bin\x64\Release\ folder.
  2. Move the patcher executable into your WoW directory (e.g., C:\Program Files (x86)\World of Warcraft).
  3. Drag your WoW-64.exe onto the "Connection Patcher.exe":
  4. Press Enter:
  • Note: The tool will automatically make a backup of your original executable (e.g., wow-original.exe).

Play!

  1. Navigate to your WoW install folder (e.g., C:\Program Files (x86)\World of Warcraft).
  2. Navigate to the WTF folder
  3. Open Config.wtf
  4. Update or add SET realmlist "127.0.0.1"
  5. Use your newly patched Wow-64_Patched.exe file to play on your server, and keep the backed-up original Wow.exe if you ever need a clean, unpatched client.

References