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

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

Discussion in 'Руководства, инструкции, утилиты' started by byxar, Nov 6, 2011.

  1. Exta5y

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

    Trophy Points:
    63
    Форма регистрации то имеется?
    include "connect.php"; - переписал на путь до твоего файла конфигураций?
     
  2. Хостинг MineCraft
    <
  3. SnaKeSkin

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

    Trophy Points:
    88
    Skype:
    snakeskin2111
    я правильно понял, как работает эта система. Нужно интегрировать её в лаунчер не из этого топика.
    лаунчер -> скрипт(joinserver.php) <-> сервер -> игра
    клиент -> скрипт(joinserver.php) <-> сервер
    В первом случае по моей схеме видно, что лаунчер запрашивает данные у скрипта, скрипт лезет в базу, берёт данные и кидает на сервер, если данные проходят то пускает на сервер.
    Во втором случает если кто-то другой использует не наш клиент\лаунчер запрос не проходит а следовательно не пускает.
    Я просто хочу сделать систему с помощью которой на сервер сможет зайти только игрок использующий наш клиент\лаунчер. Посмотрел Ваши скрипты, там половина лишнего, но думаю что смогу переделать) Мне главное правильно проследить алгоритм.
     
  4. zuma2

    zuma2 Старожил Пользователь Заблокирован

    Trophy Points:
    173
    Skype:
    sytems.admin
    Имя в Minecraft:
    zuma2
  5. SnaKeSkin

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

    Trophy Points:
    88
    Skype:
    snakeskin2111
    хмм, не под силу понять? :)
     
  6. zuma2

    zuma2 Старожил Пользователь Заблокирован

    Trophy Points:
    173
    Skype:
    sytems.admin
    Имя в Minecraft:
    zuma2
    убери это лишнее я зайду и снесу тебе все
     
  7. SnaKeSkin

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

    Trophy Points:
    88
    Skype:
    snakeskin2111
    удачи. Жаль что в школе знаки препинания не научили ставить.
     
  8. Exta5y

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

    Trophy Points:
    63
    Смотря о ком ты. Вроде запостили достаточно информации.
    Можно в пост запросе послать некую строку, а в скрипте авторизации проверять ее. Это проще, чем запускать mcp и рыть кучу файлов.
     
  9. zuma2

    zuma2 Старожил Пользователь Заблокирован

    Trophy Points:
    173
    Skype:
    sytems.admin
    Имя в Minecraft:
    zuma2
    :fp::fp::fp: :fp::fp::fp: :fp::fp::fp: :fp::fp::fp: :fp::fp::fp: :fp::fp::fp: :fp::fp::fp: :fp::fp:
     
  10. SnaKeSkin

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

    Trophy Points:
    88
    Skype:
    snakeskin2111
    ну получается что придётся править 2 файла на клиенте, один на сервере и дописывать кое что в лаунчер. Или можно ещё как-то упростить? Мне авторизация не нужна в лаунчере, просто сделать какую-то проверку, стартует игрок через лаунчер или использует что-то другое. Во втором случае, просто игнорировать, в первом запускать...
     
  11. Exta5y

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

    Trophy Points:
    63
    Говоря о пирогах, пора бы спать идти. Тормознул я. В любом случае придется следовать статье, если нужна проверка клиента. Печаль.
     
  12. makkarpov

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

    Trophy Points:
    88
    Система работает так:
    1) (Лаунчер) auth.php (POST: username=...&password=...&version=13) -> sessId возвращается лаунчеру
    2) (Лаунчер) запускает клиент, указывая ник и sessId в параметрах
    3) (Клиент) при заходе на сервер обращается к скрипту joinserver.php указывая sessId и serverId (serverId - не знаю, откуда берется, видать случайное)
    4) (Сервер) при заходе клиента обращается к скрипту checkserver.php, указывая в параметрах serverId и ник. Если в таблице есть человек с таким ником и таким serverId (а он окажется там после joinserver.php?serverId=..., если sessId верно) - пускает, иначе - нет

    Если на сервере не стоит online-mode, то шаги 3 и 4 не выполняются.
    Таким образом, чтобы сделать авторизацию, надо патчить все 3 части игры.

    Если не тот лаунчер - не выполнится auth.php и joinserver.php даст ошибку Bad login
    Если не тот клиент - не выполнится joinserver.php и checkserver.php даст ошибку Failed to verify username
    Если не тот сервер и online-mode=true, то checkserver.php обратится к своей базе, где нашего serverId не наблюдается, и будет Failed to verify username

    И замечание по системе: зачем таблица properties, если там два значения и используется в двух местах?
     
  13. GLAVAK

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

    Trophy Points:
    63
    Авторизация работает, но клиент не обновляется, пишет нет файла lwjgl.jar:(
    Как вообще клиент нужно заливать в папку на сайте(http://s3.amazonaws.com/MinecraftDownload/)?
    Уже пробывал и .minecraft, и bin, и client.zip заливать, всё равно.
     
  14. makkarpov

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

    Trophy Points:
    88
    :D Никак. Меняйте ссылку на свою
     
  15. GLAVAK

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

    Trophy Points:
    63
  16. Aleks1234

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

    Trophy Points:
    88
    config.php что ли?
     
  17. Ivan_C

    Ivan_C Старожил

    Trophy Points:
    103
    Skype:
    ivan..c
    Можно-ли прикрутить к системе с регистрацией и прочим цепляемость к форумам?
     
  18. SnaKeSkin

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

    Trophy Points:
    88
    Skype:
    snakeskin2111
    можно
     
  19. makkarpov

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

    Trophy Points:
    88
    Можно, нужно ткнуть носом систему в таблицу с юзерами, и (если необходимо), модифицировать алгоритм хэширования
     
    DavidShabaev likes this.
  20. Ivan_C

    Ivan_C Старожил

    Trophy Points:
    103
    Skype:
    ivan..c
    Хотя я тут думаю перейти на друпал.
     
  21. GLAVAK

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

    Trophy Points:
    63
    Разобрался с Unable to download, забыл слеш в конце поставить)
    Теперь новая проблема: при скачивании проценты идут примерно от -1000000 до 1000000, а не от 0 до 100
     
    Prosto Sokka likes this.

Share This Page