alpha-core
is an experimental emulator written in Python for version 0.5.3
of the Friends & Family Alpha of World of Warcraft.
-
In
etc/config
, create a copy ofconfig.yml.dist
and rename it toconfig.yml
.
Edit the file as needed for your setup. -
You need Python 3.9 or higher. Install it from python.org.
-
Generate
.map
and.nav
files- In
config.yml
, configure theExtractor
section by settingwow_root_path
. - Run:
This extracts
python main.py -e
.map
and.nav
files. - After extraction, enable
use_map_tiles
anduse_nav_tiles
in the config.
- In
-
If Python isn't on your PATH (common with Docker or fresh installs), use:
py main.py -e
Note
If you're not using Docker, ensure that Database => Connection
in config.yml
matches your MariaDB credentials.
By default:
username: alphapython
password: alphapython
host: 127.0.0.1
- In
etc/databases
, runcreate_databases.sql
with a root (or equivalent) user. This creates:- User:
alphapython
- Databases:
alpha_realm
,alpha_world
,alpha_dbc
- User:
Note
If you're using Docker and want to use the alphapython
user, you may need to change
'alphapython'@'localhost'
to 'alphapython'@'IPv4OfYourDockerContainer'
in create_databases.sql
if you encounter permission errors.
- Each folder (
dbc
,realm
,world
) inetc/databases
contains:- Base SQL files
- Updates in the
/updates
subfolder
Example:dbc/updates
should be applied to thealpha_dbc
database.
- Install MariaDB.
- Install project requirements:
pip3 install -r requirements.txt
Note
Make sure you're inside the project folder before running commands. Example:
/home/user/GitHub/alpha-core
-
Minimum requirements:
- Docker
19.03+
docker-compose
1.28+
(install withpip3 install docker-compose
if needed)
- Docker
-
Start the containers:
docker-compose up -d
- The project is mounted at
/var/wow
inside the main container. - Access the container:
docker-compose exec main bash
- View logs:
docker-compose logs -f main
- Enable developer mode (hot reload, auto-restart on changes):
docker-compose --profile dev up
- Manually restart the server:
docker-compose restart main
- phpMyAdmin is available at:
http://localhost:8080
.
To wipe and rebuild from scratch (removes custom data, including accounts):
docker-compose up --renew-anon-volumes sql
-
Create
realmlist.wtf
in the same folder asWoW.exe
:SET realmlist "127.0.0.1"
-
(Optional) Clear the cache by adding the following before the
start
command in your batch file:Rmdir /S "WDB"
-
In-game, you may need to click Change Realm to log into your server.
-
On your first login, it is recommended to run:
pwdchange
Follow the on-screen instructions. If you run more than one realm, keep in mind that the username and password are per realm—there is no shared auth server currently.
- Create
wow.ses
. The first and second lines must contain yourusername
andpassword
:username password
- To launch an unmodified client, start
WoWClient.exe
with the-uptodate
parameter (and it's highly recommended to use-windowed
). Example batch file:start WoWClient.exe -uptodate -windowed
- Login Server — requires a
login.txt
file at the WoW root pointing to the login server, e.g.:127.0.0.1:3724
- WoW.exe should be executed with elevated admin rights so it can read/write
wow.ses
. - Update Server (Optional) — requires an
Update.txt
file atWoW/Data
pointing to the update server, e.g.:127.0.0.1:9081
-
Port already in use (MariaDB / Docker):
Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
Make sure port
3306
is not being used by anotherMariaDB
,MySQL
, or similar service. -
Invalid realm list
If you've set the correct information inconfig.yml
but still get this error, the server likely hasn't fully started yet.
Look for a message similar to:2025-08-01 01:11:25 [INFO] [01/08/2025 01:11:25] Alpha Core is now running.
When you see this, it is ready to accept logins.
Important
Due to the age and experimental nature of the 0.5.3
client build, you may experience stability and performance issues. These are client-related and not caused by the core server implementation.
The Alpha Project
does not distribute a client. You will need to obtain a clean 0.5.3
client yourself.
The Alpha Project
Team and Owners do not sponsor or support unofficial public servers. If you use these projects to run an unofficial public server rather than for testing and learning, it is your personal choice.
The Alpha Project
– alpha-core source components are released under the GPL-3.0 license.
alpha-core
is not an official Blizzard Entertainment product and is not affiliated with or endorsed by World of Warcraft or Blizzard Entertainment.