Получение ClientID игрока

Discussion in 'Разработка плагинов' started by Doomhawk, 16/4/16.

  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
We welcome you on our site. This site is devoted to the Nukkit project and all that is connected with him. Here you can communicate, download plugins, also many other things get acquainted! Register the account right now :3
  1. Doomhawk

    Doomhawk Developer

    Messages:
    114
    Likes Received:
    26
    Здравствуйте. Понадобилось мне узнать ClientID игрока. В пхп это делалось так:
    Code:
    $player->getClientId();
    Здесь же ситуация немного другая. Есть метод getClientSecret(), но он возвращает китайские иероглифы, явно не то, что мне нужно :)
    Есть еще самая переменная clientId, но она имеет уровень доступа protected. Как быть? Спасибо.
     
  2. Pub4Game

    Pub4Game Модератор всея Nukkit.ru Moderator

    Messages:
    62
    Likes Received:
    31
    Minecraft:
    Pub4Game
    upload_2016-4-16_14-15-24.png


    Привет! Это устаревшая функция, используй
    Code:
    player.getUniqueId()
     
    fromgate likes this.
  3. Doomhawk

    Doomhawk Developer

    Messages:
    114
    Likes Received:
    26
  4. Tee7even

    Tee7even Nukkit Coders Team

    Messages:
    123
    Likes Received:
    27
    Но это же не то, по-сути костыль, который был добавлен разрабами PM, т.к. они думали, что будто скоро будет добавлена авторизация и так далее. Тут он удачно скопирован, только ещё cID убрали, а этот так называемый uid тут является чуть более, чем бесполезным.
     
  5. Pub4Game

    Pub4Game Модератор всея Nukkit.ru Moderator

    Messages:
    62
    Likes Received:
    31
    Minecraft:
    Pub4Game
    Как это может быть не тем, если я предоставил информацию из документации, лол...

    Другой замены нет, так что пусть использует это.
     
  6. Tee7even

    Tee7even Nukkit Coders Team

    Messages:
    123
    Likes Received:
    27
    Документации? Вот с этого места поподробнее, пожалуйста.
    Ну а не тем оно может быть примерно так: cID - это ID уникальный для клиента (устройства, может быть изменён в файлах сохранения), а упомянутый метод, поскольку как мы знаем uID ещё в ПЕ нет, некоторыми нехитрыми манипуляциями замешивает имя игрока, скин там и т.д. и возвращает (хеш?) в качестве "uID", от чего собственно его использование не имеет смысла...
     
  7. Pub4Game

    Pub4Game Модератор всея Nukkit.ru Moderator

    Messages:
    62
    Likes Received:
    31
    Minecraft:
    Pub4Game
    Просто посмотри выше.... Это написано в коде PocketMine.

    Мне не нужно ничего доказывать, что я вижу, то и говорю...
     
  8. Tee7even

    Tee7even Nukkit Coders Team

    Messages:
    123
    Likes Received:
    27
    Да знаю я, что у них в сурсе написано, что метод якобы устарел, используйте вон то, однако авторизация (и то через Xbox Live) начинает подъезжать только сейчас, а всё это время uID как не было так и нет, PM агитирует пользователей использовать довольно странный костыль.
     
  9. fromgate

    fromgate Administrator

    Messages:
    665
    Likes Received:
    186
    Смысл есть такой. Если будет добавлена какая-то система авторизации, то будет уникальный UUID. Но ещё более вероятно и я постараюсь в ближайшее время посмотреть и предложить пулреквест, реализующий возможность "поставлять" UUID силами плагина авторизации.
     
  10. Tee7even

    Tee7even Nukkit Coders Team

    Messages:
    123
    Likes Received:
    27
    Ну так в том-то и дело, что будет. И вообще ещё не известно как оно там будет. PM'овцы рановатенько начали. А в накките бездумно скопировали, да ещё ClientID убрали. А посредством плагина добавлять тоже бесполезно, скорее ClientID сам по себе мог бы помочь плагину авторизации. Соль вот в чём: плагины автоизации сами по себе полагаются на имя, поэтому это немногим будет отличаться от того, что есть сейчас, а вот посредством проверки ClientID можно определять мультиаккаунты например.
     
  11. fromgate

    fromgate Administrator

    Messages:
    665
    Likes Received:
    186
    @Tee7even
    В целом ты прав.

    Однако для "комплексных" серверов, это может оказаться полезным. Особенно если они завязаны на баккит - можно ориентироваться на уже существующий идентификатор.
     
  12. Tee7even

    Tee7even Nukkit Coders Team

    Messages:
    123
    Likes Received:
    27

    Не совсем понял это изречение...

    Полезность uID, если будет авторизация, вроде никто не отрицал. А вот насчёт использования uID с ПК версии не уверен, ведь они таким темпом могут и Xbox Live оставить.
     
  13. fromgate

    fromgate Administrator

    Messages:
    665
    Likes Received:
    186
    Я имел в виду, что если помимо сервера nukkit есть сервера bukkit, где уже очень многие плагины перешли на полную поддержку UUID, то может потребоваться "синхронизация игроков" и в этом случае самым удобным вариантом было использование единой системы UUID.

    А XBox Live в теории интересная вещь - в клиенте она явно останется для Realms. Но вот сможет ли сервер, не являющийся, Realms'ом принудительно затребовать авторизацию в XBox Live... Подозреваю, что нет.
     
  14. Tee7even

    Tee7even Nukkit Coders Team

    Messages:
    123
    Likes Received:
    27
    А я подозреваю, что да. Они обещали добавить авторизацию для игры в онлайне в целом. "Оффлайн" режим конечно же останется, но для "онлайн" режима потребуется авторизация в лайве/аккаунтах моянга. Как на ПК в общем.
     

Share This Page