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.distand 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
.mapand.navfiles- In
config.yml, configure theExtractorsection by settingwow_root_path. - Run:
This extracts
python main.py -e
.mapand.navfiles. - After extraction, enable
use_map_tilesanduse_nav_tilesin 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.sqlwith 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/databasescontains:- Base SQL files
- Updates in the
/updatessubfolder
Example:dbc/updatesshould be applied to thealpha_dbcdatabase.
- 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-compose1.28+(install withpip3 install docker-composeif needed)
- Docker
-
Start the containers:
docker-compose up -d
- The project is mounted at
/var/wowinside 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.wtfin the same folder asWoW.exe:SET realmlist "127.0.0.1" -
(Optional) Clear the cache by adding the following before the
startcommand 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:
pwdchangeFollow 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 yourusernameandpassword:username password - To launch an unmodified client, start
WoWClient.exewith the-uptodateparameter (and it's highly recommended to use-windowed). Example batch file:start WoWClient.exe -uptodate -windowed
- Login Server — requires a
login.txtfile 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.txtfile atWoW/Datapointing 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
3306is not being used by anotherMariaDB,MySQL, or similar service. -
Invalid realm list
If you've set the correct information inconfig.ymlbut 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.