Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление
  2. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Алгоритм системы обновления клиента игры(лаунчера)

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем Racvol, 24 фев 2013.

Статус темы:
Закрыта.
  1. Автор темы
    Racvol

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

    Баллы:
    123
    Во первых не всегда устанавливается переменная среды, а если в системе установлена несколько Java? а если в переменной окружения путь до 32 битной Java а мне нужно запустить 64 которое тоже установлена?, нахрена скачивать java если она установлена? Идеальный путь это поиск всех установленных java в реестре, и выбор из всех найденых java наиболее приоритетную, скажем наиболее свежую версию с разрядностью x64 или x32 в зависимости от разрядности ОС
     
    MineMan910 нравится это.
  2. Хостинг MineCraft
    <
  3. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Ну тогда иди сложным путем. поиск явы сперва в %PROGRAMFILES%/1 директории патом в %PROGRAMFILES%/2 и тд.
    Я же предложил короткий путь. Лаунчер качает java и никаких проблем. Да и майну 1 гб памяти хватает. А без переменной среды все равно придется указывать полный путь.
     
  4. Автор темы
    Racvol

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

    Баллы:
    123
    Без переменной среды можно искать в реестре, это более надежный путь. 1 гб не хватить если текстуры ставить
     
  5. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Так почему же еще никто не придумал по реестру? Видимо не все так просто. Да и все игры проги создают переменную для правильной работы.
     
  6. Автор темы
    Racvol

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

    Баллы:
    123
    А что там такого сложного? Диспетчер установленных программ по твоему откуда записи берет? Не реализуют потому что лень
     
  7. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Ну так реализуй :).
     
  8. Автор темы
    Racvol

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

    Баллы:
    123
    Ято реализовал, просто мне стыдно за свой код. Хотел посмотреть как другие справились с этой задачей
     
  9. foxquiz

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

    Баллы:
    78
    Переменная среды окружения JAVA_HOME, ага. Но у некоторых она всё-же не выставлена: сейчас глянул - у меня нету. ^^

    На самом деле, тупо ищу в реестре экс-сановую яву (Software\JavaSoft\Java Runtime Environment), пытаюсь 64-битную, если нету - 32-битную. Заодно версию смотрю, чтобы предупредить, если совсем 6-я.

    P.S. Оу, не сразу заметил вторую страницу обсуждения.^^ Ну, впринципе, да, надо будет потом добавить поиск других ява-машин, хотя не думаю, что из альтернативных будет что-то кроме OpenJDK.
     
  10. Vlado

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

    Баллы:
    68
    Skype:
    Vladon5751
    Насчет защиты от читов, если возможно каким-либо образом изменить (дополнить) папку META-INF и сделать на неё проверку. Нету папки - бан, есть - го в игру.
    после установки java так же можно просто написать javaw
     
  11. Автор темы
    Racvol

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

    Баллы:
    123
    Тут скорее вариант с переменной PATH обсуждался.
    Я имел ввиду разные версии по такому приоритету jre 6u31 < jdk 6u31 < jre 7u10 < jdk 7u16 < jre 7u17 < jre 8 и тд Но там есть проблема, единственный способ определить версию Java это смотреть в реестре поля Version VersionMajor и VersionMinor, но там настояший бордак у Oracle.

    ЗЫ Я искал в списке установленных программ Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall
     
  12. foxquiz

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

    Баллы:
    78
    У меня в "Software\JavaSoft\Java Runtime Environment" есть CurrentVersion и Java7FamilyVersion (надеюсь что у других версий будет называться Java<CurrentVersion>FamilyVersion). Вывожу на экран Java<CurrentVersion>FamilyVersion, а проверяю только CurrentVersion, чтобы если старее 7-й предупредить.

    Racvol, Понемногу подумываю выложить лаунчер, настройка идет из конфигов (либо можно скормить их локально, либо зарегистрироваться - тогда будет у любой копии лаунчера показываться указанный сервер в листе проектов), перекомпилировать лаунчер не нужно.
    Ну и утилиту для администраторов - для получения отчетов от игроков и настройки тех самых конфигов (они, собственно, и есть - параметры обновления, черный белый список модов и т.п.): поставил мод, сделал пару кликов - лаунчер у клиентов обновился с учетом "разрешенности" данного мода. Таким образом, даже коты смогут держать сервера игры. ^^
    Сам в майнкрафт почти не играл, не знаю и примерную аудиторию администраторов, как думаете, будет востребовано?
     
  13. Автор темы
    Racvol

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

    Баллы:
    123
    Будет
     
  14. Автор темы
    Racvol

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

    Баллы:
    123
    @foxquiz, ты код не выложиш? хотябы в личку?
     
  15. The_Pro

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

    Баллы:
    78
    Написание программы для обмана сервера , может занять меньше недели.Главное понять суть авторизации. Хорошенько смотрим авторизацию , пилим на php свою (Альтернативную) , кидаем на свой сайт , правим клиент под себя , и вуаля ! Мы с читами на сервере. Один Парень уже так сделал , и играет с читами на всех ТОП-ых проектах .;)
     
    slavik123123123 нравится это.
  16. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    :fp: бред написал. Если ты подключишь свои скрипты получиш fayled to verify username :fp:
     
    zuma2 нравится это.
  17. ptnk

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

    Баллы:
    173
    Он не бред написал. Так и делают.
     
    The_Pro нравится это.
  18. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    @Racvol, На счет java. Лучше чтоб лаунчер качал свою. java тоже можно пересобрать и обмануть все проверки :trf: .
     
  19. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Ну ок попробуй сам :trf:. Вы даже не знаете как авторизация работает :). Если обойти auth и joinserver то ты получишь неверный sessionId и servrId. Сперва изучите как авторизация работает прежде чем бред сочинять.
     
    Black-UK-Lord нравится это.
  20. ptnk

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

    Баллы:
    173
    Её никто кроме oracle не собирает.

    sessionID перехватывается и auth остается в сторонке.
     
  21. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    А вот реальная уязвимость. Если подправить клиент и сделать serverId постоянным (который можно изменять в класс трансляторе). То можно 1 рас авторизоватся, записав тем самым serverId в бд и патом юзать свой joinserver и отправлять всегда фиксированный serverId :trf:.
    Вот тут уже нужен фикс. Чтоб serverId жил скажем 20 сек после записи его в бд.
     
Статус темы:
Закрыта.

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