Создаем игровой сервер

Рейтинг:  4 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда не активна
 

UbuntuИгровой сервер был создан ради любопытства, для сравнения возможностей. Опыты проходили над игрой CS, выступая как известная и свободно распространяющаяся в виде установочного пакета для игровых серверов.

Программная сторона игрового сервера

- как сделать сервер CS, а так же аналогичные ресурса STEAM
- запуск сервера cs, а так же аналогичные ресурса STEAM

Скорость интернет соединения

Было бы не правильно сказать, что для игр не нужны мощные сервера. Конечно же нужны! Но не в данном случае, основа моего проекта mini сервер, то и вывод напрашивается сам. Определяемся со скоростью нашего интернет соединения, на скорости 100 Мбит/сек мы получаем порядка 3000 - 4000 игроков на нашем сервере в многопользовательской игре типа Lineage 2 с такой нагрузкой справится не всякий сервер. А если скорость интернете 15 Мбит/сек это около 450 пользователей. Это не такое большое количество пользователей и вполне по силам mini серверам. В играх типа Counter Strike Source, дела обстоят совсем по другому. на скорости 1 Мбит/сек мы получим не более 10 пользователей выходит, что на скорости 15 Мбит/сек 80 - 100. Сразу же отвечу на вопрос: почему количество изменяется не равномерно? Все дело в возможностях вашего сервера, здесь большую роль играет не только сам интернет, но и его начинка. Хотите сервер под Counter Strike 1,6 тогда любой старый компьютер или intel Atom, оперативной памяти на 512 МБайт. Причем этой минимальной комплектации вам будет с большим запасом.

Комплектующие игрового сервера

01. DIMM 2Gb DDR2 PC6400 800MHz Kingston(KVR800D2N6/2G)
02. Intel Celeron E3300 2,5GHz Socket-775 BOX (кулер не влез в корпус)
03. Cooler for CPU Titan TTC-NK54TZ (S775) низкопрофильный
04. MiniITX Foxconn RS-506 250W + Card-Reader Black/Black
05. Zotac NF630I-H-E, NF 630i, GF7100 S775, 2xDDR2-800, WIFi Mini-ITX
06. DVD±R/±RW NEC AD-7240S-0B Black OEM

Запуск системы производил на том же системном блоке что и Web сервер по причине малой мощности, а точнее того, что корпус MiniITX Winsis WI-03 Black 200W не соответствовал своей номинальной мощности за место обещанных 200Вт выдавал 130Вт, он был заменен на более мощный MiniITX Foxconn RS-506 250W. В связи с чем slim CD-ROM заменен на обычный, а кулер на низкопрофильный. При установленном DVD-ROM не было возможности подключить SATA разъем, как и питания.

DSC01929 DSC01941
DSC01932 DSC01933
DSC01940 DSC01939

На фотографиях показан корпус с мощностью 250Вт. Здесь очень хорошо видно как разъемы питания и SATA выходят над кулером вплотную, в следствии чего, пришлось установить стяжку и подтянуть провода к крышке системного блока.

Внешнее сетевое оборудование

Внешнее интернет оборудование это дело индивидуальное. Для подключения игрового сервера нам необходим выделенный IP. Выделенный IP - это персональный IP адрес вашего компьютера со всеми открытыми портами для полного доступа с интернета. Такой адрес называется статическим - не изменяющийся с течением времени.

Игровой сервер

рис.1 Схема включение игрового сервера напрямую на статический IP

Самый простой способ подключить сервер напрямую (рисунок 1), это удобно если ваш сервер функции с которыми он справляется. А что если, необходимо запустить несколько игровых серверов на 2 машины и 1 сайт (регистрация пользователей, поддержка проекта, помощь), в таких случаях 1 сервера может быть не достаточно. На рисунке 2 представлено включение нескольких серверов путем управления главным сервером доступа. Главный сервер к которому подключаются другие сервера или клиенты называется сервером доступа. Сегодня его роль можно легко возложить на роутер - сетевое устройство, на основании информации о топологии сети и определённых правил, принимающее решения о пересылке пакетов сетевого уровня (уровень 3 модели OSI) между различными сегментами сети. Другими словами он осуществляет одновременное подключение к интернету сразу нескольких клиентов. В данном случае под словом клиенты я подразумеваю наши сервера, т.к. они имеют потребность в получении общей возможности выхода в интернет.

Несколько серверов на одном IP

рис. 2 Схема включения нескольких серверов с одного IP

Для лучшего представления о пробросе портов распишу принцип действия. К примеру мы имеет 3 компьютера которые подключены роутеру с IP адресом 192.168.1.1, сервера имеют адреса 192.168.1.2,192.168.1.3 и 192.168.1.4 каждый из которых выполняет свою задачу, игровой сервер Lineage 2, игровой сервер Counter-Strike Source и Web сайт соответственно. Используемый порт для отображения интернет страниц 80, порт для Counter-Strike Source 27015 и порты 2106 для авторизации в игре Lineage 2, а так же порт 7777 самой игры. На основании этих правил прописываем в функциях Virtual Servers:

1. 27015 для 192.168.1.2
2. 2106 для 192.168.1.3
3. 7777 для 192.168.1.3
4. 80 для 192.168.1.4

Обсуждение игровых серверов на форуме