mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-13 00:58:34 +00:00
4.6 KiB
4.6 KiB
AzerothCore Deployment & Health Check
This document describes how to use the automated deployment and health check script for the AzerothCore Docker stack.
Quick Start
The script is located in the scripts/ directory and should be run from there:
Full Deployment and Health Check
cd scripts
./deploy-and-check.sh
Health Check Only (Skip Deployment)
cd scripts
./deploy-and-check.sh --skip-deploy
Quick Health Check (Basic Tests Only)
cd scripts
./deploy-and-check.sh --skip-deploy --quick-check
Script Features
Deployment
- Layered Deployment: Deploys database → services → tools layers in correct order
- Dependency Waiting: Waits for each layer to be ready before proceeding
- Error Handling: Stops on errors with clear error messages
- Progress Monitoring: Shows deployment progress and status
Health Checks
- Container Health: Verifies all containers are running and healthy
- Port Connectivity: Tests all external ports are accessible
- Web Service Verification: Validates web interfaces are responding correctly
- Database Validation: Confirms database schemas and realm configuration
- Comprehensive Reporting: Color-coded status with detailed results
Command Line Options
| Option | Description |
|---|---|
--skip-deploy |
Skip the deployment phase, only run health checks |
--quick-check |
Run basic health checks only (faster, less comprehensive) |
--help |
Show usage information |
What Gets Checked
Container Health Status
- ✅ ac-mysql: Database server
- ✅ ac-backup: Automated backup service
- ✅ ac-authserver: Authentication server
- ✅ ac-worldserver: Game world server
- ✅ ac-phpmyadmin: Database management interface
- ✅ ac-keira3: Database editor
Port Connectivity Tests
- Database Layer: MySQL (64306)
- Services Layer: Auth Server (3784), World Server (8215), SOAP API (7778)
- Tools Layer: PHPMyAdmin (8081), Keira3 (4201)
Web Service Health Checks
- PHPMyAdmin: HTTP response and content verification
- Keira3: Health endpoint and content verification
Database Validation
- Schema Verification: Confirms all required databases exist
- Realm Configuration: Validates realm setup
Service URLs and Credentials
Web Interfaces
- 🌐 PHPMyAdmin: http://localhost:8081
- 🛠️ Keira3: http://localhost:4201
Game Connections
- 🎮 Game Server: localhost:8215
- 🔐 Auth Server: localhost:3784
- 🔧 SOAP API: localhost:7778
- 🗄️ MySQL: localhost:64306
Default Credentials
- MySQL: root / azerothcore123
Deployment Process
The script follows this deployment sequence:
1. Database Layer
- Deploys MySQL database server
- Waits for MySQL to be ready
- Runs database initialization
- Imports AzerothCore schemas
- Starts backup service
2. Services Layer
- Deploys authentication server
- Starts client data download/extraction (10-20 minutes)
- Deploys world server (waits for client data)
- Starts module management service
3. Tools Layer
- Deploys PHPMyAdmin database interface
- Deploys Keira3 database editor
Troubleshooting
Common Issues
Port conflicts: If ports are already in use, modify the environment files to use different external ports.
Slow client data download: The initial download is ~15GB and may take 10-30 minutes depending on connection speed.
Container restart loops: Check container logs with docker logs <container-name> for specific error messages.
Manual Checks
# Check container status
docker ps | grep ac-
# Check specific container logs
docker logs ac-worldserver --tail 50
# Test port connectivity manually
nc -z localhost 8215
# Check container health
docker inspect ac-mysql --format='{{.State.Health.Status}}'
Recovery Commands
# Restart specific layer
docker compose -f docker-compose-azerothcore-services.yml restart
# Reset specific service
docker compose -f docker-compose-azerothcore-services.yml stop ac-worldserver
docker compose -f docker-compose-azerothcore-services.yml up -d ac-worldserver
# Full reset (WARNING: destroys all data)
docker compose -f docker-compose-azerothcore-tools.yml down
docker compose -f docker-compose-azerothcore-services.yml down
docker compose -f docker-compose-azerothcore-database.yml down
docker volume prune -f
Script Exit Codes
- 0: All health checks passed successfully
- 1: Health check failures detected or deployment errors
Use the exit code in CI/CD pipelines or automated deployment scripts to determine deployment success.