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_startdate_endmessages 的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

Note

关于API service的port,请参考 服务器管理Part 1: 添加RESTful APIs

31.2. 服务器维护消息的客户端代码

客户端示例,请参考已发布的Client Plugin的tester代码。 更具体的内容,请参考 插件的服务器维护消息