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

Помогите Проблемы с регистром на линуксе

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

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

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

    Баллы:
    153
    Skype:
    d.r.i.v.t
    Имя в Minecraft:
    SensoR2x
    Если поменять регистер ника и зайти на сервер, то сервер считает этого человека как за нового. Сервер на линукс. Без плагинов. CB 1.4.5 R0.2 Beta, на Windows всё в порядке.

    slenky
    fromgate
    Ission
    Помогите
     
  2. Хостинг MineCraft
    <
  3. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    Это специфика файловой системы *nix'ов. Файлы с разными регистрами являюится разными, а игрок, как известно, хранится в файле <ник>.dat.
     
    Сникерсни, slavik123123123, SensoR и ещё 1-му нравится это.
  4. LaserJet

    LaserJet Участник

    Баллы:
    28
    Это то и нам известно , а вот как это можно фиксануть ...

    ADD: Большинство серверов на *nix системе , но там все отлично ! Зашел первый раз допустим с ником plaYER , то потом хоть сколько раз меняй , все равно зайдет с под plaYER
     
    I-Am-Black-Overlord нравится это.
  5. LaserJet

    LaserJet Участник

    Баллы:
    28
    Но я отлично помню , что на 1.2.5 r5.0 все работало на УРА ! То есть то , что я уже говорил .
     
  6. CryBot

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

    Баллы:
    88
    Если лаунчер привязан к сайту, то в скрипте авторизации сделай проверку логина.
     
    LaserJet нравится это.
  7. LaserJet

    LaserJet Участник

    Баллы:
    28
    Вопросик . Как ?
     
  8. LaserJet

    LaserJet Участник

    Баллы:
    28
    <?php
    define('INCLUDE_CHECK',true);
    error_reporting(0);
    require 'config.php';
    require 'functions.php';
    include ('connect.php');
    $login = mysql_real_escape_string($_POST['user']);
    $postPass=mysql_real_escape_string($_POST['password']);
    $ver=mysql_real_escape_string($_POST['version']);

    if (!preg_match("/^[a-zA-Z0-9_-]+$/", $login) || !preg_match("/^[a-zA-Z0-9_-]+$/", $postPass) || !preg_match("/^[a-zA-Z0-9_-]+$/", $ver)){

    echo "Bad login";

    exit;
    }

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

    if ($crypt == 'hash_md5' || $crypt == 'hash_authme' || $crypt == 'hash_xauth' || $crypt == 'hash_cauth' || $crypt == 'hash_joomla' || $crypt == 'hash_drupal' || $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_columnOther FROM $db_table WHERE $db_columnUser='{$_POST['user']}'"));
    $realPass = $row[$db_columnPass];
    $salt = $row[$db_columnOther];
    }

    if ($crypt == 'hash_xenforo')
    {
    $row = mysql_fetch_assoc(mysql_query("SELECT $db_table.$db_table.$db_columnUser,$db_tableOther.$db_tableOther.$db_columnPass FROM $db_table, $db_tableOther WHERE $db_table.$db_columnId = $db_tableOther.$db_columnId AND $db_table.$db_columnUser='{$_POST['user']}'"));
    $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';
    }
    ?>
    Скрипт авторизации
     
    SensoR нравится это.
  9. CryBot

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

    Баллы:
    88
    Проверьте. На скорую руку отредактировал
    <?php
    define('INCLUDE_CHECK',true);
    error_reporting(0);
    require 'config.php';
    require 'functions.php';
    include ('connect.php');
    $login = mysql_real_escape_string($_POST['user']);
    $postPass=mysql_real_escape_string($_POST['password']);
    $ver=mysql_real_escape_string($_POST['version']);

    if (!preg_match("/^[a-zA-Z0-9_-]+$/", $login) || !preg_match("/^[a-zA-Z0-9_-]+$/", $postPass) || !preg_match("/^[a-zA-Z0-9_-]+$/", $ver)){

    echo "Bad login";

    exit;
    }

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

    if ($crypt == 'hash_md5' || $crypt == 'hash_authme' || $crypt == 'hash_xauth' || $crypt == 'hash_cauth' || $crypt == 'hash_joomla' || $crypt == 'hash_drupal' || $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];
    $realUser = $row[$db_columnUser];
    }

    if ($crypt == 'hash_ipb' || $crypt == 'hash_vbulletin')
    {
    $row = mysql_fetch_assoc(mysql_query("SELECT $db_columnUser,$db_columnPass,$db_columnOther FROM $db_table WHERE $db_columnUser='{$_POST['user']}'"));
    $realPass = $row[$db_columnPass];
    $realUser = $row[$db_columnUser];
    $salt = $row[$db_columnOther];
    }

    if ($crypt == 'hash_xenforo')
    {
    $row = mysql_fetch_assoc(mysql_query("SELECT $db_table.$db_table.$db_columnUser,$db_tableOther.$db_tableOther.$db_columnPass FROM $db_table, $db_tableOther WHERE $db_table.$db_columnId = $db_tableOther.$db_columnId AND $db_table.$db_columnUser='{$_POST['user']}'"));
    $realPass = substr($row[$db_columnPass],22,64);
    $salt = substr($row[$db_columnPass],105,64);
    }

    if ($realPass)
    {
    $checkPass = $crypt();

    if(strcmp($realPass,$checkPass) == 0)
    {
    if ($login !== $realUser)
    {
    exit ("Bad login");
    }


    $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';
    }
    ?>
     
    SensoR нравится это.

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