部署与插件系统
代码和配置改了,只存在本地——要在服务器生效,必须部署。这一篇讲三种部署方式、三个阶段的部署设置,以及 Apollo 的官方插件系统。
为什么要部署
任何对服务器配置或服务器 Mod 的修改,仅保存在本地。要在服务器生效,必须执行部署。开发、审核、上线三个阶段都需要部署。
MC Studio 有三种部署方式:智能部署、重新部署、热更。开发阶段最常用的是智能部署。
智能部署
网络服开发页的部署按钮默认就是智能部署——自动选择最快、最低成本的更新方式。开发阶段一般用它就够了。
常见改动:修改服务器数量、Apollo 大小版本、新增一种大厅服/游戏服等,可一次性改完,部署自动选最优方式。
智能部署会根据改动范围,走两种路径之一:
| 改动范围 | 触发方式 |
|---|---|
| 改了全局设置(控制服、功能服、数据库等) | 触发重新部署(关全部服、清空文件再部署) |
| 只改大厅服/游戏服/代理服 | 滚动更新(不清空) |
滚动更新
用最新 Mod 代码起一批新服,接管需更新的旧服;旧服优雅停机退出:
- 优雅停机:正在游玩的玩家不受影响,但不再分配新玩家进入,所有玩家退出后旧服自然停机
保存地图需两次滚动更新
若配置勾了【保存地图】,要两次滚动更新才能安全更新 Mod:第一次选删除服务器,让目标服正常关闭并上传地图;第二次新建服务器,用相同配置并选【服务器最新地图】。
验证新代码要重新登录
若你正在 gameA 里,改完 gameA 代码部署后,必须退出重新登录 gameA 才能验证新代码(部署会移除本地该服的客户端脚本缓存)。
重新部署
网络服开发页选中网络服 → 更多 → 重新部署,显式用重新部署应用修改。
重新部署会关闭所有服务器、清空该网络服文件(含日志),再重新上传 Mod 部署。改动大、想干净重来时用。
热更
热更 = 不停服更新部分服务端代码。前提:
- 修改内容只在服务端(
developer_mods里的代码) - 只改了函数体内的实现(没动函数签名、没加新函数/类结构)
满足条件就选 更多 → 热更。热更不踢客户端,速度比滚动更新和重新部署都快——开发期提效,正式运营也可作紧急修复手段。
热更典型场景
在 gameA 验证时发现异常,改 developer_mods 代码修复、或加日志排查,保存后点热更,MC Studio 上传并热更服务端代码,你无需退出 gameA 即可继续验证。
三个阶段的部署设置
不同阶段部署开关不同:
| 设置项 | 开发阶段 | 审核阶段 | 上线阶段 |
|---|---|---|---|
| 验证 | 关 | 关 | 开 |
| 崩溃自动拉起 | 关 | 关 | 开 |
| 运营数据 | 关 | 关 | 开 |
| 打包代码 | 开 | 开 | 开 |
| 打印调试代码 | 开 | 开 | 关 |
审核/上线要先建正式网络服项目
提审申请正式物理机前,需在发布界面的开发者平台新建正式网络服项目并设置对应的游戏 ID。上线部署务必关调试打印、开认证 + 崩溃自动拉起 + 运营数据监控。
网络服插件系统
Apollo 的插件是一系列网络服 Mod 的集合,共同实现独立完整的系统功能。每个插件配套 API 和运营指令,开发阶段丰富功能、运营阶段查询数据。
例如调用领地插件后,游戏内可直接打开界面创建领地、管理权限,无需关注实现细节;需要调整功能时用领地插件提供的 API。
官方插件长期维护
官方目前有 30 多个插件,会长期维护,不用担心版本升级导致插件失效;插件库的数量与功能也在持续拓展。MC Studio 内置官方插件库和第三方插件库,覆盖聊天、商城、签到、领地等常用功能。
