Для LAN-пати нужно, чтобы все машины были подключены к одному проводному свитчу, один выделенный сервер (или хостинговый сервер, если интернет на площадке приличный) с играми, в которые вы планируете играть, и чтобы каждая игра была установлена и обновлена до того, как кто-то придёт. Локальные серверы дают минимальную задержку и переживают падение интернета на площадке; хостинговые избавляют от необходимости таскать железо и продолжают работать после вечеринки. Большинство современных игр даже в LAN требуют интернета для аутентификации игроков, так что "LAN" редко означает "офлайн". Ниже: сеть, сервер, LAN-режим по играм, кэширование загрузок, чтобы сорок человек не тянули одно и то же обновление на 80 ГБ, и сбои, которые съедают первые два часа любой LAN-пати.
Локальный сервер или хостинговый#
Первое решение - где будут работать серверы. Работают оба варианта; ломаются они по-разному.
| Сервер на площадке | Хостинговый сервер в дата-центре | |
|---|---|---|
| Задержка | Меньше 1 мс в проводной LAN | Пинг от площадки до хостинга, часто 10-40 мс |
| Интернет на площадке упал | Игры с офлайн-LAN продолжают работать | Ничего не работает |
| Железо, которое нужно везти | Ещё один ПК плюс его кабели | Никакого |
| Время на настройку в день мероприятия | Установка, настройка, проверка | Уже работает |
| После вечеринки | Упакован и увезён | Продолжает работать для группы |
| Использование исходящего канала | Никакого для игрового трафика | Трафик каждого игрока идёт через канал |
Локальный сервер выигрывает в соревновательных шутерах, где миллисекунда для людей важна, и на площадках с плохим или ненадёжным интернетом. Хостинговый выигрывает для игр с постоянным миром, в которые группа будет играть и после выходных, - мир Minecraft или сохранение Valheim, которое становится сервером группы, - и для небольших мероприятий, где везти ещё один ПК неудобно.
Многие LAN-пати делают и то и другое: локальный сервер для турнирных игр и хостинговый для кооперативного мира. Игровой трафик небольшой - для большинства игр несколько сотен килобит в секунду на игрока, - так что площадка с нормальным подключением без напряжения справится с хостинговым сервером на тридцать человек. С чем она не справится, так это с тридцатью людьми, одновременно качающими обновления, но это отдельная проблема, и у неё есть своё решение - ниже.
Сеть#
Большинство проблем на LAN-пати - сетевые, и почти все они исчезают, если использовать кабели.
Подключайте всё по проводу. Wi-Fi на LAN-пати - это тридцать устройств плюс тридцать телефонов, которые в одной комнате борются за одни и те же каналы. Дальше следуют скачки задержки и потеря пакетов. Проведите гигабитный Ethernet к каждой игровой машине и к серверу, а Wi-Fi оставьте для телефонов.
Одна плоская сеть. Гигабитный свитч (или несколько, соединённых между собой), и всё в одной подсети. Если портов нужно больше, чем есть у одного свитча, соединяйте свитчи между собой, а не цепочкой через чей-то ПК. В таком масштабе неуправляемые свитчи вполне подходят.
Один DHCP-сервер. Обычно адреса раздаёт роутер площадки. Если вы привозите свой роутер, убедитесь, что DHCP в сети занимается только одно устройство, - два будут раздавать конфликтующие адреса, и машины будут случайным образом отваливаться.
Фиксированный адрес для сервера. Дайте ему статический IP или резервацию DHCP, чтобы адрес, который вы написали на доске в 18:00, был верным и в 02:00.
Честно оцените канал. Если подключение площадки делится с другими людьми, спросите, какое оно. Линии на 100 Мбит/с хватает для игры, но для обновлений это мучение. Типичные цифры по играм есть в статье трафик игрового сервера на игрока, а статья задержка, джиттер и потеря пакетов поможет понять, какая у вас проблема, когда кто-то жалуется на лаги.
Сервер#
Запасной десктоп - вполне хороший LAN-сервер. Требования скромные: современный четырёхъядерный процессор с высокой производительностью на ядро, 16 ГБ памяти, чтобы держать три-четыре сервера одновременно, SSD и проводное подключение. Видеокарта ему не нужна, кроме той, что позволяет видеть рабочий стол.
Настройте его дома, за неделю до мероприятия:
- Установите операционную систему и все обновления. Windows подходит почти для любой игры; Linux легче и для большинства игр работает нативно. Какой игре что нужно, разобрано в статье игровые серверы на Linux и Windows.
- Установите SteamCMD и все серверы, которые планируете запускать. Команды есть в статье что такое SteamCMD; сколько памяти нужно каждому, - в статье требования игровых серверов по играм.
- Настройте каждый сервер, запустите его и подключитесь к нему с другой машины в домашней сети.
- Напишите стартовый скрипт или ярлык для каждого сервера, чтобы в день мероприятия запуск игры был двойным щелчком.
- В Windows разрешите каждому серверу доступ через брандмауэр в частных сетях и убедитесь, что сеть площадки будет считаться частной. Сеть, помеченная как общественная, по умолчанию блокирует входящие подключения, и это самая частая причина "никто не видит мой сервер" на LAN-пати.
Затем, накануне, запустите каждый сервер ещё раз, чтобы подтянуть обновления. Обновления, вышедшие за ночь, всё равно вас настигнут, поэтому и важно локальное кэширование загрузок.
LAN-режим по играм#
"LAN-режим" в разных играх означает разное. Некоторые действительно играются офлайн; большинство по-прежнему проверяют каждого игрока онлайн и просто не попадают в публичный список серверов.
Игры на Source: TF2, CS:S, Garry's Mod, L4D2
sv_lan 1 в server.cfg делает сервер только локальным: он не регистрируется на мастер-сервере Steam, и зайти могут только клиенты из локальной подсети. Игроки находят его на вкладке LAN в браузере серверов, который обнаруживает серверы широковещательными запросами в локальной сети. Steam у игроков всё равно должен быть запущен, и в него нужно войти. Для смешанного мероприятия, где часть людей подключается не с площадки, оставьте sv_lan 0. Остальная настройка описана в статье основы SRCDS.
Counter-Strike 2
Серверы CS2 для LAN-турниров тоже запускают с sv_lan 1, а игроки подключаются через connect <ip> в консоли. Чтобы игроки вообще могли запустить игру, Steam должен быть онлайн, так что полное отключение интернета останавливает CS2 независимо от того, где находится сервер. Настройки матча - в статье конфиг сервера CS2 для соревновательных матчей.
Minecraft
Выделенный сервер Java с online-mode=true проверяет каждого игрока через Microsoft, поэтому ему нужен интернет. С online-mode=false не нужен - но это также значит, что любой в сети может зайти под любым ником, в том числе под ником админа. На закрытой LAN-пати, где все друг друга знают, это приемлемый компромисс, если интернет ненадёжный; где-либо ещё - нет. "Открыть для сети" из одиночного мира - вариант без настройки для нескольких игроков, хотя тогда мир работает на ПК одного человека. online-mode и остальные настройки разобраны в статье server.properties в Minecraft.
Другие
| Игра | Поведение в LAN |
|---|---|
| Factorio | LAN-игры работают офлайн; выделенные серверы можно настроить не требовать проверки пользователей |
| Terraria | К выделенному серверу подключаются по IP, что работает в локальной сети |
| Valheim | Нужен Steam (или PlayFab для кроссплея); офлайн-режима нет |
| Satisfactory | Ожидает онлайн-сервисы для входа игроков |
| Старые игры (UT, Quake, оригинальная AoE2) | Настоящая офлайн-игра по LAN |
Чем старше игра, тем вероятнее, что она играется по-настоящему офлайн, - отчасти поэтому классика и остаётся популярной на LAN-пати. Для всего современного исходите из того, что интернет должен работать, чтобы игроки могли войти, и считайте локальный сервер улучшением задержки, а не страховкой от отключения.
Загрузки: проблема, которая съедает первые два часа#
Приходят тридцать человек, запускают Steam, и у каждого обновление на 20 ГБ для игры, с которой вы планировали начать. На подключении 100 Мбит/с это много часов. Это самый предсказуемый сбой на любой LAN-пати, и у него три решения, которые лучше использовать вместе.
Попросите всех обновиться до прихода. Накануне опубликуйте список игр и попросите всех один раз запустить каждую игру дома. Половина так и сделает.
Запустите кэш загрузок. LANCache (от проекта lancache.net) - кэширующий прокси, который работает в Docker на машине на площадке. DNS площадки (или собственная DNS-служба кэша) направляет Steam, Battle.net, Epic и другие хосты с контентом на кэш; первый, кто качает обновление, тянет его из интернета, а все последующие получают его из LAN на скорости локального диска. Нужна машина с большим быстрым диском и проводным подключением, а также некоторая настройка DNS в сети. Для мероприятия больше чем примерно на пятнадцать человек оно того стоит.
Используйте локальную передачу Steam. Steam может копировать файлы игры с другого ПК в той же сети вместо загрузки, если включена настройка, разрешающая передачу с устройств в локальной сети. Это помогает, но только когда у кого-то в LAN уже есть точно такая же версия.
Электричество, тепло и физическая сторона#
Непарадная часть решает, будет ли сервер работать в три часа ночи.
Посчитайте ватты. Игровой ПК под нагрузкой потребляет несколько сотен ватт, монитор - ещё тридцать-пятьдесят. Двадцать мест на одной бытовой линии выбьют автомат - обычно в тот момент, когда матч уходит в овертайм. Спросите на площадке, как розетки распределены по линиям, и расставьте столы соответственно. Подключите сервер и свитч к линии с как можно меньшим числом игровых ПК, а в идеале - к небольшому ИБП, чтобы выбитый где-то автомат не уронил вместе с собой все игры.
Держите сервер подальше от людей. Сервер под оживлённым столом пинают, выдёргивают из розетки, чтобы зарядить телефон, и заваливают куртками. Поставьте его вместе со свитчем и кэшем где-нибудь на виду, но в стороне от проходов, с подписанными кабелями.
Следите за теплом. Комната, полная ПК, быстро нагревается, а сервер, придвинутый к стене с перекрытыми вентиляторами, начнёт троттлить. Оставьте ему место, чтобы дышать.
Возьмите запасное. Несколько запасных кабелей Ethernet разной длины, запасной удлинитель и маленький запасной свитч стоят немного и решают большинство аппаратных проблем, которые всплывают в день мероприятия.
Проведение мероприятия#
Напишите список серверов на доске. Игра, IP и порт, пароль, если есть. Большинство вопросов на LAN-пати - "какой адрес?".
Запускайте серверы, когда они нужны. Каждый работающий сервер отнимает у машины память и CPU. Держите запущенными текущую игру и следующую, а не все восемь.
Дайте серверам и картам время. Большие коллекции Workshop и пользовательские карты в первый раз загружаются долго. Запускайте сервер для следующей игры за десять минут до конца текущей.
Имейте план на случай падения интернета. Список игр, которые работают офлайн, уже установленных и проверенных, спасает вечер.
Сохраните постоянный мир. Если группа играла в кооперативном мире, скопируйте сохранение, прежде чем собираться, - или с самого начала играйте на хостинговом сервере, чтобы мир был на месте и на следующей неделе. Как поддерживать его после мероприятия, разобрано в статье сервер с модами для друзей.
Решение проблем в день мероприятия#
Никто не видит сервер. В Windows сеть, скорее всего, помечена как общественная, и брандмауэр блокирует входящий трафик. Смените профиль на частный или добавьте явные правила брандмауэра для портов сервера. Затем проверьте, что сервер и игроки в одной подсети.
Одни игроки видят его, другие нет. Два DHCP-сервера или часть машин на Wi-Fi в другой подсети, чем проводные. Проверьте IP-адреса: в типичной сети домашнего типа у всех должны совпадать первые три числа.
Скачки лага у всех. Какая-то машина в сети её забивает - обычно загрузкой. Проверьте, работает ли кэш и не стримит ли кто-то в высоком качестве через тот же канал.
"Connection failed: Steam not logged in". Пропал интернет, или Steam у игрока в офлайн-режиме. Большинство современных игр без него не могут пройти аутентификацию.
Сам сервер тормозит. Запущено слишком много серверов одновременно. Остановите те, на которых никто не играет.
FAQ#
Нужен ли на LAN-пати выделенный сервер?
Не всегда. Многие игры позволяют одному игроку хостить прямо из игры, и для небольших групп этого достаточно. Выделенный сервер лучше, когда игроков больше восьми, для соревновательных игр и для всего, что должно работать, пока ПК хоста занят чем-то другим.
Можно ли играть без интернета на LAN-пати?
Только в игры, которые поддерживают офлайн-игру по LAN. Большинству современных игр нужна онлайн-аутентификация, даже когда сервер в той же сети. Старые игры и некоторые инди полностью работают офлайн - проверьте каждую игру, которую планируете, прежде чем на это рассчитывать.
Не будет ли хостинговый сервер слишком лагать для LAN?
Для кооператива и неспешной игры - нет: 10-40 мс в большинстве игр незаметны. Для соревновательных шутеров на турнире задержка локального сервера меньше миллисекунды заметно лучше, и игроки разницу заметят.
Сколько игровых серверов может держать один ПК?
Современный четырёхъядерник с 16 ГБ спокойно держит три-четыре небольших сервера одновременно - сервер CS2, сервер TF2, сервер Minecraft и что-то лёгкое. Обычно ограничение - память; проверьте потребности каждой игры.
Что такое LANCache и нужен ли он мне?
Это кэширующий прокси для загрузок игр. Он сохраняет каждое обновление, когда его кто-то впервые скачивает, и отдаёт следующие копии из локальной сети. Если людей больше примерно пятнадцати, он экономит часы ожидания.




Комментарии
Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.