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

Doomhawk

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

Pub4Game

Модератор всея Nukkit.ru
Moderator
upload_2016-4-16_14-15-24.png

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

Tee7even

Nukkit Coders Team
View attachment 327

Привет! Это устаревшая функция, используй
Java:
player.getUniqueId()
Но это же не то, по-сути костыль, который был добавлен разрабами PM, т.к. они думали, что будто скоро будет добавлена авторизация и так далее. Тут он удачно скопирован, только ещё cID убрали, а этот так называемый uid тут является чуть более, чем бесполезным.
 

Pub4Game

Модератор всея Nukkit.ru
Moderator
Но это же не то, по-сути костыль, который был добавлен разрабами PM, т.к. они думали, что будто скоро будет добавлена авторизация и так далее. Тут он удачно скопирован, только ещё cID убрали, а этот так называемый uid тут является чуть более, чем бесполезным.
Как это может быть не тем, если я предоставил информацию из документации, лол...

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

Tee7even

Nukkit Coders Team
Как это может быть не тем, если я предоставил информацию из документации, лол...

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

Pub4Game

Модератор всея Nukkit.ru
Moderator
Документации? Вот с этого места поподробнее, пожалуйста.
Ну а не тем оно может быть примерно так: cID - это ID уникальный для клиента (устройства, может быть изменён в файлах сохранения), а упомянутый метод, поскольку как мы знаем uID ещё в ПЕ нет, некоторыми нехитрыми манипуляциями замешивает имя игрока, скин там и т.д. и возвращает (хеш?) в качестве "uID", от чего собственно его использование не имеет смысла...
Просто посмотри выше.... Это написано в коде PocketMine.

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

Tee7even

Nukkit Coders Team
Просто посмотри выше.... Это написано в коде PocketMine.

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

fromgate

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

Tee7even

Nukkit Coders Team
Смысл есть такой. Если будет добавлена какая-то система авторизации, то будет уникальный UUID. Но ещё более вероятно и я постараюсь в ближайшее время посмотреть и предложить пулреквест, реализующий возможность "поставлять" UUID силами плагина авторизации.
Ну так в том-то и дело, что будет. И вообще ещё не известно как оно там будет. PM'овцы рановатенько начали. А в накките бездумно скопировали, да ещё ClientID убрали. А посредством плагина добавлять тоже бесполезно, скорее ClientID сам по себе мог бы помочь плагину авторизации. Соль вот в чём: плагины автоизации сами по себе полагаются на имя, поэтому это немногим будет отличаться от того, что есть сейчас, а вот посредством проверки ClientID можно определять мультиаккаунты например.
 

fromgate

Administrator
@Tee7even
В целом ты прав.

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

Tee7even

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

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

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

fromgate

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

Полезность uID, если будет авторизация, вроде никто не отрицал. А вот насчёт использования uID с ПК версии не уверен, ведь они таким темпом могут и Xbox Live оставить.
Я имел в виду, что если помимо сервера nukkit есть сервера bukkit, где уже очень многие плагины перешли на полную поддержку UUID, то может потребоваться "синхронизация игроков" и в этом случае самым удобным вариантом было использование единой системы UUID.

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

Tee7even

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

А XBox Live в теории интересная вещь - в клиенте она явно останется для Realms. Но вот сможет ли сервер, не являющийся, Realms'ом принудительно затребовать авторизацию в XBox Live... Подозреваю, что нет.
А я подозреваю, что да. Они обещали добавить авторизацию для игры в онлайне в целом. "Оффлайн" режим конечно же останется, но для "онлайн" режима потребуется авторизация в лайве/аккаунтах моянга. Как на ПК в общем.
 
Top