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

xLauncher Скачивание клиентов под каждый сервер

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

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

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

    Баллы:
    103
    Имя в Minecraft:
    GagarinSokol
    Вечер добрый!

    Задался вопросом у кого получилось сделать это? (Скачивание клиентов под каждый сервер).
    Просто как то не правильно, если 8 серверов и заставлять тянуть юзера все 8 клиентов )

    Кто что делал ? У кого какие предложения ?
     
  2. Хостинг MineCraft
    <
  3. scrik78

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

    Баллы:
    123
    В том и прикол,что скачка идет одним файлом, на этом и сделана частично защита
     
  4. Автор темы
    GagarinSokol

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

    Баллы:
    103
    Имя в Minecraft:
    GagarinSokol
    Я сейчас убил часа 3, но дебагом пошагово прошёл все строчки отвечающие за скачивание клиента. Я там не увидел ничего подобного, что может говорить о том, что он проверяется во время скачивания. После работы буду копать дальше.

    Есть тред который запускает проверку текстур и клиента каждые :
    Thread.currentThread().sleep(50000); + Время между проверками Thread.currentThread().sleep(xSettings.checkTime);

    НО он проверяет уже разархивированные файлы И если они косячные то бабах. ) А если их нет то он и не проверит )

    т.е. Он проверит то что уже есть. А чего нет он не проверит ) Если не прав то поправьте ).

    Единственный косяк может быть такой: он берёт список серверов и это == списку директорий. И вот тогда он может ругнуться. Но надо лезть в код... Т.К. во многих местах стоит такое что: если нет директории то создать её или есть нет то и не лезть туда.

    А вообще нужно дальше копать )
     
  5. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Как уже было сказано, там проверка так устроена, что придется все качать. Иначе клиент не пройдет проверку.
     
  6. Автор темы
    GagarinSokol

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

    Баллы:
    103
    Имя в Minecraft:
    GagarinSokol
    Если клиент не проходит проверку значит проверяется вся папка чек. Ну тогда можно попробовать чекать чисто подпапку а не всю папку :)
     
  7. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    В том то и дело, что сразу выбрасываем пол кода лаунчера и переписываем под себя. Чтоб как в сашке было чекаем только папку .minecraft/server1.[DOUBLEPOST=1390253282,1390253175][/DOUBLEPOST]Но касяк что он чекает еще до выбора сервера :D.
     
  8. Автор темы
    GagarinSokol

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

    Баллы:
    103
    Имя в Minecraft:
    GagarinSokol
    Тогда момент ) А если добавить в Сашка подключение к сокету на сервере для проверки и получения сессии ? ))) И в клиенты вставить )

    Это реально ?
     
  9. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Упоролся что ли :D? Чтоб мне какой то школьник сокет сервер положил?
    Я прикрутил https://github.com/alexandrage/PHP-Java-AES-Encrypt-master и все.
    И тебе советую.
     
    GagarinSokol нравится это.
  10. Автор темы
    GagarinSokol

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

    Баллы:
    103
    Имя в Minecraft:
    GagarinSokol
    В смысле положил ? Что может быть не так ?
     
  11. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Узнаешь, когда кто то засрет твой недосокет пакетами.
     
  12. Terminator Т-850

    Terminator Т-850 Активный участник Пользователь

    Баллы:
    88
    Срать я хотел на ваши пакеты с включенной у хоста DDOS Protection
    Употребление слова "недосокет" здесь не к месту, т.к. этот единственный минус всегда был в сокете, и он всегда назывался "сокетом"

    А насчет скачивания отдельными файлами:
    я сделал так: создал дополнительное окно загрузки (теперь оно стало после выбора сервера) и передавал другие параметры сокет-серверу, где указывал, какую папку проверять и загружать
     
    GagarinSokol нравится это.
  13. Автор темы
    GagarinSokol

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

    Баллы:
    103
    Имя в Minecraft:
    GagarinSokol
    Это делается на уровне комплекса серверов (т.е. там где хост размещён) или на уровне самого севера ?
    Я видел это у некоторых хостеров, пишут что защита... Хотелось бы разобраться на каком уровне эта защита )

    Спасибо ) Я же говорил что можно его заставить проверять не всю папку чек а подпапку ) И загружать отдельными архивами )
    И получается когда работает клиент, то он проверяет всегда только его папку в независимости сколько там других папок )

    Буду делать )[DOUBLEPOST=1390302107,1390302034][/DOUBLEPOST]
    Что конкретно шифруется и дешифруется ? Ключ сессии ? Или я не про то говорю ?
     
  14. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    GagarinSokol, Шифруются полностью все запросы от лаунчера к серверу и от сервера к лаунчеру. В клиенте так же.
     
    GagarinSokol нравится это.
  15. Автор темы
    GagarinSokol

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

    Баллы:
    103
    Имя в Minecraft:
    GagarinSokol
    Интересно ) Про лаунчер ясно, есть исходники и можно прикрутить.
    Вот с клиентом более интересно, вскрывался клиент через MCP ?
     
  16. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Ну так же как в xLauncher вы вставляете в клиент недосокет, а я вставляю шифрование.
     
  17. Terminator Т-850

    Terminator Т-850 Активный участник Пользователь

    Баллы:
    88
    только вот точно такое же шифрование встроено в xLauncher, и сессия там шифруется 2 раза (если подключить клиент)
    поэтому я не понимаю, что за чушь ты мелешь (если не любишь сокеты, то можешь засунуть свое мнение куда подальше, так как у каждого есть свое мнение)
     
  18. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Это не мнение, а реальная проблема. Сокет можно юзать, но его придется переписывать. А тот что там используется лучше не юзать. Хотя вам можно, у вам мелкие проекты и вас никто не пытается досить.
    А шифровать сессию по сто рас так же смысла нет, одного раза хватит если шифрование хорошее и ключ спрятан-зашифрован. Хранить ключ в байтах это очень тупо, его нельзя будет обфусцировать.
     
    Последнее редактирование: 21 янв 2014
  19. Terminator Т-850

    Terminator Т-850 Активный участник Пользователь

    Баллы:
    88
    про переписывать не знаю, так как там все логично (подключение-создание нового потока-отключение)
    байты очень легко изменить на строку
    сто раз не нужно шифровать (здесь 2 логичных шифрования (сокет-сервер - сокет-сервер, лаунчер - клиент - сокет-сервер), просто если вытащат ключ из клиента, то это не будет страшно)
     
  20. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Достаточно будет выдернуть ключ из клиента. Если его все таки выдернуть то дополнительное шифрование в лаунчере ничего не даст. Достаточно будет получить выходную строку сессии от лаунчера.
     
  21. Terminator Т-850

    Terminator Т-850 Активный участник Пользователь

    Баллы:
    88
    второе то шифрование не в лаунчере, а в сокет-сервере (шифруется в сервере и расшифровывается тоже, ключ есть только в сервере)
     

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