Add user import/export scripts, improve deploy log gating, and refresh status dashboard metrics

This commit is contained in:
Deckard
2025-10-19 14:24:16 -04:00
parent afc24fc9ec
commit b7a529c8c8
11 changed files with 7913 additions and 3 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,7 @@
{
"generated_at": "2025-10-19T14:18:18-04:00",
"databases": {
"auth": "acore_auth",
"characters": "acore_characters"
}
}

View File

@@ -15,6 +15,7 @@ TARGET_PROFILE=""
WATCH_LOGS=1 WATCH_LOGS=1
KEEP_RUNNING=0 KEEP_RUNNING=0
SKIP_REBUILD=0 SKIP_REBUILD=0
WORLD_LOG_SINCE=""
BLUE='\033[0;34m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; RED='\033[0;31m'; NC='\033[0m' BLUE='\033[0;34m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; RED='\033[0;31m'; NC='\033[0m'
info(){ printf '%b\n' "${BLUE} $*${NC}"; } info(){ printf '%b\n' "${BLUE} $*${NC}"; }
@@ -259,11 +260,54 @@ stage_runtime(){
tail_world_logs(){ tail_world_logs(){
info "Tailing worldserver logs (Ctrl+C to stop)" info "Tailing worldserver logs (Ctrl+C to stop)"
if ! docker logs --follow --tail "${WORLD_LOG_TAIL:-200}" ac-worldserver; then local args=(--follow)
if [ -n "$WORLD_LOG_SINCE" ]; then
args+=(--since "$WORLD_LOG_SINCE")
fi
local tail_opt="${WORLD_LOG_TAIL:-0}"
args+=(--tail "$tail_opt")
if ! docker logs "${args[@]}" ac-worldserver; then
warn "Worldserver logs unavailable; container may not be running." warn "Worldserver logs unavailable; container may not be running."
fi fi
} }
wait_for_worldserver_ready(){
local timeout="${WORLD_READY_TIMEOUT:-180}" start
start="$(date +%s)"
info "Waiting for worldserver to become healthy (timeout: ${timeout}s)"
while true; do
if ! docker ps --format '{{.Names}}' | grep -qx "ac-worldserver"; then
info "Worldserver container is not running yet; retrying..."
else
local health
health="$(docker inspect --format='{{if .State.Health}}{{.State.Health.Status}}{{else}}none{{end}}' ac-worldserver 2>/dev/null || echo none)"
case "$health" in
healthy)
WORLD_LOG_SINCE="$(docker inspect --format='{{.State.StartedAt}}' ac-worldserver 2>/dev/null)"
ok "Worldserver reported healthy"
return 0
;;
none)
if docker inspect --format='{{.State.Status}}' ac-worldserver 2>/dev/null | grep -q '^running$'; then
WORLD_LOG_SINCE="$(docker inspect --format='{{.State.StartedAt}}' ac-worldserver 2>/dev/null)"
ok "Worldserver running (no healthcheck configured)"
return 0
fi
;;
unhealthy)
warn "Worldserver healthcheck reports unhealthy; logs recommended"
return 1
;;
esac
fi
if [ $(( $(date +%s) - start )) -ge "$timeout" ]; then
warn "Timed out waiting for worldserver health"
return 1
fi
sleep 3
done
}
main(){ main(){
show_deployment_header show_deployment_header
@@ -303,8 +347,12 @@ main(){
show_realm_ready show_realm_ready
if [ "$WATCH_LOGS" -eq 1 ]; then if [ "$WATCH_LOGS" -eq 1 ]; then
info "Watching your realm come to life (Ctrl+C to stop watching)" if wait_for_worldserver_ready; then
tail_world_logs info "Watching your realm come to life (Ctrl+C to stop watching)"
tail_world_logs
else
warn "Skipping log tail; worldserver not healthy. Use './status.sh --once' or 'docker logs ac-worldserver'."
fi
else else
ok "Realm deployment completed. Use './status.sh' to monitor your realm." ok "Realm deployment completed. Use './status.sh' to monitor your realm."
fi fi

55
export-user-backup.sh Executable file
View File

@@ -0,0 +1,55 @@
#!/bin/bash
# Export auth and character databases to ExportBackup_<timestamp>/
set -euo pipefail
MYSQL_PW="${MYSQL_ROOT_PASSWORD:-azerothcore123}"
DB_AUTH="${DB_AUTH_NAME:-acore_auth}"
DB_CHAR="${DB_CHARACTERS_NAME:-acore_characters}"
usage(){
cat <<EOF
Usage: ./export-user-backup.sh [output_dir]
Creates a timestamped backup of the auth and character databases.
If output_dir is provided, places the timestamped folder inside it
(default: .).
Outputs:
ExportBackup_YYYYMMDD_HHMMSS/
acore_auth.sql.gz
acore_characters.sql.gz
manifest.json
Services stay online; backup uses mysqldump.
EOF
}
case "${1:-}" in
-h|--help) usage; exit 0;;
esac
DEST_PARENT="${1:-.}"
TIMESTAMP="$(date +%Y%m%d_%H%M%S)"
DEST_DIR="${DEST_PARENT%/}/ExportBackup_${TIMESTAMP}"
mkdir -p "$DEST_DIR"
dump_db(){
local db="$1" outfile="$2"
echo "Dumping $db -> $outfile"
docker exec ac-mysql mysqldump -uroot -p"$MYSQL_PW" "$db" | gzip > "$outfile"
}
dump_db "$DB_AUTH" "$DEST_DIR/acore_auth.sql.gz"
dump_db "$DB_CHAR" "$DEST_DIR/acore_characters.sql.gz"
cat > "$DEST_DIR/manifest.json" <<JSON
{
"generated_at": "$(date --iso-8601=seconds)",
"databases": {
"auth": "$DB_AUTH",
"characters": "$DB_CHAR"
}
}
JSON
echo "Backups saved under $DEST_DIR"

125
import-user-backup.sh Executable file
View File

@@ -0,0 +1,125 @@
#!/bin/bash
# Restore auth and character databases from ImportBackup/ and verify service health.
set -euo pipefail
BACKUP_DIR="${1:-ImportBackup}"
MYSQL_PW="${MYSQL_ROOT_PASSWORD:-azerothcore123}"
DB_AUTH="${DB_AUTH_NAME:-acore_auth}"
DB_CHAR="${DB_CHARACTERS_NAME:-acore_characters}"
DB_WORLD="${DB_WORLD_NAME:-acore_world}"
COLOR_RED='\033[0;31m'
COLOR_GREEN='\033[0;32m'
COLOR_YELLOW='\033[1;33m'
COLOR_RESET='\033[0m'
usage(){
cat <<EOF
Usage: ./import-user-backup.sh [backup_dir]
Restores user accounts and characters from a backup folder.
Default backup directory: ImportBackup/
Required files:
acore_auth.sql or acore_auth.sql.gz
acore_characters.sql or acore_characters.sql.gz
Optional file (will prompt):
acore_world.sql or acore_world.sql.gz
Steps performed:
1. Stop world/auth services
2. Back up current auth/character DBs to manual-backups/
3. Import provided dumps
4. Re-run module SQL to restore customizations
5. Restart services and show status summary
EOF
}
case "${1:-}" in
-h|--help) usage; exit 0;;
esac
log(){ printf '%b\n' "${COLOR_GREEN}$*${COLOR_RESET}"; }
warn(){ printf '%b\n' "${COLOR_YELLOW}$*${COLOR_RESET}"; }
err(){ printf '%b\n' "${COLOR_RED}$*${COLOR_RESET}"; }
require_file(){
local file="$1"
[[ -f "$file" ]] || { err "Missing required backup file: $file"; exit 1; }
}
if [[ ! -d "$BACKUP_DIR" ]]; then
err "Backup directory not found: $BACKUP_DIR"
exit 1
fi
AUTH_DUMP=$(find "$BACKUP_DIR" -maxdepth 1 -name 'acore_auth.sql*' | head -n1 || true)
CHAR_DUMP=$(find "$BACKUP_DIR" -maxdepth 1 -name 'acore_characters.sql*' | head -n1 || true)
WORLD_DUMP=$(find "$BACKUP_DIR" -maxdepth 1 -name 'acore_world.sql*' | head -n1 || true)
require_file "$AUTH_DUMP"
require_file "$CHAR_DUMP"
timestamp(){ date +%Y%m%d_%H%M%S; }
backup_db(){
local db="$1"
local out="manual-backups/${db}-pre-import-$(timestamp).sql"
mkdir -p manual-backups
log "Backing up current $db to $out"
docker exec ac-mysql mysqldump -uroot -p"$MYSQL_PW" "$db" > "$out"
}
restore(){
local db="$1"
local dump="$2"
log "Importing $dump into $db"
case "$dump" in
*.gz) gzip -dc "$dump" ;;
*.sql) cat "$dump" ;;
*) err "Unsupported dump format: $dump"; exit 1;;
esac | docker exec -i ac-mysql mysql -uroot -p"$MYSQL_PW" "$db"
}
log "Stopping world/auth services"
docker stop ac-worldserver ac-authserver >/dev/null || warn "Services already stopped"
backup_db "$DB_AUTH"
restore "$DB_AUTH" "$AUTH_DUMP"
backup_db "$DB_CHAR"
restore "$DB_CHAR" "$CHAR_DUMP"
if [[ -n "$WORLD_DUMP" ]]; then
read -rp "World dump detected (${WORLD_DUMP##*/}). Restore it as well? [y/N]: " ANSWER
if [[ "$ANSWER" =~ ^[Yy]$ ]]; then
backup_db "$DB_WORLD"
restore "$DB_WORLD" "$WORLD_DUMP"
else
warn "Skipping world database restore"
fi
fi
log "Reapplying module SQL patches"
docker compose --profile db --profile modules run --rm \
--entrypoint /bin/sh ac-modules \
-c 'apk add --no-cache bash curl >/dev/null && bash /tmp/scripts/manage-modules.sh >/tmp/mm.log && cat /tmp/mm.log' || warn "Module SQL run exited with non-zero status"
log "Restarting services"
docker start ac-authserver ac-worldserver >/dev/null
sleep 5
count_rows(){
docker exec ac-mysql mysql -uroot -p"$MYSQL_PW" -N -B -e "$1"
}
ACCOUNTS=$(count_rows "SELECT COUNT(*) FROM ${DB_AUTH}.account;")
CHARS=$(count_rows "SELECT COUNT(*) FROM ${DB_CHAR}.characters;")
log "Accounts: $ACCOUNTS"
log "Characters: $CHARS"
./status.sh --once || warn "status.sh reported issues; inspect manually."
log "Import completed."

