|
|
@@ -395,21 +395,98 @@ systemctl start gameserver-name
|
|
|
|
|
|
### 热更新流程
|
|
|
|
|
|
- 1. 使用ftp连接服务器,替换文件:/data/CzServer/data/ServerData,修改 templates_lua/ 或 templates_xls/ 里对应的 .xlsx 文件
|
|
|
- 2. 执行热更:
|
|
|
- `curl -X POST "http://127.0.0.1:18084/cmd/" -d "reloadalltable"`
|
|
|
- 3. 验证:
|
|
|
- `tail -f /data/CzServer/_output.server/logfile/gamenode1.log | grep -E 'reload all table|Handle App Command|ERROR Table'`
|
|
|
+服务端运行时读取的是 **lua 文件**(`templates_lua/`),而不是 xlsx 源文件。
|
|
|
|
|
|
- 补充:单表热更
|
|
|
+> 以下命令均在**服务器上**直接执行。lua 文件需提前通过其他方式(scp / rsync / git pull 等)上传到服务器。
|
|
|
|
|
|
- 如果只改了一张表,可以只热更那一张,更快:
|
|
|
- `curl -X POST "http://127.0.0.1:18084/cmd/" -d "reloadtable hero"`
|
|
|
- 参数是表名(文件名去掉.xlsx)
|
|
|
+**第一步:将 lua 文件放到正确目录**
|
|
|
|
|
|
-
|
|
|
+目标路径:`/data/CzServer/data/ServerData/templates_lua/<表名.xlsx>/`
|
|
|
|
|
|
-
|
|
|
+例如只更新常量表:
|
|
|
+```
|
|
|
+/data/CzServer/data/ServerData/templates_lua/gameConfig.xlsx/gameConfig.lua
|
|
|
+```
|
|
|
+
|
|
|
+**第二步:执行热更指令**
|
|
|
+
|
|
|
+全量热更(更新了多张表时):
|
|
|
+```bash
|
|
|
+curl -s -X POST "http://127.0.0.1:18084/cmd/" -d "reloadalltable"
|
|
|
+```
|
|
|
+
|
|
|
+单表热更(只改了一张表,速度更快):
|
|
|
+```bash
|
|
|
+curl -s -X POST "http://127.0.0.1:18084/cmd/" -d "reloadtable C常量配置#gameConfig.xlsx"
|
|
|
+```
|
|
|
+
|
|
|
+**单表参数规则**:使用 `templates_xls/` 下的原始 Excel 文件名(含中文前缀和 `.xlsx`),例如:
|
|
|
+
|
|
|
+| 表 | 命令参数 |
|
|
|
+|---|---|
|
|
|
+| `C常量配置#gameConfig.xlsx` | `reloadtable C常量配置#gameConfig.xlsx` |
|
|
|
+| `D道具表#item.xlsx` | `reloadtable D道具表#item.xlsx` |
|
|
|
+| `CCDK#CDKConfig.xlsx` | `reloadtable CCDK#CDKConfig.xlsx` |
|
|
|
+
|
|
|
+> **注意**:参数不能省略前缀或 `.xlsx` 后缀,否则 DataCenter 找不到对应 loader,热更会静默失败(日志只显示 `reload table cmd xxx`,无 TemplateDataCenter 输出)。
|
|
|
+
|
|
|
+**第三步:验证**
|
|
|
+
|
|
|
+```bash
|
|
|
+tail -f /data/CzServer/_output.server/logfile/gamenode1.log \
|
|
|
+ | grep -E "reload all table|Handle App Command|ERROR Table"
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 游密(YouMe)IM 接入
|
|
|
+
|
|
|
+聊天系统依赖游密 IM 云服务收发消息。框架默认集成了一个第三方 AppKey,**正式上线前必须替换为自己的账号**,否则聊天频道会与原 AppKey 所属项目的玩家共享。
|
|
|
+
|
|
|
+### 1. 注册游密账号并创建应用
|
|
|
+
|
|
|
+1. 前往 [https://www.youme.im](https://www.youme.im) 注册账号
|
|
|
+2. 控制台 → 创建新应用 → 选择 **IM** 产品
|
|
|
+3. 创建完成后获取:`AppKey`、`AppSecret`、管理员 `identifier`(注册邮箱)
|
|
|
+
|
|
|
+### 2. 修改服务端配置
|
|
|
+
|
|
|
+编辑所有环境的启动配置文件(`_launch_server.xml`、`_launch_server_s101.xml` 等),找到 `<ChatService>` 节点:
|
|
|
+
|
|
|
+```xml
|
|
|
+<ChatService>
|
|
|
+ <HttpListen>http://+:18089/chat/</HttpListen>
|
|
|
+ <AppKey>替换为你的 AppKey</AppKey>
|
|
|
+ <AppSecret>替换为你的 AppSecret</AppSecret>
|
|
|
+</ChatService>
|
|
|
+```
|
|
|
+
|
|
|
+配置文件位置:
|
|
|
+```
|
|
|
+houduan/server/src/server/OpenCards.Server.DotNetCore/dev/_launch_server.xml
|
|
|
+houduan/server/src/server/OpenCards.Server.Main/_launch_server_s101.xml
|
|
|
+houduan/start/_launch_server.xml
|
|
|
+```
|
|
|
+
|
|
|
+### 3. 修改代码中的 identifier
|
|
|
+
|
|
|
+`identifier` 是游密管理员 API 的身份凭证,现在硬编码为原开发商邮箱,需改为自己的游密注册邮箱。
|
|
|
+
|
|
|
+文件:`houduan/server/src/server/OpenCards.Service.Chat/ChatService.cs` 第 158 行
|
|
|
+
|
|
|
+```csharp
|
|
|
+// 改前
|
|
|
+url += "&identifier=chenwen01@bianfeng.com";
|
|
|
+
|
|
|
+// 改后(替换为你的游密注册邮箱)
|
|
|
+url += "&identifier=your@email.com";
|
|
|
+```
|
|
|
+
|
|
|
+### 4. 客户端 SDK 配置
|
|
|
+
|
|
|
+客户端(Unity)同样需要使用相同的 `AppKey` 初始化游密 SDK,具体参考游密官方文档。
|
|
|
+
|
|
|
+> 服务端与客户端必须使用同一个 `AppKey`,否则消息无法互通。
|
|
|
|
|
|
|
|
|
|