Серверные модули для сети игровых серверов

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

Сдан заказчику
ТипЗаказная разработка
Модулей22
ЯзыкC#
Роль NKDLРазработка, аудит, подготовка к установке
Серверные стойки с сетевыми кабелями в полумраке

Название проекта заказчика и скриншоты с его брендом не публикуем.

Задача

На сервере работало больше двадцати сторонних и собственных модулей. Часть данных оказалась повреждена: наборы для привилегий были пустыми или с испорченными названиями. При ошибке чтения некоторые модули молча заменяли данные пустыми, и накопленное игроками могло пропасть.

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

Решение

01

Связь с платёжной платформой

Модуль забирает оплаченные покупки, выдаёт их и подтверждает выдачу. Повторная выдача исключена, спорные случаи уходят администратору.

02

Привилегии на срок

Группы с правами выдаются на 30 дней, повторная покупка продлевает срок, по окончании группа снимается. Существующие права не затрагиваются.

03

Наборы и перезарядки

19 наборов с независимыми перезарядками: ресурсы раз в 24 часа, инструменты раз в 12, медицина раз в 6. Состав виден на сайте до покупки.

04

Собственный интерфейс

Меню, панель игрока и экран наборов в едином стиле. Проверены на разрешениях 1280×720 и 1920×1080, превью генерируются из реальной разметки.

Как работает

Как шла работа

Сначала разобрались, что уже установлено и как модули зависят друг от друга, и только потом меняли код.

01

Инвентаризация

Выгрузка конфигурации сервера, список модулей, связей и прав.

02

Аудит

Поиск мест, где ошибка приводит к потере данных или двойной выдаче.

03

Исправления

17 модулей доработаны, 2 написаны с нуля, 3 оставлены без изменений.

04

Проверка

Синтаксический разбор всех 22 файлов, превью интерфейса на двух разрешениях.

05

Передача

Инструкция по установке: порядок загрузки, резервные копии, что нельзя перезаписывать.

Что сделано с модулямиВсего 22 модуля в комплекте.

Надёжность

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

Награды — только после подтверждённой выдачи. Внутриигровые награды засчитываются, когда предмет действительно попал к игроку, а не в момент события.

Установка без риска. Инструкция описывает порядок загрузки модулей, резервное копирование и файлы, которые нельзя заменять: например, таймеры игроков.

Качество

01

Аудит зависимостей

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

02

Проверка кода

Синтаксический разбор всех 22 файлов на C#.

03

Проверка интерфейса

Превью меню и панели игрока на 1280×720 и 1920×1080 из реальной разметки.

04

Документация

Отчёт аудита, инструкция по установке и список рекомендаций на следующий этап.

Технологии

C#Серверный фреймворк модовИнтерфейс на разметке сервераJSON-конфигурацииHTTPS-интеграция с сайтом
Обсудим задачу

Нужно доработать или проверить существующую систему?

Разберём, что уже работает, найдём места, где теряются данные, и доработаем без остановки проекта.