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

Результаты поиска

  1. Фрэнк Кастл
  2. Фрэнк Кастл
  3. Фрэнк Кастл
  4. Фрэнк Кастл
  5. Фрэнк Кастл
  6. Фрэнк Кастл
  7. Фрэнк Кастл
  8. Фрэнк Кастл
  9. Фрэнк Кастл
  10. Фрэнк Кастл
  11. Фрэнк Кастл
  12. Фрэнк Кастл
  13. Фрэнк Кастл
  14. Фрэнк Кастл
  15. Фрэнк Кастл
  16. Фрэнк Кастл
  17. Фрэнк Кастл
    Сообщение

    Launcher-Updater для MMORPG

    те исходники апдейтера что удалось найти для примера, кривые У патчера вполне простой алгоритм. Опишу то, что сам пытался несколько раз делать: 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! Применяется только в случае непоследовательного обновления, если есть несколько патчей сразу: - Обратный цикл по спискам, начиная с предпоследнего до первого включительно**: - - Прямой цикл от первого до последнего файла в списка: - - - Если файл из последнего списка отсутствует в текущем списке, то добавляем его в последний список обновления **Почему с предпоследнего? Потому что в последний список мы будем собирать полный список файлов из нескольких списков. Так же к этому патчеру нужно будет написать билдер, который соберёт информацию о файлах и запишет её в списки для обновления. Полезная инфа! Я в начале скачивал строку с хоста из version(что бы не качать файл), потом пришел к выводу, что проще качать файл(для работы с массивами). Ещё проблема запуска игры: если патчер не лежит в директории с elementclient.exe, то запустить не получается, выдаёт ошибку. Сейчас будет проблема с обновлением иконок кланов, т.е. работа с PCK)
    Сообщение от: Фрэнк Кастл, 2 авг 2017 в разделе: Услуги
  18. Фрэнк Кастл
  19. Фрэнк Кастл
  20. Фрэнк Кастл