|
•Отв: Вопросы - guest, 07.03.2010 19:23:46 |
|
|
>> 2.2) самостоятельная логика сервера - например он периодически должен проверять если клиент не отключился. >Кстати, а зачем серверу знать, что клиент отключился? >Можно построить архитектуру так, что если клиенту что-то надо, он формирует запрос и ожидает ответ. Сервер же только джёт запросы и на них реагирует.
- первое, предполагается что сервер будет многопоточным - когда клиент отключается - можно освободить ресурсы системы (например потоки, память, сокет и так далее). - второе, при одновремменом подключении нескольких клиентов - можно сделать внутриигровой чат (имеет смысл при быстрых играх), так что при передаче сообщения сервер должен знать кто подключен на данный момент.
>> 2.3) хранение данных. >Что именно под этим подразумевается? >Понятно, что данные хранятся на сервере, вопрос какие именно данные. Например состояние игры может храниться в разных таблицах, плюс все успешные управляющие команды могут сохраняться для восстановления состояния либо для воспроизведения риплея.
- сервер должен хранить как минимум: карты (с возможностью загрузки клиенту), состояние сессий*, пользователей и их данные, логи и то что написано выше. Позже надо будет решить что удобнее - отдельных сервер баз данных (MySQL, MS SQL) либо интегрированые (XML, SQLite).
>> 2.4) команды менеджмента сервера - то есть все что может сделать администратор сервера. >А под этим что имеется в виду? Администрирование игр или самого сервера? И для чего?
- создание/удаление пользователей, бан/разбан, остановить/запустить сервер, прочитать логи сессии* с целью проверки на мухлеж, и т.п.
*сессия - я имею в виду процесс игры на одной карте, а не канал подключения клиента. если неправильно выразился - исправьте.
Artiom |
|
| |