AzerothCore服务端Docker化部署:从零到一在CentOS上的完整实践

📅 2026/7/14 10:17:52
AzerothCore服务端Docker化部署:从零到一在CentOS上的完整实践
1. 环境准备与基础配置在开始部署AzerothCore之前我们需要确保CentOS系统满足最低要求。建议使用CentOS 7或更高版本系统内存至少4GB磁盘空间不少于20GB。以下是具体操作步骤首先更新系统基础软件包yum update -y yum install -y epel-release安装必要的开发工具链yum groupinstall -y Development Tools yum install -y cmake git lsof对于国内用户建议配置阿里云镜像源加速下载mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum makecache2. Docker环境部署2.1 Docker安装与配置使用官方脚本快速安装Docker CEcurl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun启动Docker并设置开机自启systemctl start docker systemctl enable docker验证Docker版本docker --version2.2 Docker Compose安装下载并安装最新版Docker Composecurl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose chmod x /usr/local/bin/docker-compose验证安装结果docker-compose --version3. AzerothCore源码获取3.1 克隆仓库建议使用国内镜像源加速克隆cd /opt git clone https://gitee.com/mirrors/azerothcore-wotlk.git3.2 地图数据下载从官方仓库获取必要的地图数据mkdir -p /opt/azerothcore-wotlk/data wget https://github.com/wowgaming/client-data/releases/download/v7/data.zip -O /opt/azerothcore-wotlk/data/data.zip unzip /opt/azerothcore-wotlk/data/data.zip -d /opt/azerothcore-wotlk/data/4. 容器化配置4.1 环境变量配置复制并修改环境变量模板cd /opt/azerothcore-wotlk cp .env.dist .env编辑.env文件关键参数WORLD_EXTERNAL_PORT8085 AUTH_EXTERNAL_PORT3724 DB_EXTERNAL_PORT3306 DB_ROOT_PASSWORDyour_secure_password SOAP_ENABLED1 SOAP_PORT78784.2 生成配置文件执行配置生成脚本chmod x ./bin/acore-docker-generate-etc ./bin/acore-docker-generate-etc修改worldserver.conf关键配置LoginDatabaseInfo ac-database;3306;root;your_secure_password;acore_auth WorldDatabaseInfo ac-database;3306;root;your_secure_password;acore_world CharacterDatabaseInfo ac-database;3306;root;your_secure_password;acore_characters SOAP.Enabled 1 SOAP.IP 0.0.0.0 SOAP.Port 78785. 构建与启动服务5.1 容器构建执行构建命令首次构建可能需要30分钟以上./bin/acore-docker-build5.2 服务启动使用docker-compose启动所有服务docker-compose up -d验证服务状态docker-compose ps查看worldserver日志docker logs azerothcore-wotlk_ac-worldserver_1 -f6. 管理员账户配置6.1 创建GM账户进入worldserver控制台docker attach azerothcore-wotlk_ac-worldserver_1创建管理员账户account create admin password account set gmlevel admin 3 -1 account set password admin password newpassword按CtrlP然后CtrlQ退出控制台而不停止服务6.2 客户端连接配置创建realmlist.wtf文件SET realmlist 你的服务器IP SET portal 你的服务器IP7. 日常维护与管理7.1 服务控制命令停止所有服务docker-compose stop重启特定服务docker-compose restart ac-worldserver完全移除容器保留数据docker-compose down7.2 数据备份备份数据库docker exec azerothcore-wotlk_ac-database_1 mysqldump -uroot -pyour_secure_password --all-databases azerothcore_backup_$(date %F).sql7.3 常见问题排查如果遇到地图加载问题docker exec -it azerothcore-wotlk_ac-worldserver_1 ./bin/tools/map_extractor端口冲突解决方法netstat -tulnp | grep 8085 kill -9 占用进程PID8. 性能优化建议对于生产环境建议进行以下优化调整worldserver.conf配置PlayerLimit 100 MaxCoreStuckTime 60 SyncInterval 50数据库性能优化SET GLOBAL innodb_buffer_pool_size2G; SET GLOBAL innodb_log_file_size512M;容器资源限制修改docker-compose.ymlservices: ac-worldserver: deploy: resources: limits: cpus: 2 memory: 4G