Игровой сервер (также иногда называют хост ) является сервером , который является авторитетным источником событий в видеоигре многопользовательской . Сервер передает достаточно данных о своем внутреннем состоянии, чтобы подключенные клиенты могли поддерживать свою собственную точную версию игрового мира для отображения игрокам. Они также получают и обрабатывают ввод каждого игрока.
Типы
Выделенный сервер
Выделенные серверы моделируют игровые миры без поддержки прямого ввода или вывода, за исключением того, что требуется для их администрирования. Игроки должны подключаться к серверу с отдельными клиентскими программами, чтобы видеть игру и взаимодействовать с ней. [1] [2]
Основным преимуществом выделенных серверов является их пригодность для размещения в профессиональных центрах обработки данных со всеми вытекающими отсюда преимуществами надежности и производительности. Удаленный хостинг также устраняет преимущество низкой задержки , которое иначе было бы у любого игрока, который размещает и подключается к серверу с той же машины или локальной сети. [1]
Однако использование выделенных серверов стоит денег. Стоимость иногда покрывается разработчиками игры (особенно на консолях ), а иногда и клановыми группами, но в любом случае общественность полагается на третьи стороны, предоставляющие серверы для подключения. По этой причине большинство игр, в которых используются выделенные серверы, также предоставляют поддержку сервера прослушивания . [1] Игроки этих игр часто размещают серверы для публики и своих кланов, либо размещая экземпляр сервера на собственном оборудовании, либо арендуя у провайдера хостинга игровых серверов.
Слушать сервер
Серверы прослушивания работают в том же процессе, что и игровой клиент. В остальном они функционируют как выделенные серверы, но обычно имеют недостаток, заключающийся в необходимости связываться с удаленными игроками через домашнее интернет-соединение хост-плеера. Производительность также снижается из-за того простого факта, что машина, на которой запущен сервер, также генерирует выходное изображение. Кроме того, серверы прослушивания предоставляют любому, кто играет на них напрямую, большое преимущество в задержке по сравнению с другими игроками и прекращают свое существование, когда этот игрок покидает игру. [1] [3]
Тем не менее, серверы прослушивания имеют то преимущество, что они по сути бесплатны и не требуют какой-либо специальной инфраструктуры или предварительного планирования для настройки, что делает их обычными для сторон ЛВС, где проблемы с задержкой и пропускной способностью не являются проблемой. Они также распространены в консольных играх.
Миграция хоста
В устройстве сервера прослушивания «миграция хоста» является полезной функцией. Без миграции хоста, если игрок, который в настоящее время размещает хостинг, отключается по какой-либо причине (завершение работы, сбой, потеря сетевого соединения и т. Д.), Текущий сервер перестает функционировать и игровой процесс завершается. Функция миграции хоста позволяет одному из других игроков стать новым хостом, чтобы игра могла продолжаться.
Пиринговый
В модели клиент / сервер, описанной в другом месте этой статьи, клиенты получают обработанные данные с сервера и отображают их, не задумываясь. В альтернативной «одноранговой» модели нет сервера: каждый «одноранговый узел» вместо этого получает необработанные входные потоки от каждого другого игрока и сам определяет результаты. [4]
Одноранговая сеть обычно считается устаревшей для экшн-игр, но она все еще распространена в жанре стратегий в реальном времени из-за ее пригодности для игр с большим количеством жетонов и небольшим количеством игроков. Вместо постоянной передачи позиций 1000 войск, игра может делать разовую передачу того факта, что выбрано 1000 войск и что командующий ими игрок только что отдал приказ о движении. [4]
Однако у одноранговой сети есть много недостатков: [4]
- Очень сложно поддерживать синхронизацию всех узлов. Незначительные различия между сверстниками со временем могут перерасти в парадоксы, нарушающие правила игры.
- Очень сложно поддерживать новых сверстников, присоединяющихся на полпути к игре.
- Каждый одноранговый узел должен связываться со всеми другими одноранговыми узлами, ограничивая количество подключенных игроков.
- Каждый одноранговый узел должен дождаться сообщения каждого другого узла перед моделированием следующего «сетевого кадра», в результате чего все игроки будут испытывать ту же задержку, что и игрок с наихудшим соединением.
Слушай-пэр
Множественные слушающие серверы коллективно взаимодействуют друг с другом для настройки слушающего равноправного узла. Этот тип настройки позволяет избежать недостатков одноранговой связи между всеми клиентами и является лучшей альтернативой выделенным серверам для увеличенного числа клиентов.
Тикрейт
Скорость, с которой игровой сервер выполняет шаги моделирования, обычно называется его «тикрейтом». «Галочка» - это номер, связанный с каждым шагом моделирования, который транслируется клиентам, чтобы помочь им синхронизироваться с сервером. [5]
Есть три причины, чтобы ограничить частоту шагов симуляции сервера до предопределенной тиковой скорости: для экономии полосы пропускания сервера и клиента, для экономии процессорного времени сервера и для того, чтобы позволить клиентам быть уверенными в том, сколько времени прошло между каждым тиком. Последний пункт важен для интернет-игр, поскольку сетевые обновления с сервера могут поступать с разными интервалами или даже в неправильном порядке. [5]
Настройка
Серверы, особенно для компьютерных игр , обычно можно настроить таким образом, чтобы к ним могли подключаться неизмененные клиенты. Эти настройки могут включать изменения встроенных настроек игры, контент, который загружается клиентами, когда они присоединяются к игре, [6] и новый код, который изменяет поведение сервера. [7]
Хотя настройка сервера популярна среди администраторов серверов и игроков, она может противоречить желанию разработчиков и других игроков, чтобы игра проходила так, как задумано. [8] [9] Это также может раздражать игроков, позволяя недобросовестным администраторам лгать о том, что предлагает их сервер. [10]
Смотрите также
Рекомендации
- ^ a b c d Вайльбахер, Майкл (март 2012 г.). «Выделенные серверы в Gears of War 3: масштабирование до миллионов игроков» . GDC 2012 . GDC Vault.
- ^ Бернье, Ян (2001). «Методы компенсации задержки при проектировании и оптимизации внутриигровых протоколов клиент / сервер» . Клапан . Проверено 17 сентября 2011 года .
- ^ "Руководство по выделенному серверу Mammoth | Установка (компьютерные программы) | Сервер (вычисления)" . Scribd . Проверено 16 февраля 2020 года .
- ^ а б в Фидлер, Гленн (24 января 2010 г.). «Что нужно знать каждому программисту об игровых сетях» .
- ^ а б «Исходная многопользовательская сеть» . Сообщество разработчиков Valve . Проверено 13 февраля 2013 года .
- ^ «Быстрая загрузка HTTP» . Поддержка Steam . Клапан . Проверено 5 мая 2012 года .
- ^ «Серверные плагины» . Сообщество разработчиков Valve . Клапан . Проверено 5 мая 2012 года .
- ^ Боулинг, Роберт (21 октября 2009 г.). «Modern Warfare 2 для ПК» . Архивировано из оригинального 21 октября 2009 года.
- ^ Дентон, Джон (4 июля 2012 г.). «Battlefield 3: Как фанатские серверы портят игру DICE» . Eurogamer .
- ^ Уокер, Робин (12 марта 2009 г.). "И это то, что вы git fer toochin это!" . Блог Team Fortress 2 . Клапан .