View File

@@ -0,0 +1,550 @@
-- MySQL dump 10.13 Distrib 8.0.43, for Linux (x86_64)
--
-- Host: localhost Database: acore_auth
-- ------------------------------------------------------
-- Server version 8.0.43
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `account`
--
DROP TABLE IF EXISTS `account`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `account` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'Identifier',
`username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`salt` binary(32) NOT NULL,
`verifier` binary(32) NOT NULL,
`session_key` binary(40) DEFAULT NULL,
`totp_secret` varbinary(128) DEFAULT NULL,
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`reg_mail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`joindate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`last_ip` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '127.0.0.1',
`last_attempt_ip` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '127.0.0.1',
`failed_logins` int unsigned NOT NULL DEFAULT '0',
`locked` tinyint unsigned NOT NULL DEFAULT '0',
`lock_country` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '00',
`last_login` timestamp NULL DEFAULT NULL,
`online` int unsigned NOT NULL DEFAULT '0',
`expansion` tinyint unsigned NOT NULL DEFAULT '2',
`Flags` int unsigned NOT NULL DEFAULT '0',
`mutetime` bigint NOT NULL DEFAULT '0',
`mutereason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`muteby` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`locale` tinyint unsigned NOT NULL DEFAULT '0',
`os` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`recruiter` int unsigned NOT NULL DEFAULT '0',
`totaltime` int unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `idx_username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Account System';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `account`
--
LOCK TABLES `account` WRITE;
/*!40000 ALTER TABLE `account` DISABLE KEYS */;
INSERT INTO `account` VALUES (1,'ARTIMAGE',_binary '<EFBFBD>\ß/g¿\Ù_:\Å /œ¥ZG4ÜŒ:x\ô¼Djf¡hÉ™.',_binary '¦<EFBFBD>4•!–€ ¡ˆ]&|.Jª\È\êfÈ¢ \ÇÌš9(D*„',_binary 'F>\nÅš3 9\Í\Ä4‰TJºÁ<03>9>~&\'\ö@x\Þ\ržHš1²',NULL,'','','2025-10-04 02:21:35','192.168.0.168','192.168.0.168',0,0,'00','2025-10-04 04:34:13',0,2,1,0,'','',0,'Win',0,6678),(2,'HAMSAMMY',_binary ' ±,\ë#z׉T3ù¡oaU\Ê\÷\'\÷=w\Óq\â',_binary '™?¨~! ¦\íÜ—%ýŽ\Z-nr¢Ÿ]”F\ä@%©eû€@A',_binary '<\ð+UtX˜²ÇŒhC\åJv\Ñpj5F*¯®.E}$ki®V \Õ)0p¡',NULL,'','','2025-10-04 03:03:40','192.168.0.152','192.168.0.152',0,0,'00','2025-10-04 04:34:01',0,2,1,0,'','',0,'Win',0,3592);
/*!40000 ALTER TABLE `account` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `account_access`
--
DROP TABLE IF EXISTS `account_access`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `account_access` (
`id` int unsigned NOT NULL,
`gmlevel` tinyint unsigned NOT NULL,
`RealmID` int NOT NULL DEFAULT '-1',
`comment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '',
PRIMARY KEY (`id`,`RealmID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `account_access`
--
LOCK TABLES `account_access` WRITE;
/*!40000 ALTER TABLE `account_access` DISABLE KEYS */;
INSERT INTO `account_access` VALUES (1,3,-1,''),(2,3,-1,'');
/*!40000 ALTER TABLE `account_access` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `account_banned`
--
DROP TABLE IF EXISTS `account_banned`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `account_banned` (
`id` int unsigned NOT NULL DEFAULT '0' COMMENT 'Account id',
`bandate` int unsigned NOT NULL DEFAULT '0',
`unbandate` int unsigned NOT NULL DEFAULT '0',
`bannedby` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`banreason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`active` tinyint unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`id`,`bandate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Ban List';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `account_banned`
--
LOCK TABLES `account_banned` WRITE;
/*!40000 ALTER TABLE `account_banned` DISABLE KEYS */;
/*!40000 ALTER TABLE `account_banned` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `account_muted`
--
DROP TABLE IF EXISTS `account_muted`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `account_muted` (
`guid` int unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier',
`mutedate` int unsigned NOT NULL DEFAULT '0',
`mutetime` int unsigned NOT NULL DEFAULT '0',
`mutedby` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`mutereason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`guid`,`mutedate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='mute List';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `account_muted`
--
LOCK TABLES `account_muted` WRITE;
/*!40000 ALTER TABLE `account_muted` DISABLE KEYS */;
/*!40000 ALTER TABLE `account_muted` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `acore_cms_subscriptions`
--
DROP TABLE IF EXISTS `acore_cms_subscriptions`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `acore_cms_subscriptions` (
`account_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`membership_level` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `acore_cms_subscriptions`
--
LOCK TABLES `acore_cms_subscriptions` WRITE;
/*!40000 ALTER TABLE `acore_cms_subscriptions` DISABLE KEYS */;
/*!40000 ALTER TABLE `acore_cms_subscriptions` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `autobroadcast`
--
DROP TABLE IF EXISTS `autobroadcast`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `autobroadcast` (
`realmid` int NOT NULL DEFAULT '-1',
`id` tinyint unsigned NOT NULL AUTO_INCREMENT,
`weight` tinyint unsigned DEFAULT '1',
`text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`,`realmid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `autobroadcast`
--
LOCK TABLES `autobroadcast` WRITE;
/*!40000 ALTER TABLE `autobroadcast` DISABLE KEYS */;
/*!40000 ALTER TABLE `autobroadcast` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `autobroadcast_locale`
--
DROP TABLE IF EXISTS `autobroadcast_locale`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `autobroadcast_locale` (
`realmid` int NOT NULL,
`id` int NOT NULL,
`locale` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`realmid`,`id`,`locale`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `autobroadcast_locale`
--
LOCK TABLES `autobroadcast_locale` WRITE;
/*!40000 ALTER TABLE `autobroadcast_locale` DISABLE KEYS */;
/*!40000 ALTER TABLE `autobroadcast_locale` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `build_info`
--
DROP TABLE IF EXISTS `build_info`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `build_info` (
`build` int NOT NULL,
`majorVersion` int DEFAULT NULL,
`minorVersion` int DEFAULT NULL,
`bugfixVersion` int DEFAULT NULL,
`hotfixVersion` char(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`winAuthSeed` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`win64AuthSeed` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`mac64AuthSeed` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`winChecksumSeed` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`macChecksumSeed` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`build`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `build_info`
--
LOCK TABLES `build_info` WRITE;
/*!40000 ALTER TABLE `build_info` DISABLE KEYS */;
INSERT INTO `build_info` VALUES (5875,1,12,1,NULL,NULL,NULL,NULL,'95EDB27C7823B363CBDDAB56A392E7CB73FCCA20','8D173CC381961EEBABF336F5E6675B101BB513E5'),(6005,1,12,2,NULL,NULL,NULL,NULL,NULL,NULL),(6141,1,12,3,NULL,NULL,NULL,NULL,NULL,NULL),(8606,2,4,3,NULL,NULL,NULL,NULL,'319AFAA3F2559682F9FF658BE01456255F456FB1','D8B0ECFE534BC1131E19BAD1D4C0E813EEE4994F'),(9947,3,1,3,NULL,NULL,NULL,NULL,NULL,NULL),(10505,3,2,2,'a',NULL,NULL,NULL,NULL,NULL),(11159,3,3,0,'a',NULL,NULL,NULL,NULL,NULL),(11403,3,3,2,NULL,NULL,NULL,NULL,NULL,NULL),(11723,3,3,3,'a',NULL,NULL,NULL,NULL,NULL),(12340,3,3,5,'a',NULL,NULL,NULL,'CDCBBD5188315E6B4D19449D492DBCFAF156A347','B706D13FF2F4018839729461E3F8A0E2B5FDC034'),(13930,3,3,5,'a',NULL,NULL,NULL,NULL,NULL);
/*!40000 ALTER TABLE `build_info` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `ip_banned`
--
DROP TABLE IF EXISTS `ip_banned`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ip_banned` (
`ip` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '127.0.0.1',
`bandate` int unsigned NOT NULL,
`unbandate` int unsigned NOT NULL,
`bannedby` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '[Console]',
`banreason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'no reason',
PRIMARY KEY (`ip`,`bandate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Banned IPs';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `ip_banned`
--
LOCK TABLES `ip_banned` WRITE;
/*!40000 ALTER TABLE `ip_banned` DISABLE KEYS */;
/*!40000 ALTER TABLE `ip_banned` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `logs`
--
DROP TABLE IF EXISTS `logs`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `logs` (
`time` int unsigned NOT NULL,
`realm` int unsigned NOT NULL,
`type` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`level` tinyint unsigned NOT NULL DEFAULT '0',
`string` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `logs`
--
LOCK TABLES `logs` WRITE;
/*!40000 ALTER TABLE `logs` DISABLE KEYS */;
/*!40000 ALTER TABLE `logs` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `logs_ip_actions`
--
DROP TABLE IF EXISTS `logs_ip_actions`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `logs_ip_actions` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'Unique Identifier',
`account_id` int unsigned NOT NULL COMMENT 'Account ID',
`character_guid` int unsigned NOT NULL COMMENT 'Character Guid',
`type` tinyint unsigned NOT NULL,
`ip` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '127.0.0.1',
`systemnote` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'Notes inserted by system',
`unixtime` int unsigned NOT NULL COMMENT 'Unixtime',
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Timestamp',
`comment` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'Allows users to add a comment',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Used to log ips of individual actions';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `logs_ip_actions`
--
LOCK TABLES `logs_ip_actions` WRITE;
/*!40000 ALTER TABLE `logs_ip_actions` DISABLE KEYS */;
/*!40000 ALTER TABLE `logs_ip_actions` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `motd`
--
DROP TABLE IF EXISTS `motd`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `motd` (
`realmid` int NOT NULL,
`text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`realmid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `motd`
--
LOCK TABLES `motd` WRITE;
/*!40000 ALTER TABLE `motd` DISABLE KEYS */;
INSERT INTO `motd` VALUES (-1,'Welcome to an AzerothCore server.');
/*!40000 ALTER TABLE `motd` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `motd_localized`
--
DROP TABLE IF EXISTS `motd_localized`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `motd_localized` (
`realmid` int NOT NULL,
`locale` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`realmid`,`locale`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `motd_localized`
--
LOCK TABLES `motd_localized` WRITE;
/*!40000 ALTER TABLE `motd_localized` DISABLE KEYS */;
/*!40000 ALTER TABLE `motd_localized` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `realmcharacters`
--
DROP TABLE IF EXISTS `realmcharacters`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `realmcharacters` (
`realmid` int unsigned NOT NULL DEFAULT '0',
`acctid` int unsigned NOT NULL,
`numchars` tinyint unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`realmid`,`acctid`),
KEY `acctid` (`acctid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Realm Character Tracker';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `realmcharacters`
--
LOCK TABLES `realmcharacters` WRITE;
/*!40000 ALTER TABLE `realmcharacters` DISABLE KEYS */;
INSERT INTO `realmcharacters` VALUES (1,1,2),(1,2,1);
/*!40000 ALTER TABLE `realmcharacters` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `realmlist`
--
DROP TABLE IF EXISTS `realmlist`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `realmlist` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '127.0.0.1',
`localAddress` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '127.0.0.1',
`localSubnetMask` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '255.255.255.0',
`port` smallint unsigned NOT NULL DEFAULT '8085',
`icon` tinyint unsigned NOT NULL DEFAULT '0',
`flag` tinyint unsigned NOT NULL DEFAULT '2',
`timezone` tinyint unsigned NOT NULL DEFAULT '0',
`allowedSecurityLevel` tinyint unsigned NOT NULL DEFAULT '0',
`population` float NOT NULL DEFAULT '0',
`gamebuild` int unsigned NOT NULL DEFAULT '12340',
PRIMARY KEY (`id`),
UNIQUE KEY `idx_name` (`name`),
CONSTRAINT `realmlist_chk_1` CHECK ((`population` >= 0))
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Realm System';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `realmlist`
--
LOCK TABLES `realmlist` WRITE;
/*!40000 ALTER TABLE `realmlist` DISABLE KEYS */;
INSERT INTO `realmlist` VALUES (1,'AzerothCore','192.168.0.188','127.0.0.1','255.255.255.0',8215,0,2,1,0,0,12340);
/*!40000 ALTER TABLE `realmlist` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `secret_digest`
--
DROP TABLE IF EXISTS `secret_digest`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `secret_digest` (
`id` int unsigned NOT NULL,
`digest` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `secret_digest`
--
LOCK TABLES `secret_digest` WRITE;
/*!40000 ALTER TABLE `secret_digest` DISABLE KEYS */;
/*!40000 ALTER TABLE `secret_digest` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `updates`
--
DROP TABLE IF EXISTS `updates`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `updates` (
`name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'filename with extension of the update.',
`hash` char(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'sha1 hash of the sql file.',
`state` enum('RELEASED','CUSTOM','MODULE','ARCHIVED','PENDING') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'RELEASED' COMMENT 'defines if an update is released or archived.',
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'timestamp when the query was applied.',
`speed` int unsigned NOT NULL DEFAULT '0' COMMENT 'time the query takes to apply in ms.',
PRIMARY KEY (`name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='List of all applied updates in this database.';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `updates`
--
LOCK TABLES `updates` WRITE;
/*!40000 ALTER TABLE `updates` DISABLE KEYS */;
INSERT INTO `updates` VALUES ('2023_04_24_00.sql','D164A70B22B2462464484614018C3218B3259AE4','ARCHIVED','2024-01-20 14:23:45',26),('2024_01_20_00.sql','41678119235D993DEF719C168B20867F781A3A5F','RELEASED','2024-01-20 14:23:45',36),('2024_11_15_00.sql','7F15CD3FF0C3D98918DA8860BC3CFB6B9D5146BB','RELEASED','2024-12-17 21:51:20',93),('2024_12_15_00.sql','8CC811CF48ADF26D279E4A8F2D06AD94C11F43BE','RELEASED','2024-12-17 21:55:57',133),('2025_01_26_00.sql','CA6884F4BDBBC60C08CD52480FD4B3FAC945C3CF','RELEASED','2025-07-19 10:16:14',166),('2025_02_16_00.sql','D59DF568B412F0A17B0ACC5C350420B81C87AAB2','RELEASED','2025-07-19 10:16:15',148),('2025_02_16_01.sql','6788795A29BFD097EE5D00E548EFF3831F9CFBCF','RELEASED','2025-07-19 10:16:15',103),('2025_07_03_00.sql','C28996618006B516134EC7FA4E1D58F2DF410548','RELEASED','2025-07-19 10:16:15',135),('2025_07_24_00.sql','FCC937F180EFFAA5B991D9B7CF9E2223B6C0C4D3','RELEASED','2025-10-04 00:30:46',18);
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `updates_include`
--
DROP TABLE IF EXISTS `updates_include`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `updates_include` (
`path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'directory to include. $ means relative to the source directory.',
`state` enum('RELEASED','ARCHIVED','CUSTOM','PENDING') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'RELEASED' COMMENT 'defines if the directory contains released or archived updates.',
PRIMARY KEY (`path`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='List of directories where we want to include sql updates.';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `updates_include`
--
LOCK TABLES `updates_include` WRITE;
/*!40000 ALTER TABLE `updates_include` DISABLE KEYS */;
INSERT INTO `updates_include` VALUES ('$/data/sql/archive/db_auth','ARCHIVED'),('$/data/sql/custom/db_auth','CUSTOM'),('$/data/sql/updates/db_auth','RELEASED'),('$/data/sql/updates/pending_db_auth','PENDING');
/*!40000 ALTER TABLE `updates_include` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `uptime`
--
DROP TABLE IF EXISTS `uptime`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `uptime` (
`realmid` int unsigned NOT NULL,
`starttime` int unsigned NOT NULL DEFAULT '0',
`uptime` int unsigned NOT NULL DEFAULT '0',
`maxplayers` smallint unsigned NOT NULL DEFAULT '0',
`revision` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'AzerothCore',
PRIMARY KEY (`realmid`,`starttime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Uptime system';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `uptime`
--
LOCK TABLES `uptime` WRITE;
/*!40000 ALTER TABLE `uptime` DISABLE KEYS */;
INSERT INTO `uptime` VALUES (1,1721169877,0,0,'AzerothCore rev. bdf204f1eb0c 2024-07-16 16:28:59 +0000 (time-for-A-SQUASH branch) (Win64, RelWithDebInfo, Static)'),(1,1734468956,0,0,'AzerothCore rev. 2923a4aa43d0 2024-12-17 12:28:46 -0300 (master branch) (Win64, RelWithDebInfo, Static)'),(1,1734470333,0,0,'AzerothCore rev. 2923a4aa43d0 2024-12-17 12:28:46 -0300 (master branch) (Win64, RelWithDebInfo, Static)'),(1,1734471110,0,0,'AzerothCore rev. 2923a4aa43d0 2024-12-17 12:28:46 -0300 (master branch) (Win64, RelWithDebInfo, Static)'),(1,1752912822,0,0,'AzerothCore rev. 9415d1bef80d 2025-07-05 11:29:15 +0200 (whisper-something-something branch) (Win64, RelWithDebInfo, Static)'),(1,1752913079,0,0,'AzerothCore rev. 9415d1bef80d 2025-07-05 11:29:15 +0200 (whisper-something-something branch) (Win64, RelWithDebInfo, Static)'),(1,1752919589,0,0,'AzerothCore rev. 9415d1bef80d 2025-07-05 11:29:15 +0200 (whisper-something-something branch) (Win64, RelWithDebInfo, Static)'),(1,1759539715,1209,0,'AzerothCore rev. b82857748ee7+ 2025-09-22 15:04:50 -0300 (master branch) (Unix, RelWithDebInfo, Static)'),(1,1759541210,1808,0,'AzerothCore rev. b82857748ee7+ 2025-09-22 15:04:50 -0300 (master branch) (Unix, RelWithDebInfo, Static)'),(1,1759543594,24609,2,'AzerothCore rev. b82857748ee7+ 2025-09-22 15:04:50 -0300 (master branch) (Unix, RelWithDebInfo, Static)'),(1,1760897078,0,0,'AzerothCore rev. 1424995f3bc5+ 2025-10-12 02:28:49 -0400 (Playerbot branch) (Unix, RelWithDebInfo, Static)'),(1,1760897263,576,0,'AzerothCore rev. 1424995f3bc5+ 2025-10-12 02:28:49 -0400 (Playerbot branch) (Unix, RelWithDebInfo, Static)');
/*!40000 ALTER TABLE `uptime` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2025-10-19 18:22:14

View File

@@ -0,0 +1,547 @@
-- MySQL dump 10.13 Distrib 8.0.43, for Linux (x86_64)
--
-- Host: localhost Database: acore_auth
-- ------------------------------------------------------
-- Server version 8.0.43
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `account`
--
DROP TABLE IF EXISTS `account`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `account` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'Identifier',
`username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`salt` binary(32) NOT NULL,
`verifier` binary(32) NOT NULL,
`session_key` binary(40) DEFAULT NULL,
`totp_secret` varbinary(128) DEFAULT NULL,
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`reg_mail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`joindate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`last_ip` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '127.0.0.1',
`last_attempt_ip` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '127.0.0.1',
`failed_logins` int unsigned NOT NULL DEFAULT '0',
`locked` tinyint unsigned NOT NULL DEFAULT '0',
`lock_country` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '00',
`last_login` timestamp NULL DEFAULT NULL,
`online` int unsigned NOT NULL DEFAULT '0',
`expansion` tinyint unsigned NOT NULL DEFAULT '2',
`Flags` int unsigned NOT NULL DEFAULT '0',
`mutetime` bigint NOT NULL DEFAULT '0',
`mutereason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`muteby` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`locale` tinyint unsigned NOT NULL DEFAULT '0',
`os` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`recruiter` int unsigned NOT NULL DEFAULT '0',
`totaltime` int unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `idx_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Account System';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `account`
--
LOCK TABLES `account` WRITE;
/*!40000 ALTER TABLE `account` DISABLE KEYS */;
/*!40000 ALTER TABLE `account` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `account_access`
--
DROP TABLE IF EXISTS `account_access`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `account_access` (
`id` int unsigned NOT NULL,
`gmlevel` tinyint unsigned NOT NULL,
`RealmID` int NOT NULL DEFAULT '-1',
`comment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '',
PRIMARY KEY (`id`,`RealmID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `account_access`
--
LOCK TABLES `account_access` WRITE;
/*!40000 ALTER TABLE `account_access` DISABLE KEYS */;
/*!40000 ALTER TABLE `account_access` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `account_banned`
--
DROP TABLE IF EXISTS `account_banned`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `account_banned` (
`id` int unsigned NOT NULL DEFAULT '0' COMMENT 'Account id',
`bandate` int unsigned NOT NULL DEFAULT '0',
`unbandate` int unsigned NOT NULL DEFAULT '0',
`bannedby` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`banreason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`active` tinyint unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`id`,`bandate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Ban List';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `account_banned`
--
LOCK TABLES `account_banned` WRITE;
/*!40000 ALTER TABLE `account_banned` DISABLE KEYS */;
/*!40000 ALTER TABLE `account_banned` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `account_muted`
--
DROP TABLE IF EXISTS `account_muted`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `account_muted` (
`guid` int unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier',
`mutedate` int unsigned NOT NULL DEFAULT '0',
`mutetime` int unsigned NOT NULL DEFAULT '0',
`mutedby` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`mutereason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`guid`,`mutedate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='mute List';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `account_muted`
--
LOCK TABLES `account_muted` WRITE;
/*!40000 ALTER TABLE `account_muted` DISABLE KEYS */;
/*!40000 ALTER TABLE `account_muted` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `acore_cms_subscriptions`
--
DROP TABLE IF EXISTS `acore_cms_subscriptions`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `acore_cms_subscriptions` (
`account_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`membership_level` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `acore_cms_subscriptions`
--
LOCK TABLES `acore_cms_subscriptions` WRITE;
/*!40000 ALTER TABLE `acore_cms_subscriptions` DISABLE KEYS */;
/*!40000 ALTER TABLE `acore_cms_subscriptions` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `autobroadcast`
--
DROP TABLE IF EXISTS `autobroadcast`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `autobroadcast` (
`realmid` int NOT NULL DEFAULT '-1',
`id` tinyint unsigned NOT NULL AUTO_INCREMENT,
`weight` tinyint unsigned DEFAULT '1',
`text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`,`realmid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `autobroadcast`
--
LOCK TABLES `autobroadcast` WRITE;
/*!40000 ALTER TABLE `autobroadcast` DISABLE KEYS */;
/*!40000 ALTER TABLE `autobroadcast` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `autobroadcast_locale`
--
DROP TABLE IF EXISTS `autobroadcast_locale`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `autobroadcast_locale` (
`realmid` int NOT NULL,
`id` int NOT NULL,
`locale` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`realmid`,`id`,`locale`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `autobroadcast_locale`
--
LOCK TABLES `autobroadcast_locale` WRITE;
/*!40000 ALTER TABLE `autobroadcast_locale` DISABLE KEYS */;
/*!40000 ALTER TABLE `autobroadcast_locale` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `build_info`
--
DROP TABLE IF EXISTS `build_info`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `build_info` (
`build` int NOT NULL,
`majorVersion` int DEFAULT NULL,
`minorVersion` int DEFAULT NULL,
`bugfixVersion` int DEFAULT NULL,
`hotfixVersion` char(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`winAuthSeed` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`win64AuthSeed` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`mac64AuthSeed` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`winChecksumSeed` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`macChecksumSeed` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`build`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `build_info`
--
LOCK TABLES `build_info` WRITE;
/*!40000 ALTER TABLE `build_info` DISABLE KEYS */;
INSERT INTO `build_info` VALUES (5875,1,12,1,NULL,NULL,NULL,NULL,'95EDB27C7823B363CBDDAB56A392E7CB73FCCA20','8D173CC381961EEBABF336F5E6675B101BB513E5'),(6005,1,12,2,NULL,NULL,NULL,NULL,NULL,NULL),(6141,1,12,3,NULL,NULL,NULL,NULL,NULL,NULL),(8606,2,4,3,NULL,NULL,NULL,NULL,'319AFAA3F2559682F9FF658BE01456255F456FB1','D8B0ECFE534BC1131E19BAD1D4C0E813EEE4994F'),(9947,3,1,3,NULL,NULL,NULL,NULL,NULL,NULL),(10505,3,2,2,'a',NULL,NULL,NULL,NULL,NULL),(11159,3,3,0,'a',NULL,NULL,NULL,NULL,NULL),(11403,3,3,2,NULL,NULL,NULL,NULL,NULL,NULL),(11723,3,3,3,'a',NULL,NULL,NULL,NULL,NULL),(12340,3,3,5,'a',NULL,NULL,NULL,'CDCBBD5188315E6B4D19449D492DBCFAF156A347','B706D13FF2F4018839729461E3F8A0E2B5FDC034'),(13930,3,3,5,'a',NULL,NULL,NULL,NULL,NULL);
/*!40000 ALTER TABLE `build_info` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `ip_banned`
--
DROP TABLE IF EXISTS `ip_banned`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ip_banned` (
`ip` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '127.0.0.1',
`bandate` int unsigned NOT NULL,
`unbandate` int unsigned NOT NULL,
`bannedby` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '[Console]',
`banreason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'no reason',
PRIMARY KEY (`ip`,`bandate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Banned IPs';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `ip_banned`
--
LOCK TABLES `ip_banned` WRITE;
/*!40000 ALTER TABLE `ip_banned` DISABLE KEYS */;
/*!40000 ALTER TABLE `ip_banned` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `logs`
--
DROP TABLE IF EXISTS `logs`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `logs` (
`time` int unsigned NOT NULL,
`realm` int unsigned NOT NULL,
`type` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`level` tinyint unsigned NOT NULL DEFAULT '0',
`string` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `logs`
--
LOCK TABLES `logs` WRITE;
/*!40000 ALTER TABLE `logs` DISABLE KEYS */;
/*!40000 ALTER TABLE `logs` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `logs_ip_actions`
--
DROP TABLE IF EXISTS `logs_ip_actions`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `logs_ip_actions` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'Unique Identifier',
`account_id` int unsigned NOT NULL COMMENT 'Account ID',
`character_guid` int unsigned NOT NULL COMMENT 'Character Guid',
`type` tinyint unsigned NOT NULL,
`ip` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '127.0.0.1',
`systemnote` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'Notes inserted by system',
`unixtime` int unsigned NOT NULL COMMENT 'Unixtime',
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Timestamp',
`comment` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT 'Allows users to add a comment',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Used to log ips of individual actions';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `logs_ip_actions`
--
LOCK TABLES `logs_ip_actions` WRITE;
/*!40000 ALTER TABLE `logs_ip_actions` DISABLE KEYS */;
/*!40000 ALTER TABLE `logs_ip_actions` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `motd`
--
DROP TABLE IF EXISTS `motd`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `motd` (
`realmid` int NOT NULL,
`text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`realmid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `motd`
--
LOCK TABLES `motd` WRITE;
/*!40000 ALTER TABLE `motd` DISABLE KEYS */;
INSERT INTO `motd` VALUES (-1,'Welcome to an AzerothCore server.');
/*!40000 ALTER TABLE `motd` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `motd_localized`
--
DROP TABLE IF EXISTS `motd_localized`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `motd_localized` (
`realmid` int NOT NULL,
`locale` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`realmid`,`locale`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `motd_localized`
--
LOCK TABLES `motd_localized` WRITE;
/*!40000 ALTER TABLE `motd_localized` DISABLE KEYS */;
/*!40000 ALTER TABLE `motd_localized` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `realmcharacters`
--
DROP TABLE IF EXISTS `realmcharacters`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `realmcharacters` (
`realmid` int unsigned NOT NULL DEFAULT '0',
`acctid` int unsigned NOT NULL,
`numchars` tinyint unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`realmid`,`acctid`),
KEY `acctid` (`acctid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Realm Character Tracker';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `realmcharacters`
--
LOCK TABLES `realmcharacters` WRITE;
/*!40000 ALTER TABLE `realmcharacters` DISABLE KEYS */;
/*!40000 ALTER TABLE `realmcharacters` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `realmlist`
--
DROP TABLE IF EXISTS `realmlist`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `realmlist` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '127.0.0.1',
`localAddress` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '127.0.0.1',
`localSubnetMask` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '255.255.255.0',
`port` smallint unsigned NOT NULL DEFAULT '8085',
`icon` tinyint unsigned NOT NULL DEFAULT '0',
`flag` tinyint unsigned NOT NULL DEFAULT '2',
`timezone` tinyint unsigned NOT NULL DEFAULT '0',
`allowedSecurityLevel` tinyint unsigned NOT NULL DEFAULT '0',
`population` float NOT NULL DEFAULT '0',
`gamebuild` int unsigned NOT NULL DEFAULT '12340',
PRIMARY KEY (`id`),
UNIQUE KEY `idx_name` (`name`),
CONSTRAINT `realmlist_chk_1` CHECK ((`population` >= 0))
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Realm System';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `realmlist`
--
LOCK TABLES `realmlist` WRITE;
/*!40000 ALTER TABLE `realmlist` DISABLE KEYS */;
INSERT INTO `realmlist` VALUES (1,'AzerothCore','127.0.0.1','127.0.0.1','255.255.255.0',8085,0,2,1,0,0,12340);
/*!40000 ALTER TABLE `realmlist` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `secret_digest`
--
DROP TABLE IF EXISTS `secret_digest`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `secret_digest` (
`id` int unsigned NOT NULL,
`digest` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `secret_digest`
--
LOCK TABLES `secret_digest` WRITE;
/*!40000 ALTER TABLE `secret_digest` DISABLE KEYS */;
/*!40000 ALTER TABLE `secret_digest` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `updates`
--
DROP TABLE IF EXISTS `updates`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `updates` (
`name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'filename with extension of the update.',
`hash` char(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'sha1 hash of the sql file.',
`state` enum('RELEASED','CUSTOM','MODULE','ARCHIVED','PENDING') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'RELEASED' COMMENT 'defines if an update is released or archived.',
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'timestamp when the query was applied.',
`speed` int unsigned NOT NULL DEFAULT '0' COMMENT 'time the query takes to apply in ms.',
PRIMARY KEY (`name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='List of all applied updates in this database.';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `updates`
--
LOCK TABLES `updates` WRITE;
/*!40000 ALTER TABLE `updates` DISABLE KEYS */;
INSERT INTO `updates` VALUES ('2023_04_24_00.sql','D164A70B22B2462464484614018C3218B3259AE4','ARCHIVED','2024-01-20 14:23:45',26),('2024_01_20_00.sql','41678119235D993DEF719C168B20867F781A3A5F','RELEASED','2024-01-20 14:23:45',36),('2024_11_15_00.sql','7F15CD3FF0C3D98918DA8860BC3CFB6B9D5146BB','RELEASED','2024-12-17 21:51:20',93),('2024_12_15_00.sql','8CC811CF48ADF26D279E4A8F2D06AD94C11F43BE','RELEASED','2024-12-17 21:55:57',133),('2025_01_26_00.sql','CA6884F4BDBBC60C08CD52480FD4B3FAC945C3CF','RELEASED','2025-07-19 10:16:14',166),('2025_02_16_00.sql','D59DF568B412F0A17B0ACC5C350420B81C87AAB2','RELEASED','2025-07-19 10:16:15',148),('2025_02_16_01.sql','6788795A29BFD097EE5D00E548EFF3831F9CFBCF','RELEASED','2025-07-19 10:16:15',103),('2025_07_03_00.sql','C28996618006B516134EC7FA4E1D58F2DF410548','RELEASED','2025-07-19 10:16:15',135),('2025_07_24_00.sql','FCC937F180EFFAA5B991D9B7CF9E2223B6C0C4D3','RELEASED','2025-10-19 10:26:51',14);
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `updates_include`
--
DROP TABLE IF EXISTS `updates_include`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `updates_include` (
`path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'directory to include. $ means relative to the source directory.',
`state` enum('RELEASED','ARCHIVED','CUSTOM','PENDING') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'RELEASED' COMMENT 'defines if the directory contains released or archived updates.',
PRIMARY KEY (`path`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='List of directories where we want to include sql updates.';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `updates_include`
--
LOCK TABLES `updates_include` WRITE;
/*!40000 ALTER TABLE `updates_include` DISABLE KEYS */;
INSERT INTO `updates_include` VALUES ('$/data/sql/archive/db_auth','ARCHIVED'),('$/data/sql/custom/db_auth','CUSTOM'),('$/data/sql/updates/db_auth','RELEASED'),('$/data/sql/updates/pending_db_auth','PENDING');
/*!40000 ALTER TABLE `updates_include` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `uptime`
--
DROP TABLE IF EXISTS `uptime`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `uptime` (
`realmid` int unsigned NOT NULL,
`starttime` int unsigned NOT NULL DEFAULT '0',
`uptime` int unsigned NOT NULL DEFAULT '0',
`maxplayers` smallint unsigned NOT NULL DEFAULT '0',
`revision` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'AzerothCore',
PRIMARY KEY (`realmid`,`starttime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Uptime system';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `uptime`
--
LOCK TABLES `uptime` WRITE;
/*!40000 ALTER TABLE `uptime` DISABLE KEYS */;
INSERT INTO `uptime` VALUES (1,1721169877,0,0,'AzerothCore rev. bdf204f1eb0c 2024-07-16 16:28:59 +0000 (time-for-A-SQUASH branch) (Win64, RelWithDebInfo, Static)'),(1,1734468956,0,0,'AzerothCore rev. 2923a4aa43d0 2024-12-17 12:28:46 -0300 (master branch) (Win64, RelWithDebInfo, Static)'),(1,1734470333,0,0,'AzerothCore rev. 2923a4aa43d0 2024-12-17 12:28:46 -0300 (master branch) (Win64, RelWithDebInfo, Static)'),(1,1734471110,0,0,'AzerothCore rev. 2923a4aa43d0 2024-12-17 12:28:46 -0300 (master branch) (Win64, RelWithDebInfo, Static)'),(1,1752912822,0,0,'AzerothCore rev. 9415d1bef80d 2025-07-05 11:29:15 +0200 (whisper-something-something branch) (Win64, RelWithDebInfo, Static)'),(1,1752913079,0,0,'AzerothCore rev. 9415d1bef80d 2025-07-05 11:29:15 +0200 (whisper-something-something branch) (Win64, RelWithDebInfo, Static)'),(1,1752919589,0,0,'AzerothCore rev. 9415d1bef80d 2025-07-05 11:29:15 +0200 (whisper-something-something branch) (Win64, RelWithDebInfo, Static)'),(1,1760869638,27203,0,'AzerothCore rev. 1424995f3bc5+ 2025-10-12 02:28:49 -0400 (Playerbot branch) (Unix, RelWithDebInfo, Static)');
/*!40000 ALTER TABLE `uptime` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2025-10-19 18:04:19

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

46
scripts/import-backup.sh Executable file
View File

@@ -0,0 +1,46 @@
#!/bin/bash
# Restore auth/characters/world databases from a backup folder.
set -euo pipefail
usage(){
cat <<EOF
Usage: $0 <backup_dir>
<backup_dir> should contain acore_auth.sql.gz, acore_characters.sql.gz, acore_world.sql.gz
EOF
}
if [[ $# -ne 1 ]]; then
usage; exit 1
fi
BACKUP_DIR="$1"
MYSQL_PW="${MYSQL_ROOT_PASSWORD:-azerothcore123}"
DB_AUTH="${DB_AUTH_NAME:-acore_auth}"
DB_CHAR="${DB_CHARACTERS_NAME:-acore_characters}"
DB_WORLD="${DB_WORLD_NAME:-acore_world}"
[[ -d "$BACKUP_DIR" ]] || { echo "Backup dir not found: $BACKUP_DIR" >&2; exit 1; }
restore(){
local db="$1" file="$2"
if [[ ! -f "$file" ]]; then
echo "Skipping $db (missing $file)"; return
fi
echo "Importing $file into $db"
case "$file" in
*.sql.gz) gzip -dc "$file" ;;
*.sql) cat "$file" ;;
*) echo "Unsupported file type: $file" >&2; return ;;
esac | docker exec -i ac-mysql mysql -uroot -p"$MYSQL_PW" "$db"
}
restore "$DB_AUTH" "$BACKUP_DIR/acore_auth.sql.gz"
restore "$DB_CHAR" "$BACKUP_DIR/acore_characters.sql.gz"
# optional world restore
if [[ -f "$BACKUP_DIR/acore_world.sql.gz" ]]; then
echo "World dump found. Restore? [y/N]"
read -r ans
if [[ "$ans" =~ ^[Yy]$ ]]; then
restore "$DB_WORLD" "$BACKUP_DIR/acore_world.sql.gz"
fi
fi