ClientHelloMessage (10100)

Материал из Supercell Games Wiki
Перейти к навигации Перейти к поиску

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).