|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.03.2013, 13:50 | #11 |
Регистрация: 07.06.2011
Сообщений: 3
|
Недавно тоже озадачился такой проблемой... как я понимаю взаимодействие от клиента к серверу должно происходить так:
ClientPC-(Press Keys)->GameServer GameServer включает в себя: ServerFifo-->ServerMath-->DBServer; Client PC - машинка пользователя где он запустил клиентское игровое ПО PressKeys - пакет данных для сервера который включает в себя события пользователя (ИМХО: нажатие клавиш, а также сервисную инфу какую нить) ServerFifo - предварительный сервер куда "стекается" вся инфа идущая от клиентских машинок, происходит предварительный анализ получаемой инфы (ну допустим если игрок присылает инфу что он нажал за 1 сек 10 раз одну клавишу - значит читер!) формируется очередь. ServerMath - обрабатывает события из очереди ServerFifo, обрабатывает реакцию игрового мира на эти события и вносит изменения в БД – характеристики игрового мира и игровых элементов. DBServer - сервер базы данных элементов игрового мира, игроков и тд. Все выше описанное это мое видение реализации взаимодействия «клиент->игровой сервер» для 10+ игроков. Взаимодействие "игровой сервер->клиент", описать не решусь, но думаю что тут будет нечто: DBServer->ServerFifo->ClientPC (сервер ServerFifo – может формировать как очередь входящих событий игроков, так и очередь исходящих данных – состояние игровых объектов на текущий момент времени. Рассылка осуществляется по UDP без анализа доставки данных до клиентов, частота рассылки зависит от динамичности игры – в случае пошаговой стратегии, то каждый конец хода, в случае экшена, десятки раз в одну секунду ). На чем будет написан ServerFiFo, ServerMath – зависит от разработчика. В случае написания экшена для 2-16 человек , оптимальней всего «вшить» серверное ПО в клиент игры – чтобы каждый игрок имел права создать свой сервак (в случае с unity3d – придется на скриптах реализовывать – JavaScript, C#). Меня больше интересует реализации игры с отдельным серверным ПО и клиентским ПО.. кто нибудь может подсказать инфу по реализации серверного игрового ПО для 100-200 одновременных подключений? Описание методов минимизации данных отсылаемых/принимаемых игровым сервером, методы шифрования, методы контроля нагрузки – никто книжицу не встречал такую? Последний раз редактировалось DrDron; 11.03.2013 в 14:13. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужен Unity3D программист. | MaratZahidyl | Фриланс | 1 | 10.12.2011 18:16 |
3D Studio Max и Unity3D | rc2f6 | Свободное общение | 0 | 07.02.2011 15:23 |
Delphi-оболочка для MS SQL Server (создание, присоединение, восстановление, резерв. копирование БД) | Машуля | Помощь студентам | 0 | 28.11.2009 11:27 |
НЕ могу найти Server Socket в закладке Internet в Delphi 7 для создания серверной части трояна | Reds | Общие вопросы Delphi | 4 | 11.10.2008 16:27 |