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

Название проекта заказчика и скриншоты с его брендом не публикуем.
Задача
На сервере работало больше двадцати сторонних и собственных модулей. Часть данных оказалась повреждена: наборы для привилегий были пустыми или с испорченными названиями. При ошибке чтения некоторые модули молча заменяли данные пустыми, и накопленное игроками могло пропасть.
Нужно было связать сервер с платёжной платформой, навести порядок в привилегиях и наборах и сделать так, чтобы сбой одного модуля не превращался в потерю данных.
Решение
Связь с платёжной платформой
Модуль забирает оплаченные покупки, выдаёт их и подтверждает выдачу. Повторная выдача исключена, спорные случаи уходят администратору.
Привилегии на срок
Группы с правами выдаются на 30 дней, повторная покупка продлевает срок, по окончании группа снимается. Существующие права не затрагиваются.
Наборы и перезарядки
19 наборов с независимыми перезарядками: ресурсы раз в 24 часа, инструменты раз в 12, медицина раз в 6. Состав виден на сайте до покупки.
Собственный интерфейс
Меню, панель игрока и экран наборов в едином стиле. Проверены на разрешениях 1280×720 и 1920×1080, превью генерируются из реальной разметки.
Как шла работа
Сначала разобрались, что уже установлено и как модули зависят друг от друга, и только потом меняли код.
Инвентаризация
Выгрузка конфигурации сервера, список модулей, связей и прав.
Аудит
Поиск мест, где ошибка приводит к потере данных или двойной выдаче.
Исправления
17 модулей доработаны, 2 написаны с нуля, 3 оставлены без изменений.
Проверка
Синтаксический разбор всех 22 файлов, превью интерфейса на двух разрешениях.
Передача
Инструкция по установке: порядок загрузки, резервные копии, что нельзя перезаписывать.
Надёжность
Повреждённые данные больше не обнуляются молча. Если файл данных или конфигурации испорчен, модуль останавливается и сообщает об ошибке, а не создаёт пустой файл поверх.
Награды — только после подтверждённой выдачи. Внутриигровые награды засчитываются, когда предмет действительно попал к игроку, а не в момент события.
Установка без риска. Инструкция описывает порядок загрузки модулей, резервное копирование и файлы, которые нельзя заменять: например, таймеры игроков.
Качество
Аудит зависимостей
Для каждого модуля проверены связи с остальными: кто выдаёт права, кто их использует, что будет при отключении.
Проверка кода
Синтаксический разбор всех 22 файлов на C#.
Проверка интерфейса
Превью меню и панели игрока на 1280×720 и 1920×1080 из реальной разметки.
Документация
Отчёт аудита, инструкция по установке и список рекомендаций на следующий этап.
Технологии
Нужно доработать или проверить существующую систему?
Разберём, что уже работает, найдём места, где теряются данные, и доработаем без остановки проекта.

