Вид списка серверов в клиенте 28 протокол

  • Автор темы Автор темы whiteo
  • Дата начала Дата начала

whiteo

Интересующийся
Участник
Сообщения
20
Розыгрыши
0
Репутация
20
Реакции
5
Баллы
338
Всем привет, есть 2 клиента с одним и тем же 28 протоколом, один значится как классик и в нем отображаются классик сервера и обычный сервера, в другом же клиенте (мейн) там отсутствует раздел классик серверов. Вопрос, как в клиенте включать/выключать отображение раздела классик/ессенс серверов?

1729425381908.webp
 
Решение
Всем привет, есть 2 клиента с одним и тем же 28 протоколом, один значится как классик и в нем отображаются классик сервера и обычный сервера, в другом же клиенте (мейн) там отсутствует раздел классик серверов. Вопрос, как в клиенте включать/выключать отображение раздела классик/ессенс серверов?

Посмотреть вложение 78895
ну есть "Server List" пакет на стороне AuthServer (LoginServer) и туда записывается маска где отображать сервер...
Потом идет в клиент пакет ProtocolVersion (уже игрового сервера) (у мобиуса это InitPacket/KeyPacket, у скриптов VersionCheckPacket), который говорит какие дат файлы грузить.
Вот список типов серверов, которые есть (в ServerList это маска, в ProtocolVersion это 1 байт)
Java:
/**
 * @author Index
 */
public enum...
Всем привет, есть 2 клиента с одним и тем же 28 протоколом, один значится как классик и в нем отображаются классик сервера и обычный сервера, в другом же клиенте (мейн) там отсутствует раздел классик серверов. Вопрос, как в клиенте включать/выключать отображение раздела классик/ессенс серверов?

Посмотреть вложение 78895
ну есть "Server List" пакет на стороне AuthServer (LoginServer) и туда записывается маска где отображать сервер...
Потом идет в клиент пакет ProtocolVersion (уже игрового сервера) (у мобиуса это InitPacket/KeyPacket, у скриптов VersionCheckPacket), который говорит какие дат файлы грузить.
Вот список типов серверов, которые есть (в ServerList это маска, в ProtocolVersion это 1 байт)
Java:
/**
 * @author Index
 */
public enum ServerType
{
    NORMAL      (0x0001, 0x00),
    RELAX       (0x0002, 0x00),
    TEST        (0x0004, 0x00),
    BROAD       (0x0008, 0x00),
    RESTRICTED  (0x0010, 0x00),
    EVENT       (0x0020, 0x00),
    FREE        (0x0040, 0x00),
    UNK_07      (0x0080, 0x00),
    WORLD       (0x0100, 0x00),
    NEW         (0x0200, 0x00),
    CLASSIC     (0x0400, 0x01),
    UNK_11_ARENA(0x0800, 0x02),
    ESSENCE     (0x1000, 0x04),
    PROJECT_EVA (0x2000, 0x04),
    ;

    private final int _loginServerId;
    private final int _gameServerId;

    ServerType(int loginServerId, int gameServerId)
    {
        _loginServerId  = loginServerId;
        _gameServerId = gameServerId;
    }

    public int getLoginServerMask()
    {
        return 1 << ordinal();
    }

    public int getGameServerId()
    {
        return _gameServerId;
    }

    public static void validate()
    {
        for (ServerType serverType : values())
        {
            if (serverType._loginServerId != serverType.getLoginServerMask())
            {
                System.err.println(ServerType.class.getSimpleName() + ": " +
                        "While validation type " + serverType.name() + " has different from expected mask. " +
                        "Expected: " + "0x" + Integer.toHexString(serverType.getLoginServerMask()) + ". " +
                        "Found: " + serverType._loginServerId + ";");
                break;
            }
        }
    }

}
 
  • Мне нравится
Реакции: kick
Решение
@MrKirill1232, Спасибо, но я имел введу, если нет серверов классика то не отображать меню со списком классических серверов и/или если нет мейн серверов то не отображать раздел с мейн серверами
 
я проверял на 447, там не отображалось отдельно как сервер арены... (
нужен клиент арены. Скинуть, будешь колупать?) 140 там протокол




 
Последнее редактирование:
нужен клиент арены. Скинуть, будешь колупать?) 140 там протокол


нет конечно )
 
Назад
Сверху Снизу