К содержанию

Windows-приложение

L2 Updater — лаунчер и доставка обновлений

Комплекс на C# / .NET 8 для Windows: лаунчер игрока, packer администратора и инструменты публикации обновлений клиента по подписанному манифесту.

C# · .NET 8 · WPF / WinFormsСобственный продукт (l2fast.ru)

Окно L2 Launcher
Игровой лаунчер: прогресс обновления и запуск клиента

Задача

Операторам игровых проектов нужна предсказуемая доставка клиента: проверка файлов, обновление по манифесту, возобновление загрузки и возможность обновлять сам лаунчер — без ручной раздачи архивов.

Продукт продаётся как самостоятельный инженерный комплекс: лаунчер, packer и инструменты публикации обновлений — отдельный контур от маркетингового сайта проекта.

Что разработано

  • L2Launcher (WPF): HTTPS JSON-конфиг, подписанный манифест, синхронизация файлов по MD5, gzip/zip-чанки, HTTP Range resume, опциональный self-update, запуск клиента.
  • L2ClientPacker (WinForms): сканирование дерева клиента → manifest.json + файлы для CDN.
  • ClientProfileTool и L2Provisioner: ключи, профили конфигурации, упаковка Payload, B2B-установка.
  • Криптослой: RSA-SHA256 для манифеста, AES для встроенных секретов; обфускация релиза.

Как обновляется клиент

Администратор публикует манифест и набор файлов на свой HTTP(S)-хостинг. Лаунчер сверяет контрольные суммы локальных файлов с манифестом и скачивает только изменившиеся.

Если загрузка прервалась, её можно продолжить с того же места. Манифест подписывается (RSA-SHA256), лаунчер проверяет подпись перед применением обновления.

Так оператор получает предсказуемую доставку клиента: сверка, выборочная загрузка и возобновление без ручной раздачи архивов.

Сценарии

  • Игрок запускает лаунчер → проверка/докачка → вход в игру.
  • Администратор собирает патч packer’ом и выкладывает на CDN.
  • Подготовка нового брендированного экземпляра через profile tool и provisioner.

Результат

Готовый Windows-комплекс для доставки и обновления клиента: от упаковки дистрибутива до игрового запуска. Публичные демонстрации доступны на витрине продукта.

Технологии

  • C#
  • .NET 8
  • WPF
  • WinForms
  • RSA-SHA256
  • HTTPS JSON

Обсудим похожую задачу?

Опишите контекст — предложу формат работы после разбора.

Написать

Обсудить проект

Имя и телефон или email — отвечу в рабочий день.

Достаточно одного канала связи.

Открыть оригинал