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

Совет Запуск Minecraft БЕЗ лаунчера!

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем goul, 2 янв 2013.

  1. SuperTech

    SuperTech Ньюби

    Баллы:
    1
    У меня ошибка при запуске!
    Может из-за forge?
    Что мне делать?
     
  2. Хостинг MineCraft
    <
  3. olegtrick78

    olegtrick78 Участник Пользователь

    Баллы:
    31
    В логе что пишет ? Подробней можно описать ? В какой момент вылетает ?
     
  4. Maddourufu

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

    Баллы:
    66
    Скажите, пожалуйста, нужно ли передавать какие-то дополнительные параметры клиенту, чтобы играть на сервере с режимом online-mode=true ?
     
  5. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    твой уид и акестокен.
     
  6. Maddourufu

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

    Баллы:
    66
    Передаю, но сервер проверяет некий serverId, который непонятно откуда берется.

    Прошерстил веб-часть, но так и не понял, когда сервер узнает о serverId.
    UUID и accessToken передаю как-то так:
    --uuid d8a616f2-616c-31f0-8122-022a-e265af65 --accessToken 98525dbe-2260-65ff-25fe-5eb4-3c86eb18, все верно делаю?

    непонятная ситуация еще в том, что сервер будто и не проверяет валидность игрока, ибо логи Apache пусты.
     
  7. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    serverId сам создается, его не нужно.
     
  8. Maddourufu

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

    Баллы:
    66
    Как я понял, процесс входа через ланчер такой:
    - проверяется логин и пароль. успех -> генерируется рандомный accessToken и записывается в базу;
    - при запуске клиента ланчер дописывает в запись персонажа рандомный serverId;
    - при входе сервер проверяет наличие в базе персонажа с определенными UUID, accessToken и serverId
    (... WHERE uuid = ..., accesstoken = ..., serverid = ...) и очищает serverId на null.

    Откуда сервер берет serverId?

    И сервер никуда не стучится! библиотека authlib направлена на мой домен. При использовании ланчера все работает как должно.

    Не понимаю даже, на каком этапе процесс срывается.
    php-скрипты редактировал так, чтобы они игнорировали serverId, но ничего не вышло. Откатил.
    Сейчас скрипты при каждом своем вызове записывают в лог принятые параметры.
    Таким образом я и понял, что сервер их и не вызывает, когда без ланчера входить пытаюсь.

    Я в замешательстве~
     
  9. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Просто глянь мои скрипты лаунчера и все встанет на свои места.
     
  10. Maddourufu

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

    Баллы:
    66
    Не понял, куда смотреть... =С
     
  11. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
  12. Maddourufu

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

    Баллы:
    66
  13. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Он не на скриптах генерится. Просто делаешь такие же проверки и все, как у меня. Обновляешь только акестокен перед запуском клиента и все.
     
  14. Maddourufu

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

    Баллы:
    66
    да, его ланчер создает. Но я так и не понял, откуда сервер узнает, чему равен serverId
     
  15. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Сервер генерит serverId и отдает клиенту.
     
  16. Maddourufu

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

    Баллы:
    66
    оппа. То есть ланчеру? Значит ланчер должен принять serverId и занести в базу? Это сильно усложняет мои страдания, ибо запускаю на линуксе без ланчера (ланчер только на винду).
     
  17. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Не лаунчеру, а именно клиенту.[DOUBLEPOST=1473322654,1473322590][/DOUBLEPOST]Просто запускаешь клиент передав уид и акестокен, что в базе записан. Остальное все само сделается скриптами j и h. Ну и сам ник.
     
  18. Maddourufu

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

    Баллы:
    66
    Очень сложно)
    Смотри, что я смог вычислить:
    • логинюсь в ланчере;
    • в таблицу токенов заносится новый accessToken;
    • ланчер запускает клиент;
    • в базе появляется пометка serverId;
    • дальше клиент входит на сервер -> serverId из базы удаляется.
    Дальше входить на сервер можно сколько угодно раз до перезагузки клиента. перезагрузка сервера не влияет.

    На сервере модифицированная база authlib.

    Задача пока проста: запустить клиент из bash (получается) и войти на мой сервер (не получается - недопустмая сессия).
    Пока не сделаю этого, не смогу написать нормальных ланчер.
     
  19. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    serverId и так динамический, его нет смысла удалять ручками, перезапишется сам.[DOUBLEPOST=1473323183,1473323067][/DOUBLEPOST]
    Укажи валидный акестокен в сшнике и все.
     
  20. Maddourufu

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

    Баллы:
    66
    serverId удаляется сам, я его не трогаю.

    uuid и accessToken передаю, вроде бы, правильно.

    Вот часть команды:
    [OFFTOP]
    --assetsDir assets --assetIndex 1.7.10 --uuid d8a616f2-656c-31f0-8212-021a-e265af65 --accessToken 98525dbe-2260-65ff-25fe-5eb4-3c86eb18 --userProperties {} --userType legacy --tweakClass cpw.mods.fml.common.launcher.FMLTweaker
    [/OFFTOP]
     
  21. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ну еще ник укажи и все.
     

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