Доброго времени суток.
Письмо получил, и прочитал.
По поводу тех.задания, к сожалению, я сам не гуру в игре, а по этому - даже не знаю, что и как считается и какие данные мне нужны.
Мое представление работы:
БД - база данных
ИС - игровой сервер (сам ИЛ-2)
КМ - командер (программа обеспечивающая работу ИС и производящая сбор информации)
СТАТ - система статистики
ПИЛОТ - один из игроков
КМ - определяет работу ИС (запуск ИС, выбор текущей карты и т.д.), собирает информацию об игре и передает ее СТАТ
СТАТ - занимается формированием отчетных данных, учетом авторизации пользователей
Авторизация (как я это вижу): (далее описана логика, без претензий на верность)
ПИЛОТ, заходит на ИС под своим логинов, вводит свой пароль. КМ, передает логин и пароль СТАТ, которая проверяет допустимость данной пары (логин+пароль) (существование, кик, бан и т.д.) и сообщает КМ результат (login/error). КМ - на основании полученного результата производит необходимые действия (разрешает ПИЛОТУ играть, или принуждает покинуть игру)
Передача статистики боя
КМ, работая с ИС, производит сбор данных о текущих действиях на ИС и передает их СТАТ.
СТАТ, обрабатывает полученные данные и сохраняет их в БД, для последующего использования.
Статистика для ПИЛОТОВ
ПИЛОТ, заходит в СТАТ (которая может являться, веб-страницами, веб-приложением или даже локальным клиентом).
СТАТ отображает необходимы данные ПИЛОТУ получая данные из БД
Понимаю, что все выше описанное, для большинства - не новость. Просто есть желание сделать все по человечески.
Вопросы и ответы:
1) Зачем КМ, напрямую работать с БД?
Как я понял, КМ необходимо где-то хранить промежуточные данные, кто сейчас в игре, кто авторизирован, а кто еще нет.
Думаю для этих целей КМ может использовать собственную БД, но только для хранения временных данных.
Даже такие вещи, как: список карт, последовательность карт, настройки карт (если это возможно) - хранить в БД СТАТ = это даст возможность, редактировать ИС из удобного интерфейса, не ковыряясь в десятках файлов
2) Протокол для КМ+СТАТ?
Использование протокола, позволит организовывать независимую (от ОС, разрабочика, СУБД) систему хранения данных в СТАТ.
Каждый желающий, сможет использовать КМ и создать свою СТАТ
КМ и СТАТ - смогут работать на разных серверах и станут независимыми в своей работе