ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

AzerothCore WotLK 完整指南:自建魔兽世界 3.3.5a 私服

AzerothCore WotLK 完整指南:自建魔兽世界 3.3.5a 私服 AzerothCore WotLK 完整指南自建魔兽世界 3.3.5a 私服【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk如果你不想依赖任何第三方服务器来玩魔兽世界 3.3.5a巫妖王之怒或者单纯想搞懂一个 MMO 服务器在机器里到底怎么跑AzerothCore WotLK 值得你花时间了解。它是一个完全开源、模块化的魔兽世界 3.3.5a 服务端模拟器游戏服务器逻辑跑在你自己机器上的程序C 编写CMake 构建MySQL 存数据。从数据脚本到协议测试再到部署工具整个工程都在仓库里几条命令就能拉起来一个私服。 用 Docker 十分钟拉起魔兽世界 3.3.5a 服务器官方推荐的部署方式是 Docker仓库根目录的 docker-compose.yml 把数据库、导入工具、登录服和游戏主进程编排到一起你不需要在系统里装任何编译环境。环境要求先对一下项目要求说明DockerDocker Compose v2 buildxDocker Desktop 已全含内存建议 8GB 以上数据库导入阶段比较吃内存磁盘10GB 空闲镜像加数据库的体积端口3724登录、8085游戏客户端进服要用到第一次启动会比较久镜像要现场编译数据库还要执行全部更新脚本光世界库就有八百多个 SQL 文件。耐心等之后每次启动都是秒级。操作步骤就两段命令git clone https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk cd azerothcore-wotlk docker compose up -d --build容器起来后接进 worldserver 控制台创建管理员账号docker compose attach ac-worldserver AC account create admin password 3 -1这条命令建一个 3 级 GM 账号-1 表示不限角色等级。到此为止启动 3.3.5a 客户端服务器地址填127.0.0.1就能进游戏了。想改 Docker 环境比如端口、资源限制时不要动官方的 docker-compose.yml项目明确要求另写一个docker-compose.override.yml来覆盖conf/dist/ 下有现成模板。️ 服务器跑起来之后你能真正做的事用 GM 身份接管整个世界。自己的客户端登录3 级 GM 可以直接在游戏里用控制台命令.tele传送、刷怪、发物品、开副本。当你想验证这次数据更新后某个副本的怪刷新对不对直接进图看一眼比翻数据库直观得多。把朋友拉进同一个世界。把客户端地址改成你机器的局域网 IP 或公网 IP任何有 3.3.5a 客户端的人都能进。整个服务端其实就三类进程在协作authserver 负责登录校验端口 3724、worldserver 跑游戏逻辑端口 8085、MySQL 存三套库 acore_auth、acore_characters、acore_world。改核心逻辑前先跑一遍协议测试。e2e/ 目录放的是用 Go 写的协议级回归测试模拟真实客户端登录、施法、做任务来验证服务端行为覆盖法术、任务、战斗、副本、社交等场景。环境要求和易踩的坑都写在 e2e/README.md 里改完核心代码跑一遍再提交心里有底。 模块系统给你的服务器加、减、写功能AzerothCore 是模块化的核心代码在src/下而功能可以拆成独立模块放进 modules/ 目录每个模块自带 CMakeLists.txt加载器自动注册。裁剪内置模块编译时加-DDISABLED_AC_MODULESmod1;mod2指定的模块不参与构建启动更轻管理模块运行./acore.sh会弹出控制台菜单里面的 module 项支持搜索、安装、更新、移除自己写一个执行modules/create_module.sh会生成模块骨架完整流程见 modules/how_to_make_a_module.md配置和数据也是同样的思路。运行配置在conf/下按机器本地生成模板在conf/dist/哪些配置该写哪一层有专门的政策文档 doc/ConfigPolicy.md日志系统按 log4j 风格设计logger 和 appender 的用法见 doc/Logging.md。数据库脚本分四区data/sql/base/是历史结构data/sql/updates/是已合入的更新这两块只读你自己的改动写进data/sql/custom/不进版本库。想加个 NPC、改物品属性SQL 丢进 custom 就行。 服务器起不来时先查这五件事Q第一次 docker compose up 跑了半天卡死了吗没卡正常。首次要编译镜像加执行全部数据库更新世界库八百多个脚本等它跑完。第二次启动就只是拉容器了。Q客户端点不了服务器先查什么按顺序来docker compose ps确认 worldserver 容器是 Up确认 3724、8085 两个端口能通远程进服的话确认填的是服务器 IP 而不是 127.0.0.1。九成连不上都在这三处。Q原生编译太慢能省吗能。加-DDISABLED_AC_MODULES裁掉用不到的模块但如果你没特别需求直接用 Docker 更省事镜像预编译好这步直接跳过。Q我想改数据手滑动了 updates 目录里的文件怎么办把改动撤回到data/sql/custom/里即可。项目约定 updates 是只读的自定义脚本统一放 custom之后数据库更新也会从这里读取你的内容。Q跑 e2e 测试还需要额外装什么需要 Go 1.26并且测试期间要关掉 Warden 校验Docker 环境设AC_WARDEN_ENABLED0即可。普通开服玩家用不到 e2e可以不管这一条。 文档、更新日志与社区变更日志所有破坏性改动都记录在 doc/changelog/升级版本前先翻一遍许可GPL2仓库根目录的 LICENSE 有全文官方 wiki安装、模块开发、changelog 用法等详细教程在官网 wiki 维护交流官方 Discord 是提问和分享模块的地方做得好的模块有机会被收进官方目录如果你打算提代码src/test/下有单元测试e2e/有协议级测试提交前确认都通过代码风格遵循 .editorconfigC 用 4 空格缩进、行宽 120 列以内。 从这里开始先按 Docker 流程把 admin 账号建出来、客户端登录成功走通完整闭环大改数据之前备份ac-database数据卷那套库就是你的服务器本体升级版本前读一遍doc/changelog/的更新日志确认没有破坏性变更开发新功能时把逻辑写成 modules/ 下的独立模块别直接改核心代码在私服网络内学习和交流即可不要对外公开运营商业服务器免责声明AzerothCore WotLK 是面向学习交流的开源项目请遵守相关服务条款不影响他人游戏体验勿用于商业用途或侵犯 Blizzard 知识产权的行为。【免费下载链接】azerothcore-wotlkComplete Open Source and Modular solution for MMO项目地址: https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表