Система обновления игрового клиента
Требуется написать систему обновления для игрового клиента.
Суть задачи в следующем: после установки игры клиенту предлагается выбрать три варианта:
1. Обновляться только в ручную.
2. Обновляться (проверять обновления) в фоне раз в N часов.
3. Проверять или не проверять обновление при запуске игры.
Цель обновлений - защита клиента от вредоносных файлов и поддержка стабильности (актуальности) игрового клиента.
Соответственно у игры должен быть лаунчер, в котором при запуске можно будет изменить эти настройки и оставить отзыв об ошибке для разрабочика.
Файлы обновления будут скачиваться по http протоколу. Необходимо обновлять строго игровой клиент и не лезть за его пределы.
Настройка обновлений и версий будет задаваться в конфиге, который будет лежать на внешнем сервере. При проверке конфига обновляются заданные в нём файлы.