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

Туториал Интеграция FMXLauncher с разными CMS

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем Starr, 15 авг 2015.

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

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

    Баллы:
    98
    Имя в Minecraft:
    _Starr_
    Кидай структуру таблиц XenForo, сделаю.
     
  2. Хостинг MineCraft
    <
  3. Rlemish

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

    Баллы:
    61
    Имя в Minecraft:
    rlemish
    [​IMG]

    [​IMG]
     
  4. Nicolayka

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

    Баллы:
    88
    Имя в Minecraft:
    Nicolayka
    Ну как успехи?
     
  5. Rlemish

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

    Баллы:
    61
    Имя в Minecraft:
    rlemish
    Вот что удалось узнать, версия выше 1.2 использует новую схему (core12), а именно PHPass, есть возможность включить старый метод (core), но hash и salt записываются все равно в другой таблице да еще группой, вот примерная схема как это работает.
    Если кто-то поможет допилить, заранее спасибо!
    P.S. Есть методы хеширования паролей других движков, но они работают только на чтение, регистрация не доступна...
    Исходники PHPass есть тут (/library/XenForo/PasswordHash.php) или ТУТ и ТУТ человек подробно описал как работает этот метод в этом движке.

    [​IMG][DOUBLEPOST=1451337129,1451333303][/DOUBLEPOST]Все очень просто оказалось, странно что нет описания по этой теме, вот простой рабочий пример сравнения пароля и хеша для Core12 (PHPass).

    [​IMG]
     
    Последнее редактирование: 28 дек 2015
  6. Автор темы
    Starr

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

    Баллы:
    98
    Имя в Minecraft:
    _Starr_
    Ой, код очень напоминает WordPress. в общем, скоро запилю.
     
  7. Rlemish

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

    Баллы:
    61
    Имя в Minecraft:
    rlemish
    Мой вариант реализации XenForo на CORE12 под FMXL3
    P.S. имя таблицы с хеш-паролями можно вынести в settings.php для красоты.

    PHP:
    <?php
            
    # XenforoCore12:
                
    if (!isset($this->_dbConnector)) {return $this::STATUS_DB_OBJECT_NOT_PRESENT;}
             
                
    $request "SELECT `user_id` FROM `{$playersTableName}` WHERE `username`=:login";
                
    $arguments = array ('login' => $login); 

                
    $preparedRequest null;
                
    $status $this->_dbConnector->ExecutePreparedRequest($request$arguments$preparedRequest);
                if (!isset(
    $preparedRequest) || !$status) {
                    return 
    $this::STATUS_DB_ERROR;
                }     
             
                
    $user_id $preparedRequest->fetchColumn();         
             
                
    $request1 "SELECT `data` FROM `xf_user_authenticate` WHERE `user_id`=:user_id";
                
    $arguments1 = array ('user_id' => $user_id); 

             
                
    $preparedRequest1 null;
                
    $status1 $this->_dbConnector->ExecutePreparedRequest($request1$arguments1$preparedRequest1);
                if (!isset(
    $preparedRequest1) || !$status1) {
                    return 
    $this::STATUS_DB_ERROR;
                }
     
                
    $xfHasher = new PasswordHash(8TRUE);
                
    $datahash $preparedRequest1->fetchColumn();
             
                
    preg_match("/(s:60:\")+(.*)+?(\")/"$datahash$matches);
                
    $hashedPassword $matches[2];
             
             
                
    $authStatus $xfHasher->CheckPassword($password$hashedPassword) ? $this::STATUS_USER_EXISTS $this::STATUS_USER_NOT_EXISTS;
                
    $this->_dbConnector->ClosePreparedRequest($preparedRequest);
    ?>
     
    Последнее редактирование: 1 янв 2016
  8. RedFoo_17

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

    Баллы:
    76
    Имя в Minecraft:
    RedFoo_17
    А на 2 случайно нету? :rolleyes:[DOUBLEPOST=1457116278,1456241410][/DOUBLEPOST]А чего удалили тему FMXLauncher? :confused:
     
  9. Автор темы
    Starr

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

    Баллы:
    98
    Имя в Minecraft:
    _Starr_
     
  10. MILLAN

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

    Баллы:
    61
    Имя в Minecraft:
    MILLAN
    Дайте исходы у кого накомпе остался лаунчер пж
     
  11. Sirse

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

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    У меня есть набор скриптов авторизации на XenForo REST API, там нужно немного дописать функционал, но в целом работает. Вечером скину.
     
  12. MILLAN

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

    Баллы:
    61
    Имя в Minecraft:
    MILLAN
    спс
     
  13. Автор темы
    Starr

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

    Баллы:
    98
    Имя в Minecraft:
    _Starr_
    Ты про что? Исходники или защиту?
     
  14. Автор темы
    Starr

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

    Баллы:
    98
    Имя в Minecraft:
    _Starr_
    Третью сливать полная глупость, ибо это будут деньги, потраченные на ветер
     
  15. Sirse

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

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    Итак, моя реализация авторизации для FMXL под XenForo REST API. Разрабатывалось под FMXL2, насчёт третьей версии не знаю, её у меня, увы, нет.
    Никаких заморочек с шифрованием, нет mysql запросов, всё сделано на REST API от Contex. Как всё это работает известно одному богу, я с php на Вы.
    Установка:
    Скрипт api.php ложим в корень сайта, рядом с index.php, содержимое папки minecraft куда хотите.
    В api.php нужно задать ключ для запросов (подлинее и посложнее), в settings.php указать все данные (всё прокомментировано), в client_utils.php указать пароль для выполнения скрипта (скрипт запускаем так - http://zonasumraka.ru/games/minecraft/client_utils.php?passwd=тут заданный пароль из самого скрипта)
    Остальное не сильно отличается от настройки любой другой веб-части. В общем, курите и наслаждайтесь.
    Если удастся заполучить-таки FMXL3, то сделаю и под него (если оно, конечно, не работает из коробки).

    PS: Работать должно вообще с любой версией ксюши, вне зависимости от выбранных алгоритмов хэширования паролей и прочей дряни. Так же при желании можно накрутить на эти скрипты любой функционал для интеграции форума с игровым сервером (у меня, например, покупка дефолтного повышения прав XF повышает права и на игровом сервере, плюс подарки в дни рождения и т.д)
     

    Вложения:

    • api.zip
      Размер файла:
      46,6 КБ
      Просмотров:
      8
  16. MILLAN

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

    Баллы:
    61
    Имя в Minecraft:
    MILLAN
    да мне нужне fxml2 3 ненадо
     
  17. Dellia

    Dellia Участник

    Баллы:
    31
    Подскажите пожалуйста с чем может быть связана ошибка лаунчера Error at SQL query. У меня WordPress, все делала по инструкциям, а не вышло почему-то. Гугл ответов не дает :(
     
  18. 11dimonchik22

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

    Баллы:
    76
    Кoпай в sql_utils.php
     
  19. Автор темы
    Starr

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

    Баллы:
    98
    Имя в Minecraft:
    _Starr_
    Возможно у тебя другое название колонок имени и пароля пользователей в вордпрессе. Если это так, то в скрипте нужно поменять запрос
    PHP:
    $db_handle->prepare("SELECT `колонка_паролей` FROM `{$players_table_name}` WHERE `колонка_пользователей`=:login")
    Также в settings.php укажи правильное название таблицы с пользователями.
     
  20. Neuter

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

    Баллы:
    123
    Skype:
    Neuter3
    Имя в Minecraft:
    Dream4Game
    Могу подкинуть веб часть 3й версии.[DOUBLEPOST=1458234920,1458234886][/DOUBLEPOST]
    По её примеру уже и пилить. Сорсы ясен пень не дам.
     
  21. Sirse

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

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    Увы, но без лаунчера (даже скомпиленого под мою обвязку) не выйдет.
    Надо стукануть хошимину, может продаст ещё копию.
     

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