Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

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

Discussion in 'Руководства, инструкции, утилиты' started by max--2, Aug 14, 2014.

  1. Автор темы
    max--2

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

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

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

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

    Attached Files:

  2. Хостинг MineCraft
    <
  3. alexandrage

    alexandrage Администратор

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

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

    Trophy Points:
    173
    Спасибо. Я кстати тоже пытался написать такой же скрипт для системы скинов, но потом забил, так как @alexandrage не захотел мне рассказать, как новая система скинов работает. Пришлось пользоваться его фиксом )[DOUBLEPOST=1408193983,1408193901][/DOUBLEPOST]Хм... вижу тут нет обратной конвертации (Из uuid -> nickname )... надо бы добавить
     
  5. Автор темы
    max--2

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

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

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

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

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Да обратно не получится, там сперва md5 ника идет.
     
  8. MySt1k

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

    Trophy Points:
    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, которая будет регистрироваться при авторизации в лаунчере )
     
    Last edited: Aug 16, 2014
  9. ranek

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

    Trophy Points:
    123
    if($username = getUsername($UUID)) ошибочку исправь.
     
    Last edited: Aug 18, 2014
  10. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Так оно уже давно так, иначе просто не получится пройти авторизацию 1.7.+
     
  11. ipv2007

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

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

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

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

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

    Trophy Points:
    68
    Ап.
    Ники конвертируются иначе при online-mode:true
     
  14. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
  15. ipv2007

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

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

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

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

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Значит у тебя генерация уидов в лаунчере отличается. Юзай этот скрипт в своем лаунчере для генерации уидов и будет одинакого.
     
  17. ipv2007

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

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

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

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

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

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

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

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Пустая трата времени и сил, никому эта смена ников ненужна, кроме самих моджангов. Ибо там лицуха, и для смены ника приходилось покупать еще ключик. А на своем лаунчере, зарегался еще раз, перебросил вещички со старого акка и все. Пруфит!
     
  21. Reality_SC

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

    Trophy Points:
    123
    Имя в Minecraft:
    Reality_SC
    Если серверов несколько, а профиль общий, удобство растёт с увеличением числа серверов :)
    Всё равно удобно в ряде случаев.
     

Share This Page