ClientHelloMessage (10100)
ClientHelloMessage - Служебное сообщение, которое передаёт некоторые данные о клиенте игры.
- Тип сообщения - 10100
- Тип ServiceNode - 1
Структура сообщения
[править | править код]- Тип протокола (Int)
- Версия Pepper ключа (Int)
- Мажорная версия клиента (Int)
- Минорная версия клиента (Int)
- Номер сборки клиента (Int)
- Хэш fingerprint.json (StringReference)
- Тип устройства (Int)
- Тип магазина приложений (Int)
Пример кодирования сообщения
[править | править код]ByteStream.writeInt(2);
ByteStream.writeInt(53);
ByteStream.writeInt(63);
ByteStream.writeInt(0);
ByteStream.writeInt(342);
ByteStream.writeStringReference("c4f71a19bc31cef7b3e90b450e969356946aded7");
ByteStream.writeInt(2);
ByteStream.writeInt(35);
Поведение сервера в отношении данного сообщения
[править | править код]В случае успеха, сервер отправит сообщение ServerHelloMessage (20100)
В случае несовпадения хэша fingerprint.json, сервер отправит сообщение LoginFailedMessage (20103) с кодом ошибки 7 (PATCH).
В случае, если мажорная (или в некоторых случаях, минорная) версия сервера выше, чем мажорная версия клиента, сервер отправит сообщение LoginFailedMessage (20103) с кодом ошибки 8 (CLIENT_UPDATE_REQUIRED).
В случае, если на сервере на данный момент происходит технический перерыв, сервер отправит сообщение LoginFailedMessage (20103) с кодом ошибки 10 (MAINTENANCE).
В случае, если мажорная (или в некоторых случаях, минорная) версия клиента выше, чем мажорная версия сервера, сервер отправит сообщение LoginFailedMessage (20103) с кодом ошибки 16 (SERVER_UPDATE_REQUIRED).
В случае, если клиент отправляет сообщение, подключившись к серверу через с IP-адреса заблокированной страны, сервер отправит сообщение LoginFailedMessage (20103) с кодом ошибки 30 (LOCATION_RESTRICTED).