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

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

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

  1. жорка

    жорка Активный участник

    Баллы:
    68
    Имя в Minecraft:
    Qyer
    Ребят русифицированые обновления сделал но не работает русский язык на windows XP на 7 все в порядке
     
  2. Хостинг MineCraft
    <
  3. Mombot

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

    Баллы:
    68
    Достал его из minecraft.jar, который лежит в bin, и редактировал InClassTranslator 11 строку. Если что вот мой adl.class.
     

    Вложения:

    • adl.zip
      Размер файла:
      13,8 КБ
      Просмотров:
      11
    Cutekotik нравится это.
  4. AvriX

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

    Баллы:
    88
    @Mombot, я заменил, и при входе на сервер виснет на "Подключение к серверу". Не знаешь, почему?
     
    RVXman нравится это.
  5. Mombot

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

    Баллы:
    68
    @AvriX, это скорее всего из-за minecraft forge. Какая версия на клиенте?
     
  6. AvriX

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

    Баллы:
    88
    хз, я качал клиент...
     
  7. AvriX

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

    Баллы:
    88
    мне фордж из-за индустриала нужен... не подскажешь, как исправить?
     
  8. Mombot

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

    Баллы:
    68
    Скачай этот. И попробуй поставить поверх старого, а потом заменить файл или отредактировать.
     
  9. AvriX

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

    Баллы:
    88
    спасибо, попробую
     
  10. ekstrimal94

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

    Баллы:
    68
    Подскажите плиз.
    все правильно сделал, но при подключении пишет
     

    Вложения:

    • 1.png
      1.png
      Размер файла:
      24,6 КБ
      Просмотров:
      47
  11. AvriX

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

    Баллы:
    88
    поставил твой forge на клиент... на сервер теперь пускает, но сразу выкидывает с ошибкой: This server requires you to have minecraft forge installed.
     
  12. Alex_Logos

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

    Баллы:
    61
    Помогите!! Я держу сервер на 50 человек и решил сделать все по-человечески: лаунчер свойс авторизацией, сайт с БД, сервер и т.д. и вроде начало получаться. В лаунчере авторизация проходит. Но на самом последнем этапе оказалось что сервер на онлайн-мод=тру не может меня с моим клиентом подключить. Просто не коннектится: висит коннектинг то сервер. Я даже не пойму от чего. Подскажите что делать пожалуйста!!
     
  13. Cutekotik

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

    Баллы:
    63
    Имя в Minecraft:
    Cutekotik
    вот спасибо, теперь наконец все работает. Супер ура
     
  14. Mombot

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

    Баллы:
    68
    @AvriX, это означает что версия которая стоит на сервере не совпадает с версией на клиенте.

    @Cutekotik, не за что)
     
  15. жорка

    жорка Активный участник

    Баллы:
    68
    Имя в Minecraft:
    Qyer
    В скайп звони gera_ru366
     
  16. karolize

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

    Баллы:
    153
    Проверь сначала скрипты авторизации. Если они покажут что всё работает, значит что-то где-то неправильно сделал.
     
  17. maxyo

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

    Баллы:
    63
    Имя в Minecraft:
    maxyo
    Переделал авторизацию под wordpress.. Если кому-то нужно, могу выложить:cool:
     
  18. karolize

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

    Баллы:
    153
    Выложи под спойлер, проверю)
     
  19. kostya163

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

    Баллы:
    68
    Народ помогите пожалуйста я все сделал лаунчер работает на сервере все проверят тоже все норм, НО когда я Вставляю ссылку к новостям у меня тупо серый экран и не чего не появляется. Заранее спасибо
     
  20. maxyo

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

    Баллы:
    63
    Имя в Minecraft:
    maxyo
    В auth.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];

    if (wp_check_password($password, $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';
    }
    А в function.php добавил пару функций из wordpress'а.
    if(!defined('INCLUDE_CHECK')) die('У вас нет прав на выполнение данного файла!');
    require_once('class-phpass.php');
    function generateSessionId(){
    // generate rand num
    srand(time());
    $randNum = rand(1000000000, 2147483647).rand(1000000000, 2147483647).rand(0,9);
    return $randNum;
    }

    function getGameInfo($type){
    include ("connect.php");
    switch($type){
    case 'build':
    $query = mysql_query("SELECT * FROM $db_GameDatatable WHERE $db_Propertycolumn = 'latest-game-build'") or die ("Запрос к базе завершился ошибкой.");
    $resource = mysql_fetch_array($query);
    return $resource[$db_Valuecolumn];
    break;

    case 'launcher':
    $query = mysql_query("SELECT * FROM $db_GameDatatable WHERE $db_Propertycolumn = 'launcher-version'") or die ("Запрос к базе завершился ошибкой.");
    $resource = mysql_fetch_array($query);
    return $resource[$db_Valuecolumn];
    break;

    }
    }
    function wp_hash_password($password) {
    global $wp_hasher;

    if ( empty($wp_hasher) ) {

    // By default, use the portable hash from phpass
    $wp_hasher = new PasswordHash(8, TRUE);
    }

    return $wp_hasher->HashPassword($password);
    }
    function wp_check_password($password, $hash, $user_id = '') {
    global $wp_hasher;

    // If the hash is still md5...
    if ( strlen($hash) <= 32 ) {
    $check = ( $hash == md5($password) );
    if ( $check && $user_id ) {
    // Rehash using new hash.
    $hash = wp_hash_password($password);
    }

    return $check;
    }

    // If the stored hash is longer than an MD5, presume the
    // new style phpass portable hash.
    if ( empty($wp_hasher) ) {

    // By default, use the portable hash from phpass
    $wp_hasher = new PasswordHash(8, TRUE);
    }

    $check = $wp_hasher->CheckPassword($password, $hash);

    return $check;
    }
    function checkPass($realPass,$password){
    if (strlen($realPass) == 32)
    {
    $cp = md5($password);
    }
    else {
    if(strpos($realPass,'$SHA$') !== false)
    {
    $ar = preg_split("/\\$/",$realPass);
    $salt = $ar[2];
    $cp = '$SHA$'.$salt.'$'.hash('sha256',hash('sha256',$password).$salt);
    }
    else
    {
    $saltPos = (strlen($password) >= strlen($realPass) ? strlen($realPass) : strlen($password));
    $salt = substr($realPass, $saltPos, 12);
    $hash = hash('whirlpool', $salt . $password);
    $cp = substr($hash, 0, $saltPos) . $salt . substr($hash, $saltPos);
    }
    }

    if ($realPass==$cp) {
    return true;
    }
    else {
    return false;
    }
    }
    Знаю оставил много лишнего, но ведь главное, что работает:)
     
  21. maxyo

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

    Баллы:
    63
    Имя в Minecraft:
    maxyo
    Ой, забыл сказать, что добавил класс phpass, он нужен для шифровки.
     

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