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

Помогите настроить joinserver.php webCMR

Тема в разделе "[Архив] Помощь", создана пользователем qwertyYy2, 20 дек 2012.

  1. Автор темы
    qwertyYy2

    qwertyYy2 Старожил

    Баллы:
    103
    Скачал NetClientHandler с отправкой MD5 на joinserver.php (блокировка кнопки "Сетевая игра")
    Так вот, нужно правильно настроить joinserver.php, как бы сказать обьеденить :) использую лк WebCMR
    joinserver.php (webCMR)

    Код:
    <?php
    require_once('../system.php');
     
    if (!empty($_GET['sessionId']) and !empty($_GET['user']) and !empty($_GET['serverId'])) {
     
        $sessionid = mysql_real_escape_string($_GET['sessionId']);
        $login = mysql_real_escape_string($_GET['user']);
        $serverid = mysql_real_escape_string($_GET['serverId']);
     
        if (!preg_match("/^[a-zA-Z0-9_-]+$/", $login)) {
     
                    $str = "Join Server [Bad symbols Login] ";
                    echo "Bad login";
     
        } elseif (!preg_match("/^[0-9]+$/", $sessionid)) {
     
                    $str = "Join Server [Bad symbols SessionId] ";
                    echo "Bad login";
     
        } elseif (!preg_match("/^[a-z0-9_-]+$/", $serverid)) {
     
                    $str = "Join Server [Bad symbols ServerId] ";
                    echo "Bad login";
        } else {
     
            $str = "Join Server [Info] Session [$sessionid] | User [$login] | Server [$serverid]\r\n";
     
            $result = BD("SELECT $bd_aUsername FROM $bd_table_accounts WHERE $bd_aSession='$sessionid' AND $bd_aUsername='$login' AND $bd_aServer='$serverid'");
     
            if(mysql_num_rows($result) == 1){
                $str .= "Join Server [Result] Relogin OK";
                echo "OK";
            } else {
     
            $result = BD("UPDATE $bd_table_accounts SET $bd_aServer='$serverid' WHERE $bd_aSession='$sessionid' AND $bd_aUsername='$login'");
     
                if(mysql_affected_rows() == 1){
                    $str .= "Join Server [Result] Login OK";
                    echo "OK";
                } else {
                    $str .= "Join Server [Result] Bad Login NO";
                    echo "Bad login";
                }
            }
     
        }
     
     
    } else {
     
        $str = "Join Server [Result] GET parameter empty ";
        if (empty($_GET['user'])) $str .= "LOGIN parameter is empty | ";
        if (empty($_GET['sessionId'])) $str .= "SESSIONID parameter is empty";
        if (empty($_GET['serverId'])) $str .= "SERVERID parameter is empty";
     
        echo "Bad login";
     
    }
     
    vtxtlog($str);
    ?>
    Joinserver.php (с проверкой)

    Код:
    <?php
    define('INCLUDE_CHECK',true);
    include ("connect.php");
     
    $sessionid = mysql_real_escape_string($_GET['sessionId']);
    $user = mysql_real_escape_string($_GET['user']);
    $serverid = mysql_real_escape_string($_GET['serverId']);
    //**********************************************************************
    $md5 = $_GET["s"];                                                    //
    $realmd5 = md5(file_get_contents("MinecraftDownload/minecraft.jar"));  // Сверяем MD5
    //**********************************************************************
    $result = mysql_query("Select $db_columnUser From $db_table Where $db_columnSesId='$sessionid' And $db_columnUser='$user' And $db_columnServer='$serverid'") or die ("Запрос к базе завершился ошибкой.");
    //**********************************************************
    if($md5 == $realmd5 or die ("Нарушение безопасности."))  // Ответ клиенту при неверном MD5
    //**********************************************************
    if(mysql_num_rows($result) == 1)
    {
        echo "OK";
    } else {
     
    $result = mysql_query("Update $db_table SET $db_columnServer='$serverid' Where $db_columnSesId='$sessionid' And $db_columnUser='$user'") or die ("Запрос к базе завершился ощибкой.");
     
        if(mysql_affected_rows() == 1){
            echo "OK";
        } else {
            echo "Используйте Лаунчер";
        }
    }
    ?>
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    qwertyYy2

    qwertyYy2 Старожил

    Баллы:
    103
    если что, 2 файла joinserver
    с проверкой, и от webCMR
     

    Вложения:

    • joinserver.zip
      Размер файла:
      2 КБ
      Просмотров:
      31

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