На какой серверной инфраструктуре они построены? особенно с таким количеством клиентов, подключенных и общающихся в режиме реального времени.
Я предполагаю, что серверы будут работать в Linux, BSD или Solaris почти в 99% случаев.
Управляют ли они сценариями, которые выполняются при запросах страниц? или установлены службы, которые работают в фоновом режиме и управляют связью с подключенными клиентами?
Сервер, с которым общается ваш клиент, будет сервером, на котором работают демоны или службы, которые бездействуют, ожидая соединений. Для экземпляров (подземелий) обычно для каждой группы запускается новый процесс, что означает, что где-то существует диспетчерская служба (аналог пула потоков)
Используют ли они другие протоколы? потому что HTTP не позволяет серверам передавать данные клиентам.
UDP - используемый протокол. Это быстро, так как не дает никаких гарантий, что пакет будет получен. Вам все равно, из-за небольшой задержки клиент теряет свою позицию в мире.
Как работают «движки», чтобы централизованно обрабатывать сотни конфликтующих игровых событий?
Большинство ММО имеют зоны, которые ограничивают это определенным количеством людей. Для тех, у кого есть сотни людей в одной области, обычно есть большая задержка. Серверу приходится иметь дело с сотнями заклинаний, которые отправляются на его пути, и он должен рассчитать количество урона для каждого из них. Для больших пяти ММО, которые я представляю, есть команды из 10-20 очень умных, математически одаренных разработчиков, которые работают над этим ежедневно, и нет ни одной ММО, которая бы все сделала правильно, большинство перерыв после 100 игроков.
-
Ищите Wowemu (официального сайта нет, и я не хочу ссылаться на хитрый сайт). Это основано на ApireCore , который является симулятором MMO или, по сути, реверс-инженером протокола WoW. Это то, что убегают частные серверы WoW. Из того, что я помню Wowemu это
Однако ApireCore - это C ++.
Бэкенд для Wowemu удивительно прост (однако я попробовал его в 2005 году) и, вероятно, полностью упростил схему базы данных. Это дает вам хорошее представление о том, что происходит.