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

Туториал [урок] система авторизации клиента

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем byxar, 6 ноя 2011.

  1. Grim

    Grim Активный участник

    Баллы:
    78
    Skype:
    desscreamer1
    Код:
    <?php
        $salt  = JUserHelper::genRandomPassword(32);
        $crypt = JUserHelper::getCryptedPassword('11111', $salt);
        $password = $crypt.':'.$salt;
    ?>
    вроде такой вот алгоритм шифрования у joomla 1.5 например.
    а как шифруешь ты?
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    byxar

    byxar Старожил Девелопер

    Баллы:
    103
    в папке bin нет файла version, который создается при обновлении
    это не ко мне, я в java не силен
    попозже зделаю
    вот вам скрипты для проверки системы. закидываете в папку к скриптам auth.php, joinserver.php, checkserver.php.
    заходите на index1.php и вводите логин, пароль, в поле версии пишете 13. ответ должен быть в таком виде:
    Код:
    цифры:цифры:ваш_логин:нужные_цифры:
    копируете нужные цифры(что что после логин, без :, если выдало что то другое - не правильно настроили.

    заходите на index2.php. вводите логин, сессия - сюда вводите те нужные цифры, что скопировали, сервер - введите 1. если получили ОК, значит все нормально, иначе проверяйте настройки.

    теперь переходите на index3.php и вводите логин, сервер - введите 1. если YES, значит скрипт работает нормально, иначе проверяйте настройки.
     

    Вложения:

    • auth_check.zip
      Размер файла:
      1,2 КБ
      Просмотров:
      1.123
    artur1998g, deno10, jkl1234 и ещё 1-му нравится это.
  4. General

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

    Баллы:
    123
    мб мне кто-нибудь поможет заставить лаунчер считывать md5 от Joomla 1.7 ?
     
  5. UfaRock

    UfaRock Участник

    Баллы:
    28
    Skype:
    RockUfa
    Не получается зайти на сервер. Пишет "User not premium".
    В лаунчере все верно (5 раз перепроверил).
    Думаю дело в буккитовском классе.

    InClassTrnslator
    Сохраняю строчку
    Код:
    http://icraft.su/auth/checkserver.php?user=
    Он пишет просто
    Код:
    http://icraft.su/auth/checkserver.php?user
    По дефолту в буккит было
    Код:
    http://session.minecraft.net/game/checkserver.jsp?user-
    Изменяю на
    Код:
    http://icraft.su/auth/checkserver.php?user-
    Все равно одно и то же. Как исправить? Совсем руки опустились(

    Еще заметил что если в браузере зайти на
    Код:
    http://icraft.su/auth/checkserver.php?user=VareZzZ
    Он мне пишет
    Код:
    NO
    Так и должно быть?
     
  6. repeat

    repeat Старожил Девелопер Пользователь

    Баллы:
    123
    да. кроме юзера передаётся ещё пароль и может ещё что-то, не помню

    byxar, эт не под тебя я launcherN037 делал с полем пароля и затачивал под эту систему?
     
  7. Автор темы
    byxar

    byxar Старожил Девелопер

    Баллы:
    103
    после user должно быть =, и только он.
    да, помимо логина еще посылается ид сервера
    нет, я твоими услугами еще не пользовался, но начальные исходники брал отсюда и редактровал
     
  8. UfaRock

    UfaRock Участник

    Баллы:
    28
    Skype:
    RockUfa
    Сделай пожалуйста под мою ссылку, у меня знак равно не ставится(
    Код:
    http://icraft.su/auth/checkserver.php?user=
     
  9. Автор темы
    byxar

    byxar Старожил Девелопер

    Баллы:
    103
    с первого раза получилось =\
     

    Вложения:

  10. z0z1ch

    z0z1ch Старожил Девелопер Пользователь

    Баллы:
    123
    Приведи файл auth.php к такому виду
    PHP:
    <?php
    define
    ('INCLUDE_CHECK',true);
    require_once 
    'functions.php';
    include (
    "connect.php");
    $login=$_POST['user'];
    $password=$_POST['password'];
    $ver=$_POST['version'];

            if(
    getGameInfo('launcher') == $ver){

                
    $result mysql_query("SELECT $db_columnPass FROM $db_table WHERE $db_columnUser='$login'") or die ("Запрос к базе завершился ошибкой."); //извлекаем из базы все данные о пользователе с введенным логином
                    
    $myrow mysql_fetch_array($result);
                    
    $realPass $myrow[$db_columnPass];
                    
    $realPass $realPass[0];
                    
    $parts explode':'$realPass);

                    if (
    count($parts) < 2$checkPass md5($password);
                    else
                    {
                        
    $salt $parts[1];
                        
    $checkPass md5($password $salt) . ":" $salt;
                    }

                    if (
    $checkPass == $realPass)
                    {
                        
    $sessid generateSessionId();
                        
    $gamebuild=getGameInfo('build');

                        
    mysql_query("UPDATE $db_table SET $db_columnSesId='$sessid' WHERE $db_columnUser = '$login'") or die ("Запрос к базе завершился ошибкой.");

                        
    $dlticket md5($login);
                        echo 
    $gamebuild.':'.$dlticket.':'.$login.':'.$sessid.':';
                    }
                else {
                    echo 
    "Bad login";
                    }
            }
            else{
                echo 
    'Old version';
                }
    ?>
    P.S. Скрипт не проверял могут быть ошибки (если что исправлю), но где-то месяц назад интегрировал лаунчер с joomla 1.7 все работало.
     
    RVXman нравится это.
  11. UfaRock

    UfaRock Участник

    Баллы:
    28
    Skype:
    RockUfa
    У меня тоже оказывается всё получалось. Но всеравно говорит что User not premium.
    Я решил копнуть глубже - поставил сниффер.
    Снифф увидел пакет

    Код:
    http://session.minecraft.net/game/joinserver.jsp?user=VareZzZ&sessionId=2***********47594&serverId=98d2************
    тоесть даже к ссылке
    Код:
    http://icraft.su/auth/checkserver.php?user=
    он и не притрагивается. Как же так?
    Надо бы найти эту ссылку и изменить)
     
  12. z0z1ch

    z0z1ch Старожил Девелопер Пользователь

    Баллы:
    123
    UfaRock, ты не модифицировал клиент, прочитай первое сообщение еще раз.
    P.S. к joinserver.jsp обращается клиент а не сервер.
     
  13. UfaRock

    UfaRock Участник

    Баллы:
    28
    Skype:
    RockUfa
    Вот что значит жестко тупанул =D
    Кстати. В клиенте можно ссылку заменить с помощью InClassTranslator
    имя класса для смены ссылки - wt.class
     
  14. UfaRock

    UfaRock Участник

    Баллы:
    28
    Skype:
    RockUfa
    Огромное спасибо byxar и z0z1ch. Все получилось, все работает!
     
    Likeobot и wergio28 нравится это.
  15. General

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

    Баллы:
    123
    не помогло, щя попробую кое что ещё.
     
  16. z0z1ch

    z0z1ch Старожил Девелопер Пользователь

    Баллы:
    123
    General, да действительно была ошибка.
    В файл functions.php добавил поддержку пароля от joomla 1.6-1.7 (надеюсь автор не против)
    P.S. General, файл auth.php модифицировать не нужно.
     

    Вложения:

    • functions.zip
      Размер файла:
      982 байт
      Просмотров:
      68
    Beregovoy и General нравится это.
  17. Автор темы
    byxar

    byxar Старожил Девелопер

    Баллы:
    103
    в разных версиях этотфайл назыветься по разному
     
    Сникерсни нравится это.
  18. Автор темы
    byxar

    byxar Старожил Девелопер

    Баллы:
    103
    конечно не против, я только за
     
    Attelis нравится это.
  19. LiveD

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

    Баллы:
    153
    Skype:
    LiveDRus
    Кто может интегрировать эту систему с IPB?
     
  20. LiveD

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

    Баллы:
    153
    Skype:
    LiveDRus
    Как тут создать юзера?
     
  21. Grim

    Grim Активный участник

    Баллы:
    78
    Skype:
    desscreamer1
    работаю над этим. с авторизацией пиши в пм. скины пока в процессе
     
    LiveD нравится это.

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