docs: reflect new script directory layout

This commit is contained in:
uprightbass360
2025-11-09 02:49:48 -05:00
parent a18e315f1f
commit acf2364294
6 changed files with 90 additions and 80 deletions

View File

@@ -35,13 +35,13 @@ AiPlayerbot.MaxRandomBots = 300
```bash
# Apply your custom overrides
./scripts/apply-config.py
./scripts/python/apply-config.py
# Or apply a preset
./scripts/apply-config.py --preset fast-leveling
./scripts/python/apply-config.py --preset fast-leveling
# Preview changes without applying
./scripts/apply-config.py --dry-run
./scripts/python/apply-config.py --dry-run
```
### 3. Restart Server
@@ -114,34 +114,34 @@ Step 5/6: Applying server configuration
### Apply Custom Overrides
```bash
./scripts/apply-config.py
./scripts/python/apply-config.py
```
### Apply a Preset
```bash
# List available presets
./scripts/apply-config.py --list-presets
./scripts/python/apply-config.py --list-presets
# Apply specific preset
./scripts/apply-config.py --preset blizzlike
./scripts/apply-config.py --preset fast-leveling
./scripts/apply-config.py --preset hardcore-pvp
./scripts/apply-config.py --preset casual-pve
./scripts/python/apply-config.py --preset blizzlike
./scripts/python/apply-config.py --preset fast-leveling
./scripts/python/apply-config.py --preset hardcore-pvp
./scripts/python/apply-config.py --preset casual-pve
```
### Advanced Usage
```bash
# Apply only specific conf files
./scripts/apply-config.py --files "worldserver.conf,playerbots.conf"
./scripts/python/apply-config.py --files "worldserver.conf,playerbots.conf"
# Preview changes without applying
./scripts/apply-config.py --dry-run
./scripts/python/apply-config.py --dry-run
# Use different storage path
./scripts/apply-config.py --storage-path /custom/storage
./scripts/python/apply-config.py --storage-path /custom/storage
# Use different overrides file
./scripts/apply-config.py --overrides-file /path/to/custom.conf
./scripts/python/apply-config.py --overrides-file /path/to/custom.conf
```
## ⚙️ Configuration Format
@@ -267,7 +267,7 @@ AutoBalance.MinPlayerReward = 1 # Scale rewards for solo play
### Permission Errors
```bash
# Make sure the script is executable
chmod +x scripts/apply-config.py
chmod +x scripts/python/apply-config.py
# Check file permissions in storage/config/
ls -la storage/config/

View File

@@ -8,7 +8,7 @@
# Strings: Can be quoted or unquoted
# Numbers: Integer or decimal values
#
# After editing this file, run: ./scripts/apply-config.py
# After editing this file, run: ./scripts/python/apply-config.py
# =====================
# Core Server Settings

View File

@@ -2,6 +2,9 @@
This guide provides a complete walkthrough for deploying AzerothCore RealmMaster on your local machine or remote server.
***Note: All :port and credential information is based on default configuration and should be updated based on your settings.***
***If you have any suggestions about how to make this documentation better, please file an issue and I will look into it.***
## Prerequisites
Before you begin, ensure you have:
@@ -193,6 +196,9 @@ The remote deployment process transfers:
- ❌ Build artifacts (source code, compilation files stay local)
### Module Presets
> **⚠️ Warning:** Module preset support is still in progress. The bundled presets have not been fully tested yet—please share issues or suggestions via Discord (`uprightbass360`).
- Define JSON presets in `config/module-profiles/*.json`. Each file contains:
- `modules` (array, required) list of `MODULE_*` identifiers to enable.
- `label` (string, optional) text shown in the setup menu (emoji welcome).
@@ -302,10 +308,10 @@ docker logs ac-mysql -f
docker compose restart ac-worldserver
# Stop all services
./scripts/stop-containers.sh
./scripts/bash/stop-containers.sh
# Start services
./scripts/start-containers.sh
./scripts/bash/start-containers.sh
```
### Management Commands
@@ -361,22 +367,22 @@ http://YOUR_SERVER_IP:4201
./deploy.sh --profile modules # Force custom modules build
# Lower-level module operations
./scripts/stage-modules.sh # Download enabled modules
./scripts/setup-source.sh # Initialize AzerothCore source
./scripts/copy-module-configs.sh # Create module .conf files
./scripts/manage-modules-sql.sh # Execute module SQL scripts
./scripts/bash/stage-modules.sh # Download enabled modules
./scripts/bash/setup-source.sh # Initialize AzerothCore source
./scripts/bash/copy-module-configs.sh # Create module .conf files
./scripts/bash/manage-modules-sql.sh # Execute module SQL scripts
# Management tools
./scripts/deploy-tools.sh # Launch phpMyAdmin + Keira3
./scripts/bash/deploy-tools.sh # Launch phpMyAdmin + Keira3
```
#### Container Management
```bash
# Start specific services
./scripts/start-containers.sh # Start all configured containers
./scripts/bash/start-containers.sh # Start all configured containers
# Stop services gracefully
./scripts/stop-containers.sh # Stop all containers
./scripts/bash/stop-containers.sh # Stop all containers
# Monitor service health
./status.sh # Check realm status
@@ -387,10 +393,10 @@ http://YOUR_SERVER_IP:4201
#### Deployment Verification
```bash
# Quick health check
./scripts/verify-deployment.sh --skip-deploy --quick
./scripts/bash/verify-deployment.sh --skip-deploy --quick
# Full deployment verification
./scripts/verify-deployment.sh
./scripts/bash/verify-deployment.sh
```
#### Cleaning Up
@@ -416,12 +422,8 @@ open http://localhost:8081
docker exec -it ac-mysql mysql -u root -p
# Manual backup operations
./scripts/backup.sh # Create immediate backup
./scripts/restore.sh YYYYMMDD_HHMMSS # Restore from specific backup
# User data backup/import utilities
./scripts/backup-export.sh [output_dir] # Export user accounts & characters
./scripts/backup-import.sh [backup_dir] # Import user data from backup
./scripts/bash/backup-export.sh [output_dir] # Export user accounts & characters
./scripts/bash/backup-import.sh [backup_dir] # Import user data from backup
# View available backups
ls -la storage/backups/

View File

@@ -92,10 +92,10 @@ Comprehensive cleanup with multiple destruction levels and safety checks.
### Container Lifecycle Management
#### `scripts/start-containers.sh` - Service Startup
#### `scripts/bash/start-containers.sh` - Service Startup
Starts all configured containers using appropriate profiles.
#### `scripts/stop-containers.sh` - Graceful Shutdown
#### `scripts/bash/stop-containers.sh` - Graceful Shutdown
Stops all containers with proper cleanup and data protection.
#### `status.sh` - Service Health Monitoring
@@ -107,12 +107,12 @@ Stops all containers with proper cleanup and data protection.
### Database & Backup Management
#### `scripts/backup-export.sh` - User Data Export
#### `scripts/bash/backup-export.sh` - User Data Export
Exports user accounts and character data for migration or backup purposes.
```bash
./scripts/backup-export.sh # Export to ExportBackup_<timestamp>/
./scripts/backup-export.sh /path/to/backup/dir # Export to specific directory
./scripts/bash/backup-export.sh # Export to ExportBackup_<timestamp>/
./scripts/bash/backup-export.sh /path/to/backup/dir # Export to specific directory
```
**Output Structure:**
@@ -123,12 +123,12 @@ ExportBackup_YYYYMMDD_HHMMSS/
└── manifest.json # Backup metadata
```
#### `scripts/backup-import.sh` - User Data Import
#### `scripts/bash/backup-import.sh` - User Data Import
Restores user accounts and characters from backup while preserving world data.
```bash
./scripts/backup-import.sh # Import from ImportBackup/
./scripts/backup-import.sh /path/to/backup # Import from specific directory
./scripts/bash/backup-import.sh # Import from ImportBackup/
./scripts/bash/backup-import.sh /path/to/backup # Import from specific directory
```
**Required Files:**
@@ -138,32 +138,32 @@ Restores user accounts and characters from backup while preserving world data.
### Module Management Scripts
#### `scripts/stage-modules.sh` - Module Staging
#### `scripts/bash/stage-modules.sh` - Module Staging
Downloads and stages enabled modules for source integration.
```bash
./scripts/stage-modules.sh # Stage all enabled modules
./scripts/bash/stage-modules.sh # Stage all enabled modules
```
Called automatically by `build.sh`. Downloads enabled modules from GitHub and prepares them for compilation.
#### `scripts/setup-source.sh` - Source Repository Setup
#### `scripts/bash/setup-source.sh` - Source Repository Setup
Initializes or updates AzerothCore source repositories for compilation.
```bash
./scripts/setup-source.sh # Setup source for current configuration
./scripts/bash/setup-source.sh # Setup source for current configuration
```
Automatically clones the appropriate AzerothCore fork (main or playerbot) based on configuration.
#### `scripts/manage-modules.sh` - Module Management Container
#### `scripts/bash/manage-modules.sh` - Module Management Container
Internal script that runs inside the `ac-modules` container to handle module lifecycle:
- Downloads module source code
- Executes module SQL scripts
- Manages module configuration files
- Tracks installation state
#### `config/module-manifest.json` & `scripts/modules.py`
#### `config/module-manifest.json` & `scripts/python/modules.py`
Central module registry and management system:
- **`config/module-manifest.json`** - Declarative manifest defining all 30+ supported modules with metadata:
- Repository URLs
@@ -171,30 +171,30 @@ Central module registry and management system:
- Build requirements
- SQL scripts and config files
- Dependencies
- **`scripts/modules.py`** - Python helper that reads the manifest and `.env` to:
- **`scripts/python/modules.py`** - Python helper that reads the manifest and `.env` to:
- Generate `modules.env` with enabled module lists
- Determine if rebuild is required
- Provide module metadata to shell scripts
This centralized approach eliminates duplicate module definitions across scripts.
#### `scripts/manage-modules-sql.sh` - Module Database Integration
#### `scripts/bash/manage-modules-sql.sh` - Module Database Integration
Executes module-specific SQL scripts for database schema updates.
#### `scripts/copy-module-configs.sh` - Configuration File Management
#### `scripts/bash/copy-module-configs.sh` - Configuration File Management
Creates module `.conf` files from `.dist.conf` templates for active modules.
```bash
./scripts/copy-module-configs.sh # Create missing module configs
./scripts/bash/copy-module-configs.sh # Create missing module configs
```
### Post-Deployment Automation
#### `scripts/auto-post-install.sh` - Post-Installation Configuration
#### `scripts/bash/auto-post-install.sh` - Post-Installation Configuration
Automated post-deployment tasks including module configuration, service verification, and initial setup.
```bash
./scripts/auto-post-install.sh # Run post-install tasks
./scripts/bash/auto-post-install.sh # Run post-install tasks
```
**Automated Tasks:**
@@ -205,16 +205,16 @@ Automated post-deployment tasks including module configuration, service verifica
### Advanced Deployment Tools
#### `scripts/migrate-stack.sh` - Remote Deployment Migration
#### `scripts/bash/migrate-stack.sh` - Remote Deployment Migration
Exports and transfers locally built images to remote hosts via SSH.
```bash
./scripts/migrate-stack.sh \
./scripts/bash/migrate-stack.sh \
--host docker-server \
--user sam \
--project-dir /home/sam/AzerothCore-RealmMaster
./scripts/migrate-stack.sh \
./scripts/bash/migrate-stack.sh \
--host remote.example.com \
--user deploy \
--port 2222 \
@@ -230,25 +230,25 @@ Exports and transfers locally built images to remote hosts via SSH.
**Note:** Typically called via `./deploy.sh --remote-host` rather than directly.
#### `scripts/deploy-tools.sh` - Management Tools Deployment
#### `scripts/bash/deploy-tools.sh` - Management Tools Deployment
Deploys web-based management tools (phpMyAdmin, Keira3) independently.
```bash
./scripts/deploy-tools.sh # Deploy management tools only
./scripts/bash/deploy-tools.sh # Deploy management tools only
```
#### `scripts/verify-deployment.sh` - Deployment Validation
#### `scripts/bash/verify-deployment.sh` - Deployment Validation
Comprehensive deployment verification with health checks and service validation.
```bash
./scripts/verify-deployment.sh # Full deployment verification
./scripts/verify-deployment.sh --skip-deploy # Verify existing deployment
./scripts/verify-deployment.sh --quick # Quick health check only
./scripts/bash/verify-deployment.sh # Full deployment verification
./scripts/bash/verify-deployment.sh --skip-deploy # Verify existing deployment
./scripts/bash/verify-deployment.sh --quick # Quick health check only
```
### Backup System Scripts
#### `scripts/backup-scheduler.sh` - Automated Backup Service
#### `scripts/bash/backup-scheduler.sh` - Automated Backup Service
Runs inside the backup container to provide scheduled database backups.
**Features:**
@@ -304,22 +304,22 @@ Runs inside the backup container to provide scheduled database backups.
./status.sh --watch
# Stop all services
./scripts/stop-containers.sh
./scripts/bash/stop-containers.sh
# Start services
./scripts/start-containers.sh
./scripts/bash/start-containers.sh
```
#### Backup and Restore Operations
```bash
# Export user data for migration
./scripts/backup-export.sh
./scripts/bash/backup-export.sh
# Import user data from backup
./scripts/backup-import.sh /path/to/backup
./scripts/bash/backup-import.sh /path/to/backup
# Verify deployment health
./scripts/verify-deployment.sh --quick
./scripts/bash/verify-deployment.sh --quick
```
#### Project Cleanup
@@ -387,7 +387,7 @@ docker logs <container-name>
cat .env | grep -v '^#'
# Check module configuration
./scripts/modules.py --list-enabled
./scripts/python/modules.py --list-enabled
```
### Permission Issues

View File

@@ -55,7 +55,7 @@ docker logs ac-modules | grep -A20 -B5 "rebuild"
ls -la "${STORAGE_PATH_LOCAL:-./local-storage}/source/azerothcore/"
# Force source setup
./scripts/setup-source.sh
./scripts/bash/setup-source.sh
```
## Getting Help
@@ -100,12 +100,12 @@ storage/backups/
└── acore_world.sql.gz
# User data import/export
ExportBackup_YYYYMMDD_HHMMSS/ # Created by scripts/backup-export.sh
ExportBackup_YYYYMMDD_HHMMSS/ # Created by scripts/bash/backup-export.sh
├── acore_auth.sql.gz # User accounts
├── acore_characters.sql.gz # Character data
└── manifest.json
ImportBackup/ # Used by scripts/backup-import.sh
ImportBackup/ # Used by scripts/bash/backup-import.sh
├── acore_auth.sql[.gz] # Required: accounts
├── acore_characters.sql[.gz] # Required: characters
└── acore_world.sql[.gz] # Optional: world data

View File

@@ -31,7 +31,7 @@ Add your own overrides by dropping a `.yml` file into `compose-overrides/` with
### Module Layout
- **Manifest**: `config/module-manifest.json` tracks every supported module (type, repo, dependencies). Edit this if you need to add or update modules—`scripts/modules.py` and all container helpers consume it automatically.
- **Manifest**: `config/module-manifest.json` tracks every supported module (type, repo, dependencies). Edit this if you need to add or update modules—`scripts/python/modules.py` and all container helpers consume it automatically.
- **Presets**: `config/module-profiles/*.json` replaces the old `profiles/*.json`. Each preset defines a `modules` list plus optional `label/description/order`, and `setup.sh` surfaces them in the module-selection menu or via `--module-config <name>`.
Because the manifest/preset locations mirror the upstream structure conceptually, experienced users can jump straight into editing those files without re-learning the workflow.
@@ -77,8 +77,8 @@ services:
| MySQL container with bind-mounted storage | `ac-mysql` + `ac-storage-init` | Bind mounts live under `storage/` and `local-storage/`; tmpfs keeps runtime data fast and is checkpointed to disk automatically. |
| Manual DB import container | `ac-db-import` & `ac-db-init` | Automatically imports schemas or restores from backups; disable by skipping the `db` profile if you truly want manual control. |
| World/Auth servers with optional DBC overrides | `ac-authserver-*` / `ac-worldserver-*` | Profile-based builds cover vanilla, playerbots, and custom module binaries. DBC overrides go into the shared client data mount just like upstream. |
| Client data bind mounts | `ac-client-data-standard` (or `-playerbots`) | Runs `scripts/download-client-data.sh`, caches releases, and mounts them read-only into the worldserver. |
| Optional helpers (phpMyAdmin, scripts) | `ac-phpmyadmin`, `ac-keira3`, `scripts/*.sh` | Enable via `--profile tools`. Credentials still come from `MYSQL_ROOT_PASSWORD`, identical to upstream instructions. |
| Client data bind mounts | `ac-client-data-standard` (or `-playerbots`) | Runs `scripts/bash/download-client-data.sh`, caches releases, and mounts them read-only into the worldserver. |
| Optional helpers (phpMyAdmin, scripts) | `ac-phpmyadmin`, `ac-keira3`, `scripts/bash/*.sh` | Enable via `--profile tools`. Credentials still come from `MYSQL_ROOT_PASSWORD`, identical to upstream instructions. |
For a full architecture diagram, cross-reference [README → Architecture Overview](../README.md#architecture-overview).
@@ -90,8 +90,8 @@ The upstream document introduced `up.sh`, `down.sh`, and `boot.sh`. RealmMaster
1. **Configure** `./setup.sh` (interactive `.env` generator). Mirrors creating `docker-compose.override.yml` without editing YAML.
2. **Build (optional)** `./build.sh` compiles images when playerbots or C++ modules are enabled, as described in [README → Getting Started → Step 2](../README.md#getting-started). Skip if you only need vanilla binaries.
3. **Deploy** `./deploy.sh` chooses the right profile and runs `docker compose up -d --build`, equivalent to the upstream `up.sh`.
4. **Stop** `./scripts/stop-containers.sh` or `docker compose down` (from the README [Management Commands](../README.md#management-commands)), matching the upstream `down.sh`.
5. **Reboot** run `./scripts/stop-containers.sh && ./scripts/start-containers.sh`, similar to their `boot.sh`.
4. **Stop** `./scripts/bash/stop-containers.sh` or `docker compose down` (from the README [Management Commands](../README.md#management-commands)), matching the upstream `down.sh`.
5. **Reboot** run `./scripts/bash/stop-containers.sh && ./scripts/bash/start-containers.sh`, similar to their `boot.sh`.
6. **Status & Logs** `./status.sh` summarizes container health and exposed ports (see [README → Management & Operations → Common Workflows](../README.md#management--operations)).
If you still prefer tiny wrappers, feel free to recreate the original scripts pointing at our compose file:
@@ -100,9 +100,17 @@ If you still prefer tiny wrappers, feel free to recreate the original scripts po
#!/usr/bin/env bash
set -euo pipefail
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")"/.. && pwd)"
if [ -f "${PROJECT_DIR}/.env" ]; then
set -a
source "${PROJECT_DIR}/.env"
set +a
else
echo "Missing ${PROJECT_DIR}/.env" >&2
exit 1
fi
docker compose -f "${PROJECT_DIR}/docker-compose.yml" \
--profile services-standard \
-p "${COMPOSE_PROJECT_NAME:-azerothcore-realmmaster}" up -d --build
-p "${COMPOSE_PROJECT_NAME}" up -d --build
```
@@ -115,10 +123,10 @@ start:
@./deploy.sh
stop:
@./scripts/stop-containers.sh
@./scripts/bash/stop-containers.sh
boot:
@./scripts/stop-containers.sh && ./deploy.sh
@./scripts/bash/stop-containers.sh && ./deploy.sh
boot.log:
@./deploy.sh && docker logs -f ac-worldserver ||: