Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
  • Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Лаунчер Система скинов + авторизация через лаунчер

Ошибка в скрипте, позже поправлю, замени содержимое на это:
PHP:
<?php
define('INCLUDE_CHECK',true);
require_once 'functions.php';
include ("connect.php");
$login = $_POST['user'];
$postPass=$_POST['password'];
$ver=$_POST['version'];
 
        if(getGameInfo('launcher') == $ver){
 
                if ($crypt == 'hash_md5' || $crypt == 'hash_authme' || $crypt == 'hash_xauth' || $crypt == 'hash_cauth' || $crypt == 'hash_joomla' || $crypt == 'hash_wordpress' || $crypt == 'hash_dle')
                {
                    $row = mysql_fetch_assoc(mysql_query("SELECT $db_columnUser,$db_columnPass FROM $db_table WHERE $db_columnUser='{$_POST['user']}'"));
                    $realPass = $row[$db_columnPass];
                }
 
                if ($crypt == 'hash_ipb' || $crypt == 'hash_vbulletin')
                {
                    $row = mysql_fetch_assoc(mysql_query("SELECT $db_columnUser,$db_columnPass,$db_columnSalt FROM $db_table WHERE $db_columnUser='{$_POST['user']}'"));
                    $realPass = $row[$db_columnPass];
                    $salt = $row[$db_columnSalt];
                }
                 
                if ($crypt == 'hash_xenforo')
                {
                    $row = mysql_fetch_assoc(mysql_query("SELECT $db_table.$db_columnId,$db_table.$db_columnUser,$db_tableOther.$db_columnId,$db_tableOther.$db_columnPass FROM $db_table, $db_tableOther WHERE $db_table.$db_columnId = $db_tableOther.$db_columnId AND $db_table.$db_columnUser='{$_POST['username']}'"));
                    $realPass = substr($row[$db_columnPass],22,64);
                    $salt = substr($row[$db_columnPass],105,64);
                }
 
                    if ($realPass)
                    {
                        $checkPass = $crypt();
                     
                        if(strcmp($realPass,$checkPass) == 0)
                        {
                            $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 "Bad login";
                    }
        }
        else{
            echo 'Old version';
            }
?>
 
@MOHCTEP, скинь весь скрипт авторизации и загрузки скинов который ты используешь ( архивом), пароль к бд можешь затереть
 
Какой путь до файла авторизации в лаунчере прописан?
 
Так хорошо.
Какой адрес ты вводишь в браузере для открытия страницы загрузки скинов?
 
Короче...
Удали все скрипты которые у тебя есть, скачай еще раз все с гитхаба (пофиксил ошибку) https://github.com/byxar/MinecraftSkinSystem/zipball/master
Скопируй содержимое папки "system_forums(based on byxar's edition)" туда где у тебя были скрипты.
Настрой файл connect.php и config.php
В клиенте путь к файлу авторизации http://127.0.0.1/auth.php при условии что скрипт смены скинов доступен по адресу http://127.0.0.1
 
Подскажите как этот скрипт подружить с кирилицой ?
 
Не пойму в чем дело указываю коннект выдаёт Невозможно установить соединение с базой данных! всё указал правильно может я штото не так делаю хз смотрим вложенный вайл. Есле нетрудно добавьте в скайп rzubov98
 

Вложения:

  • 1.png
    1.png
    Размер файла
    242 КБ
    Просмотров
    79
Всем привет. У меня возник такой вопрос: Смогу ли я войти на сервер через лаунчер (ввод логина и пароля), если:
1) Использую базу регистрации игроков с IP - 1.2.3.4
2) А сервер стоит на машине с IP - 4.3.2.1
То есть, будет связь через сайт и с сайта на серверную машину?
 
Не пойму в чем дело указываю коннект выдаёт Невозможно установить соединение с базой данных! всё указал правильно может я штото не так делаю хз смотрим вложенный вайл. Есле нетрудно добавьте в скайп rzubov98
посмотри внимательно на скрин, ошибка очевидна.
Всем привет. У меня возник такой вопрос: Смогу ли я войти на сервер через лаунчер (ввод логина и пароля), если:
1) Использую базу регистрации игроков с IP - 1.2.3.4
2) А сервер стоит на машине с IP - 4.3.2.1
То есть, будет связь через сайт и с сайта на серверную машину?
должно работать, если к базе открыт доступ из вне
 
@Elecman,
Значит что то неправильно сделал.
 
Вдохновляющий ответ:D
Ладно, скажу понятнее:
1) Что мы делаем, мы скачиваем MCP 5.0 и декомпилируем клиент.
30371944.png
2) Отлично, клиент декомпилировали, идем в папку mcp50\src\minecraft\net\minecraft\src
И ищем 2 файла: NetClientHandler.java, ThreadCheckHasPaid.java (С версии 1.0.0)
NetClientHandler.java
Далее, ищем строчку http://session.minecraft.net/game/joinserver.jsp?user=​
В моем случае, я прописал http://www.mysite.ru/auth/joinserver.php?user=​
ThreadCheckHasPaid.java
3) Все сделали, сохраняем. Идем в папку MCP 5.0 запускаем recompile.bat, а после reobfuscate.bat.
4) После этого идем в папку mcp50\reobf\minecraft - > Там видим файлы abp.class, hr.class
5) Идем в папку с нашим клиентом Minecraft, открываем minecraft.jar, кидаем туда наши измененныe файлы abp.class, hr.class и удаляем папку META-INF
6) Далее в лаунчере, меняем все как по гайду: [ГАЙД]
В моем случае я менял:

Код:
public void login(String userName, String password) {
    try {
      String parameters = "user=" + URLEncoder.encode(userName, "UTF-8") + "&password=" + URLEncoder.encode(password, "UTF-8") + "&version=" + 13;
      String result = Util.excutePost("http://www.mysite.ru/auth/auth.php", parameters);
      if (result == null) {
        showError("Невозможно подключится к серверу!");
        loginForm.setNoNetwork();
        return;
      }
      if (!result.contains(":")) {
        if (result.trim().equals("Bad login")) {
          showError("Неправильный логин или пароль!");
        } else if (result.trim().equals("Old version")) {
          loginForm.setOutdated();
          showError("Нужно обновить лаунчер!");
        } else {
          showError(result);
        }
        loginForm.setNoNetwork();
        return;
      }
      String[] values = result.split(":");
 
      launcher = new Launcher();
      launcher.customParameters.putAll(customParameters);
      launcher.customParameters.put("userName", values[2].trim());
      launcher.customParameters.put("latestVersion", values[0].trim());
      launcher.customParameters.put("downloadTicket", values[1].trim());
      launcher.customParameters.put("sessionId", values[3].trim());
      launcher.init();
 
      removeAll();
      add(launcher, "Center");
      validate();
      launcher.start();
      loginForm.loginOk();
      loginForm = null;
      setTitle("Minecraft");
    } catch (Exception e) {
      e.printStackTrace();
      showError(e.toString());
      loginForm.setNoNetwork();
    }
  }

7) Далее, возьмем файл ThreadLoginVerifier.class из сервера craftbukkit-1.0.1-R1.jar (В моем случае)
Изменим: http://session.minecraft.net/game/checkserver.jsp?user=
На (В моем случае) http://www.mysite.ru/auth/joinserver.php?user=
8) Закинем обратно в сервер и проверим работоспособнность!
Эх...
20111223175609.png
Прошу помочь!
P.S. Сайт и сервер на двух разных машинах. На сайте удаленное использование mysql разрешено
 

Вложения:

  • 1.png
    1.png
    Размер файла
    64,9 КБ
    Просмотров
    62

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

Назад
Верх