Tilk
Сервера всех вменяемых онлайн игр построены по первому варианту.
По варианту с локальной сетью??
А как это происходит? Вот допустим есть два сервера, обслуживающие двух игроков стоящих рядом.
Один из них делает действие (например перемещение), его сервер обрабатывает запрос и отправляет результат:
1) клиенту
2) всем видящим это действие клиентам на этом же сервере
3) через локальную сеть на второй сервер, чтобы он сделал то же самое
Так?
Есть варианты:
1. Строгое территориальное деление.
Каждый под-сервер работает только с теми клиентами, что сидят на нём. При переходе клиента на другой под-сервер обычно видна какая-то загрузка (заходим в инстанс, подземелье, телепортируемся).
Тут всё просто.
2. Нестрогое территориальное деление.
Клиенты могут переходить на другой под-сервер без какой-либо подгрузки.
В этом случае под-серверы реально обмениваются инфой о клиентах, стоящих около границ.
Недавно тут проскакивало видео лекции главного программера Аллодов Онлайн. У них именно этот вариант реализован.
3. Деление не по территориальному признаку.
Я не знаю примеров таких серверов, если честно.
Экспериментально мной было проверено что win XP sp3 pro держит 4000 открытых работающих TCP сокетов, о чем были найдены некоторые обрывки в гугле людей которые упирались в этот лимит. Подозреваю что серверная версия держит больше. Но опять таки , как написали тут выше, скорее всего намного быстрее будет достигнут предел производительности CPU.
в тестах книги которую советовали ранее в этом треде, Win200 Server держал около 50к TCP клиентов...
Вот линка на то видео, где рассказывается о сервере Аллодов Онлайн:
http://rutracker.org/forum/viewtopic.php?t=2961984
спор как таковой ни о чем. Сначала напиши такую игру. А потом сделай как все, перейди на *unix
В частности прочитай характеристики солярки и ужаснись
http://www.interface.ru/home.asp?artId=1441
Если память не изменяет , то число подключений там за несколько сотен К подключений.
Нашли блин сервер из Windows ((
Мы всегда используем для серверов FreeBSD и никаких упираний в потолок подключений не встречали. Только бывало клиенты забивали канал трафом (контентным).
Лимит в 10 подключений убран в Viste и Семёрке. (Теперь в них лимита нет как бы вообще, да и в ХР лимит убирается утилитами и ручками)
Однако по многим причинам крайне не советую не на серверных версиях Win запускать серьёзный игровой сервер.. )
Тема в архиве.