31. 游戏运营Part 2: 服务器维护消息¶
该功能会自动向服务器维护期间内访问服务器的用户发送服务器正在维护中的通知,而从客户端传输的其他数据包均被忽略。
31.1. 设置服务器维护消息¶
31.1.1. (方法1) 利用MANIFEST.json的static方式¶
按如下所示设置后重启服务器即可。
31.1.1.1. 设置MANIFEST.json¶
在MANIFEST.json中按如下所示添加 MaintenanceService
会话。
1 2 3 4 5 6 7 8 9 | {
"dependency": {
...
"MaintenanceService": {
"under_maintenance": true,
"maintenance_data_path": "/path/to/maintenance.json"
}
}
}
|
Note
上述示例中 /path/to/mintenance.json
表示maintenance.json文件的路径。
31.1.1.2. 设置maintenance.json¶
按如下所示,编写已输入了 date_start
、 date_end
、 messages
的json文件。
1 2 3 4 5 | {
"date_start": "2015/09/23 04:00", // start time
"date_end": "2015/09/23 08:00", // end time
"messages": "The state of being maintained." // message for the client.
}
|
Important
在maintenance.json中除了 date_start
date_end
messages
以外,无法添加其他项目。
31.1.2. (方法2)在服务器运行中进行设置的dynamic方式¶
如果想不重启服务器,而是直接更改服务器维护状态或更改消息,按如下所示利用 组件中提供的API更改即可。
-
PUT
/v1/maintenance/update
¶ - Request JSON Object
date_start (string) – (required) “2015/09/23 04:00”形式
date_end (string) – (required) “2015/09/23 08:00”形式
messages (string) – (required) 要向客户端传输的消息
under_maintenance (bool) – (optional) 可在关闭或开启该功能时使用
- Status Codes
200 OK – 成功
400 Bad Request – 失败。当request body不属于json或field type不同时
Note
关于API service的port,请参考 服务器管理Part 1: 添加RESTful APIs 。
31.2. 服务器维护消息的客户端代码¶
客户端示例,请参考已发布的Client Plugin的tester代码。 更具体的内容,请参考 插件的服务器维护消息 。