1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Туториал Скрипт: Ник в UUID при offline-mode=false [PHP]

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем max--2, 14 авг 2014.

Метки:
  1. Автор темы
    max--2

    max--2 Старожил Пользователь

    Баллы:
    173
    Многие столкнулись с проблемой в некоторых плагинах, которые подключены к MySql, когда вместо ника нужно использовать UUID, например PermissionsEx. Данная проблема легко решается.

    Для этого используем данный скрипт: uuid.php (файл прикреплен) *Убрать расширение .txt
    1) Кладем скрипт в одну папку с вашим скриптом, в котором хотим изменить ник в UUID.
    2) Подключаем его к скрипту.
    PHP:
    require_once('uuid.php');
    3) И в место, где хотим перевести ник, вставляем следующее:
    Код:
    uuidConvert($nick_player)
    Где $nick_player - ник игрока.

    Скрипт был взят с одного иностранного сайта. Увы, источник не помню.
     

    Вложения:

    • uuid.php.txt
      Размер файла:
      1,1 КБ
      Просмотров:
      466
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Полезная фишка, теперь лузеры офлайн и онлайн будут одинаковыми.
     
  3. MySt1k

    MySt1k Старожил Пользователь

    Баллы:
    173
    Спасибо. Я кстати тоже пытался написать такой же скрипт для системы скинов, но потом забил, так как @alexandrage не захотел мне рассказать, как новая система скинов работает. Пришлось пользоваться его фиксом )
    Хм... вижу тут нет обратной конвертации (Из uuid -> nickname )... надо бы добавить
     
  4. Автор темы
    max--2

    max--2 Старожил Пользователь

    Баллы:
    173
    Сомневаюсь, тут md5 идет шифрование. Выход только заносить или брать из другой какой-то таблицы, где уже есть uuid с ником игрока.
     
  5. MySt1k

    MySt1k Старожил Пользователь

    Баллы:
    173
    Врядли... Мне уже писали по этому поводу. Сейчас кину набросок
     
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Да обратно не получится, там сперва md5 ника идет.
     
  7. MySt1k

    MySt1k Старожил Пользователь

    Баллы:
    173
    Да... Вы правы... В моем способе это реализуется с помощью API Mojang.
    PHP:
    function getUsername($uuid$timeout 4) {
        if(
    strlen($uuid) != 32)
            return 
    false;
        
    $opts = array(
            
    'http' => array(
                
    'timeout' => $timeout
            
    )
        );
        
    $context  stream_context_create($opts);
        
    $json = @file_get_contents('https://sessionserver.mojang.com/session/minecraft/profile/'.$uuidfalse$context);
        
    $result json_decode($jsontrue);
        if(empty(
    $result))
            return 
    false;
        
    $username $result['name'];
        return 
    $username;
    }
    $UUID 'uuid';
    if(
    $username getUsername($UUID)) echo $username;
    else echo 
    'Error: invalid UUID or Mojang server down!';
    Так что, @alexandrage, прошу тебя добавить в mysql таблицу колонку для uuid, которая будет регистрироваться при авторизации в лаунчере )
     
    Последнее редактирование: 16 авг 2014
  8. ranek

    ranek Старожил Пользователь

    Баллы:
    123
    if($username = getUsername($UUID)) ошибочку исправь.
     
    Последнее редактирование: 18 авг 2014
  9. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Так оно уже давно так, иначе просто не получится пройти авторизацию 1.7.+
     
  10. ipv2007

    ipv2007 Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    ipv2007
    Может кто сталкивался с такой проблемой.
    После того, как лаунчер был привязан к сайту и в настройках onlinemode был выставлен на true, ники стали конвертироваться в UUID по-другому. С чем это может быть связано?
     
  11. Yuri123456

    Yuri123456 Активный участник Пользователь Заблокирован

    Баллы:
    88
    Skype:
    fizika941
    Имя в Minecraft:
    TneRED
    устновил плагин uuidsql сделал запрос вывел нужный uuid
    Скрипт возьму себе мало ли пригодиться
     
  12. Sanya007vuch

    Sanya007vuch Активный участник Пользователь

    Баллы:
    68
    Ап.
    Ники конвертируются иначе при online-mode:true
     
  13. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
  14. ipv2007

    ipv2007 Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    ipv2007
    Никак не могу понять, почему:
    Если онлайн моде выставить на false имя coolman переводилось в UUID как:
    b0d1aa3a-3d34-3e1f-a93e-f14aad70c210.dat
    а если выставить значение онлайн моде в true, он этот же ник переводит вот так:
    006dfa19-820f-039f-5806-dc8aa2c5188f.dat

    Отсюда вопрос, почему так происходит:
    1. из-за того, что к нику что-то дописывается?
    2. какой-то другой метод шифрования у веб части?
    3. что-то еще?

    Повторюсь, что это произошло после того, как я изменил ссылки в ядре и клиенте на свои (свой сайт).
     
  15. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Значит у тебя генерация уидов в лаунчере отличается. Юзай этот скрипт в своем лаунчере для генерации уидов и будет одинакого.
     
  16. ipv2007

    ipv2007 Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    ipv2007
    Прогаммисты лаунчера SAP говорят, что их лаунчер не использует генерацию UUID...

    Как я понимаю UUID метод шифрования один и он не должен по-разному шифровать одно и тоже имя...
    Как можно узнать метод шифрования при выставлении онлайн мода в true, чтобы ЛК переделать под это шифрование?
     
  17. InterVi

    InterVi Старожил Пользователь

    Баллы:
    173
    А вот хрен их знает, соль наверно добавляют. Им ведь захотелось прекратить кражу ников ради скинов, вот генерация и отличается. Перепели под свою базу юидов (@Reality_SC так делал), или вообще вырежи эту мерзость (не понимаю почему ее все поддерживают).
     
  18. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Это гадость только по той причине, что заставляет всех приспосабливаться к нововведениям. Сами по себе UUID-ы прекрасны и логичны: игрок есть игрок, вне зависимости от ника. Захотел — ник поменял, всё остальное осталось.
     
  19. InterVi

    InterVi Старожил Пользователь

    Баллы:
    173
    На лицензионном сервере. А на 99% остальных юид все равно сменится, сама его поддержка в плагинах работает через задницу.
     
  20. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    У меня вполне себе полноценная замена Mojang-а своими скриптами, хотя на 100% ещё не всё излечено. Буквально за последние 7 дней научил сервер и клиент без фиксов плагинов переадресовывать все обращения к Mojang API на меня. Грамотно выходит, бля, хотя ещё работы много :)
     

Поделиться этой страницей