1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Launcher-Updater для MMORPG

Тема в разделе 'Услуги', создана пользователем HammerJade, 30 июл 2017.

  1. TopicStarter Overlay

    HammerJade Пользователи

    Сообщения:
    36
    Лайки:
    17
    Пол:
    Мужской
    Репутация:
    0
    Выкладываю демку лаунчера-апдейтера https://goo.gl/dpCfjB. используется консольный тип входа в игру, соответственно подходит для игр (La2, Aion, PW, JD и т.д.). Все вопросы в вк https://goo.gl/AadFaA. Лаунчер написан с нуля на c# wpf
    [​IMG]
    Kreinins нравится это.
  2. california Пользователи

    Сообщения:
    200
    Лайки:
    62
    Репутация:
    -3
    Команда:
    ZephyrRu
    Страна:
    Poland Poland
    Без обид, но внешне шлак
  3. LiptoN[Triton] Пользователи

    Сообщения:
    441
    Лайки:
    209
    Пол:
    Мужской
    Репутация:
    2
    Страна:
    Russian Federation Russian Federation
    Личку бы хоть открыл, раз хочешь вопросы в ВК принимать...|-(
  4. TopicStarter Overlay

    HammerJade Пользователи

    Сообщения:
    36
    Лайки:
    17
    Пол:
    Мужской
    Репутация:
    0
    Сори, открою, я забыл что она закрыта
  5. TopicStarter Overlay

    HammerJade Пользователи

    Сообщения:
    36
    Лайки:
    17
    Пол:
    Мужской
    Репутация:
    0
    Кому шлак, кому нет, внешку сменить не проблема, как не крути, этот скин все равно не останется, разные сервера, разные дизайны(я покуда занят кодом, на дизайн времени нету)
    california нравится это.
  6. Фрэнк Кастл Пользователи

    Сообщения:
    24
    Лайки:
    7
    Пол:
    Мужской
    Репутация:
    0
    Да ты не 1 такой:D
    [​IMG]
    Что он умеет делать?(Твой лаунчер)
  7. TopicStarter Overlay

    HammerJade Пользователи

    Сообщения:
    36
    Лайки:
    17
    Пол:
    Мужской
    Репутация:
    0
    Качать и устанавливать обновы, всё остальное в демке
    --- добавлено: 1 авг 2017 в 16:56 ---
    немного повозился с оформлением [​IMG]
    Последнее редактирование модератором: 9 авг 2017
  8. TopicStarter Overlay

    HammerJade Пользователи

    Сообщения:
    36
    Лайки:
    17
    Пол:
    Мужской
    Репутация:
    0
    Добавил новую функцию, после загрузки лаунчера, появляется сообщение в системном диалоговом окне с текстом который напишет админ сервера в соответствующем месте, файла апдейта, проверка идёт по версии новости на локалке и сервере(не будет выскакивать постоянно), полезно для важных обьявлений
    [​IMG]
    Фрэнк Кастл нравится это.
  9. LiptoN[Triton] Пользователи

    Сообщения:
    441
    Лайки:
    209
    Пол:
    Мужской
    Репутация:
    2
    Страна:
    Russian Federation Russian Federation
    По-моему, такое есть в Config.pck, там какой то файл отвечает за вывод новостей в выборе персонажей.
  10. TopicStarter Overlay

    HammerJade Пользователи

    Сообщения:
    36
    Лайки:
    17
    Пол:
    Мужской
    Репутация:
    0
    Возможно, не знаю, но как я подметил в самом начале этот лаунчер предусмотрен не только для пв и jd, лично по мне так удобнее, но это лично моё мнение без колупания архивов игры
  11. Фрэнк Кастл Пользователи

    Сообщения:
    24
    Лайки:
    7
    Пол:
    Мужской
    Репутация:
    0
    Интересная идея. Добавлю себе такую)
    А обновление по какому алгоритму идёт? Если не секрет. Скачивание архива->удаление старых файлов->распаковка новых->обновление версии->готово?
  12. TopicStarter Overlay

    HammerJade Пользователи

    Сообщения:
    36
    Лайки:
    17
    Пол:
    Мужской
    Репутация:
    0
    Да именно так, я в сфере си шарп не так давно, потому еще не вкурил потоковой загрузки и проверки хеш, в инете инфи на счёт этого очень мало, те исходники апдейтера что удалось найти для примера, кривые
  13. JoLan Команда форума Администратор AngeliCore Программист

    Сообщения:
    1.061
    Лайки:
    948
    Пол:
    Мужской
    Репутация:
    6
    Команда:
    AngeliCore
    Страна:
    Russian Federation Russian Federation
    У патчера вполне простой алгоритм. Опишу то, что сам пытался несколько раз делать:
    1. скачивание файла version
    2. если версия больше, чем в клиенте, то:
    2.1.1. скачивание списков обновлений от следующей версии до последней
    - Например текущая == 2, новая == 5 -> качает списки 3, 4, 5 и т.п.
    2.1.2. выделение файлов для обновления*
    2.1.3. в цикле скачивание файла по http протоколу
    2.1.4. распаковка локального файла в оперативку и рассчёт md5-суммы файла
    2.1.5. если md5 локального и скачанного не совпали, то добавить новый файл в архив
    - md5 скачанного файла хранится в самом списке обновления, чтобы не тратить время на подсчёт
    - но с другой стороны доп. рассчёт md5 скачанного файла однозначно информирует, скачан ли файл корректно
    иначе
    2.2. иначе очистка памяти, включение кнопки "играть"

    С полной проверкой тот же самый алгоритм, за исключеним того, что локальная версия форсированно передаётся "1"

    Чуть более стабильный алгоритм патчера:
    1. скачивание файла version
    2. если версия больше, то:
    2.1.1. скачивание списков обновлений
    2.1.2. выделение файлов для обновления*
    2.1.3. в цикле по списку подсчитываются контрольные суммы локальных файлов с занесением файлов в список на скачивание, если md5 не совпали
    2.1.4. в цикле скачивание файлов из списка на скачивание (тут же проверка md5 скачанного файла)
    2.1.5. в цикле добавление всех скачанных файлов в игровые архивы
    2.2. иначе очистка памяти, включение кнопки "играть"

    Есть ещё вариант написания сервера распределения файлов и прямого подключения патчера к нему. При грамотной реализации этот способ будет в несколько раз быстрее скачивать файлы.

    *Алгоритм выделения списка файлов для скачивания
    /!\ Achtung! Применяется только в случае непоследовательного обновления, если есть несколько патчей сразу:
    - Обратный цикл по спискам, начиная с предпоследнего до первого включительно**:
    - - Прямой цикл от первого до последнего файла в списка:
    - - - Если файл из последнего списка отсутствует в текущем списке, то добавляем его в последний список обновления

    **Почему с предпоследнего? Потому что в последний список мы будем собирать полный список файлов из нескольких списков.

    Так же к этому патчеру нужно будет написать билдер, который соберёт информацию о файлах и запишет её в списки для обновления.
    Фрэнк Кастл нравится это.
  14. Фрэнк Кастл Пользователи

    Сообщения:
    24
    Лайки:
    7
    Пол:
    Мужской
    Репутация:
    0
    Полезная инфа! Я в начале скачивал строку с хоста из version(что бы не качать файл), потом пришел к выводу, что проще качать файл(для работы с массивами). Ещё проблема запуска игры: если патчер не лежит в директории с elementclient.exe, то запустить не получается, выдаёт ошибку.
    Сейчас будет проблема с обновлением иконок кланов, т.е. работа с PCK)
  15. ExeMan Пользователи

    Сообщения:
    15
    Лайки:
    2
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    Insane
    Страна:
    Russian Federation Russian Federation
    Process process = new Process();
    process.StartInfo.WorkingDirectory = "путь к папке";
    process.StartInfo.FileName = "имя файла";
    process.Start(); // запуск

    и не будет ошибки
    Фрэнк Кастл нравится это.
  16. TopicStarter Overlay

    HammerJade Пользователи

    Сообщения:
    36
    Лайки:
    17
    Пол:
    Мужской
    Репутация:
    0
    Решил не морочиться с билдером и взял существующий, тут появилась проблема(при чтении одного атрибута, качает, но когда пытается скачать 2 и больше файла по атрибутам, вылазит ошибка "удаленный сервер возвратил ошибку (403) запрещено"), не имеет значения, чтение патч листа идёт с локалки или сервере, ошибка та же, что может быть?
  17. Фрэнк Кастл Пользователи

    Сообщения:
    24
    Лайки:
    7
    Пол:
    Мужской
    Репутация:
    0
    От души!) Всё работает.
    А по поводу работы с PCK, есть догадки? Смотрел структуру от Kn1fe, но как-то не понял...
  18. TopicStarter Overlay

    HammerJade Пользователи

    Сообщения:
    36
    Лайки:
    17
    Пол:
    Мужской
    Репутация:
    0
    Немного изменил выводимое сообщение, думаю так более актуально
    [​IMG][​IMG]
  19. TopicStarter Overlay

    HammerJade Пользователи

    Сообщения:
    36
    Лайки:
    17
    Пол:
    Мужской
    Репутация:
    0
    И еще дополнил, при наводке мышкой на иконку появляется сообщение, а при двойном клике переход по ссылке указанной в патч листе на сервере(ссылки можно подгонять под выводимые новости)
    [​IMG][​IMG]
  20. TopicStarter Overlay

    HammerJade Пользователи

    Сообщения:
    36
    Лайки:
    17
    Пол:
    Мужской
    Репутация:
    0
    У многих лаунчеров офф присутствуют трейлеры и я решил сделать, кстати на второй картинке справа внизу видно сделал проверку(находится ли лаунчер в папку или нет, если нет то появляется сообщение с просьбой переместить"если фиг его знает как, то есть ссылка на руководство")
    [​IMG][​IMG]
    [​IMG][​IMG]
Черновик сохранён Черновик удалён
Similar Threads
  1. VDOut
    Ответов:
    30
    Просмотров:
    4.609
  2. elf01
    Ответов:
    2
    Просмотров:
    1.536
  3. DigitalNox
    Ответов:
    1
    Просмотров:
    2.319
  4. Arather
    Ответов:
    1
    Просмотров:
    1.557
  5. HammerJade
    Ответов:
    0
    Просмотров:
    1.031
Загрузка...

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