Хостинг дома бесплатен примерно так же, как бесплатна машина, когда она уже куплена. Для четырёх друзей, играющих в Terraria по выходным, запасной компьютер на столе - вполне достаточное решение, и арендовать что-либо было бы глупо. Для публичного сервера, на котором сидят незнакомцы, запуск с собственной линии означает, что трафик принимает ваш домашний адрес, весь дом делит с вами простой, когда что-то ломается, а один обиженный игрок с booter-сервисом кладёт всё ваше соединение на целый вечер.
Честный ответ таков: решение сводится к четырём вопросам, и на три из них можно ответить за десять минут. Сидите ли вы за CGNAT, сколько у вас скорости отдачи, можно ли держать машину включённой постоянно и выставляете ли вы свой домашний IP-адрес перед людьми, которых не знаете. Если ответы - нет, достаточно, да и нет, хостите дома и дальше можно не читать. Эта статья о том, как всё проверить, сколько это стоит в обоих случаях и какие есть промежуточные варианты.
Когда хостинг дома - действительно правильный ответ#
Не слушайте тех, кто говорит, что так делать нельзя никогда. Домашний хостинг оказывается верным выбором чаще, чем признаёт хостинговая отрасль, и случаи эти вполне конкретны:
- Небольшая закрытая компания, которая планирует сессии. Четырём-шести людям, договорившимся играть во вторник, не нужна машина, которая работает в среду. Если вы сами всегда среди игроков, серверу достаточно существовать, пока вы за клавиатурой.
- Игра со скромным трафиком и небольшим лимитом игроков. Terraria, Factorio, Valheim с парой человек, Project Zomboid на четверых, ванильный мир Minecraft на пятерых. Нагрузка небольшая, и домашняя линия тянет её без труда.
- Оборудование у вас уже есть, а электричество дешёвое. Мини-ПК, купленный для другого, или старый десктоп, который собирались сдать в утиль.
- Вы хотите разобраться. Запуск всего самому научит вас сетям за выходные лучше, чем год работы с панелью. Это настоящая причина, и она чего-то стоит.
- Вы и так на частной сети. Если все заходят через Tailscale, ZeroTier или mesh на WireGuard, то нет ни проброса портов, ни публичной экспозиции, ни проблемы с CGNAT, и доводы в пользу аренды в основном испаряются. Подробнее об этом ниже.
Доводы против столь же конкретны: публичный сервер, который может найти любой; группа, разбросанная по часовым поясам и играющая, пока вы спите; больше восьми-десяти одновременных игроков; всё, что вам было бы жалко потерять; и всё, где подключаются люди, которых вы не знаете.
Три вещи, которые мешают всему работать#
Сидите ли вы за CGNAT?
Carrier-grade NAT означает, что провайдер поставил вас за общий публичный адрес. Тысячи клиентов выходят через один и тот же адрес IPv4, и пробросить порт к вам невозможно, потому что адрес не ваш. Это чрезвычайно распространено в мобильном интернете, у новых оптоволоконных провайдеров и у любого провайдера, у которого закончилось адресное пространство IPv4, то есть у всех.
Проверка занимает тридцать секунд. Зайдите в роутер и найдите WAN- или Internet-IP. Затем узнайте свой публичный адрес из браузера в том же подключении. Если они совпадают, у вас настоящий публичный адрес, и проброс портов сработает. Если WAN-адрес роутера другой, и особенно если он попадает в один из этих диапазонов, вы за CGNAT:
| Диапазон | Что это |
|---|---|
100.64.0.0 to 100.127.255.255 | Carrier-grade NAT, безошибочный признак |
10.0.0.0 to 10.255.255.255 | Частный, то есть роутер стоит за чем-то ещё |
172.16.0.0 to 172.31.255.255 | Частный |
192.168.0.0 to 192.168.255.255 | Частный |
Если вы за CGNAT, варианты такие: попросить у провайдера публичный адрес IPv4, который одни выдают бесплатно, а другие за деньги; использовать IPv6, если он есть у обеих сторон, - для закрытой группы это нормально, а для широкой публики бесполезно; вывести туннель через недорогой сервер в другом месте; или взять оверлейную сеть, чтобы публичный адрес не нужен был никому. Компромиссы первых двух вариантов разобраны в статьях статический IP и зачем он может понадобиться и IPv6 и игровые серверы.
Сколько у вас скорости отдачи?
Скорость загрузки здесь не важна. Сервер отправляет мир каждому игроку, поэтому ограничивает его отдача, а домашние подключения устроены наоборот. У линии 500/50 отдача 50 Мбит/с, то есть 6,25 МБ/с. У линии 100/10 - 1,25 МБ/с. Старый VDSL с отдачей в 1 Мбит/с даёт 128 КБ/с, и этого для большинства игр действительно мало.
Примерный исходящий трафик на игрока; лучше измерьте свой, а не верьте таблице:
| Игра | Исходящий трафик на игрока | Примечания |
|---|---|---|
| Minecraft Java | 5-25 KB/s стабильно | Большие всплески, когда чанки подгружаются движущемуся игроку |
| Valheim | 50-150 KB/s | Много для такого числа игроков; лимит - 10 |
| Движок Source, 64 tick | 30-60 KB/s | Растёт вместе с tick rate, так что 128 tick примерно вдвое больше |
| Terraria | 5-15 KB/s | Немного |
| Project Zomboid | 20-60 KB/s | Резко растёт с числом зомби |
| Factorio | 10-30 KB/s | Трафик редко бывает ограничением; ограничивает UPS |
Умножьте на реалистичный пик числа игроков и прибавьте ещё половину. Десять игроков Valheim по 100 KB/s - это 1 MB/s, то есть 8 Мбит/с постоянной отдачи, а линия в 10 Мбит/с этого не сможет, пока кто-то ещё в доме пользуется интернетом.
Более тонкая проблема - bufferbloat. Когда отдача насыщается, пакеты выстраиваются в очередь в роутере, и у каждого соединения в доме прибавляются сотни миллисекунд задержки, включая игру. Проявляется это так: у всех лаги в ту секунду, когда кто-то заливает видео или запускается backup. Умное управление очередями (fq_codel или cake, на OpenWrt и некоторых домашних роутерах это называется SQM) исправляет это и ничего не стоит. Прогоните тест на bufferbloat до и после. В статье задержка, джиттер и потеря пакетов объясняется, как отличить эти три явления друг от друга, когда игроки жалуются.
Может ли машина работать всё время?
Не «оставите ли вы её включённой», а «разрешено ли ей быть включённой». Реальные сбои скучны и часты: Windows Update перезагружается в три часа ночи, и сервер не поднимается; кому-то понадобился этот ПК для другого дела; на две минуты отключили электричество; у провайдера профилактика; сосед по квартире выдернул шнур. Ничто из этого не драматично, и всё это означает, что сервер лежит, а запустить его некому, потому что удалённой кнопки питания нет.
Если сервер стоит на той же машине, на которой вы играете, появляется вторая проблема. Игровой сервер конкурирует с вашей игрой за CPU, и впечатления игроков теперь зависят от того, чем заняты вы. Именно это выделенный сервер и должен был исправить, о том, почему разделение важно, рассказано в статье что такое выделенный игровой сервер.
Проброс портов как следует#
Если у вас настоящий публичный адрес, порядок всегда один и тот же, и люди пропускают первый шаг.
- Дайте серверу фиксированный адрес в вашей локальной сети. Не вписывайте статический IP в машину и не надейтесь на лучшее, а используйте DHCP-резервирование в роутере, привязанное к MAC-адресу машины. Проброс на
192.168.1.42ломается в тот день, когда роутер отдаст этот адрес телефону. - Откройте порт в собственном файрволе машины. Windows Defender Firewall по умолчанию блокирует входящие; в Linux используйте
ufw allow 25565/tcpили эквивалент. Именно этот шаг делает так, что в локальной сети работает, а снаружи нет. - Добавьте проброс в роутере. Внешний порт, внутренний порт, внутренний IP и правильный протокол. Ошибка UDP или TCP - самая частая неудача: Minecraft Java работает по TCP, Valheim по UDP, игры на Source по UDP, а некоторым нужны оба.
- Пробросьте и порт запросов. Многие игры используют второй порт, чтобы браузер серверов мог их видеть. Сервер, к которому друзья заходят по IP, но который не появляется ни в одном списке, почти всегда страдает от пропущенного порта запросов; закономерность разобрана в статье порты игрового сервера.
- Проверьте снаружи. Не из своей сети. Многие роутеры не поддерживают hairpin NAT, поэтому подключение к собственному публичному адресу изнутри дома не работает, даже когда всё правильно. Используйте мобильный интернет при выключенном wifi или попросите друга.
Избегайте двух коротких путей. UPnP позволяет любой программе в вашей сети открывать порт, не спрашивая вас, и это удобно, пока им не воспользуется что-то, чего вы не устанавливали. А «DMZ host» пробрасывает все порты на одну машину, превращая один открытый игровой порт в полностью открытый компьютер. Пробрасывайте два нужных порта и ничего больше; коротко о том, почему так, - в статье правила файрвола, которые важны.
Наконец, домашние IP-адреса меняются. Если ваш меняется, у всех ломаются сохранённые записи сервера. Динамический DNS решает это: небольшой клиент на машине обновляет запись A каждый раз, когда адрес меняется, а игроки используют имя. Сама запись разобрана в статье как привязать домен к игровому серверу.
Сколько на самом деле стоит держать машину дома#
Электричество - расход, о котором забывают, и его легко посчитать. Умножьте среднюю потребляемую машиной мощность у розетки в ваттах на 0.72, чтобы получить киловатт-часы в месяц, а затем на ваш тариф.
| Машина | Типичная мощность | кВт·ч/месяц | При 0.30 за кВт·ч |
|---|---|---|---|
| Маленькая плата на ARM | 5-8 W | 4-6 | 1.20-1.80 |
| Мини-ПК, энергоэффективный CPU | 8-15 W | 6-11 | 1.80-3.30 |
| Ноутбук, оставленный в розетке | 15-30 W | 11-22 | 3.30-6.60 |
| Старый десктоп, простой | 50-90 W | 36-65 | 10.80-19.50 |
| Игровой десктоп под нагрузкой | 150-300 W | 108-216 | 32-65 |
Эта таблица сама закрывает большинство споров. Энергоэффективный мини-ПК обходится в пару денежных единиц в месяц и по чистым деньгам обгоняет арендованный тариф - после того как вы его купили. Старый системник, работающий круглосуточно, съедает электричества больше, чем стоит тариф игрового сервера, и это до шума, тепла и вентилятора.
Добавьте честно и остальную часть учёта: само оборудование, амортизированное за два-три года, ИБП, если вы переживаете об отключениях питания, второй диск, если хотите, чтобы мир пережил отказ диска, и ваше собственное время. Затем сравните с реальной цифрой: большинство игровых тарифов начинаются от $3-9 в месяц, а от чего зависит эта цифра, разобрано в статье сколько стоит игровой сервер. За два года мини-ПК на 15 W, который у вас уже есть, выигрывает по деньгам. Десктоп, который вы оставляете включённым, - нет.
Проблема безопасности, которую не настроить#
Всё вышесказанное решается усилиями. Эта проблема - нет, и именно она настоящая причина, по которой публичные серверы не запускают из спален.
Ваш домашний IP-адрес становится публичным. Каждый игрок, заходящий по IP, знает, где вы живёте, в том смысле, который важен. В любой игре с браузером серверов адрес публикуется. Игрок, которого вы забанили, может направить на него booter за пять евро, и весь ваш дом - рабочие звонки, школа, телефоны всех - остаётся без интернета, пока это не прекратится. Ваш провайдер не отфильтрует это за вас и не станет. Хостинг-провайдер стоит за фильтрацией у вышестоящих операторов, которая отбрасывает очевидные объёмные атаки; домашняя линия не стоит ни за чем. Статья DDoS-атаки на игровые серверы простыми словами ясно говорит, что фильтрация может и чего не может, и для домашней линии ответ - «ничего».
Скомпрометированный игровой сервер оказывается внутри вашей сети. Игровые серверы запускают моды, написанные посторонними, а мод - это код с полным доступом к машине. Оттуда всё остальное в вашей локальной сети - NAS, принтер, рабочий ноутбук, страница администрирования роутера - достижимо без пересечения файрвола. На арендованном сервере взлом стоит вам сервера. Дома он стоит вам сети.
Если вы всё же хостите дома, уменьшите радиус поражения:
- Поставьте сервер в отдельный VLAN или в гостевую сеть роутера, если она изолирует клиентов как следует.
- Запускайте его от непривилегированного пользователя, в контейнере, если хватит терпения, но никогда не от Administrator или root.
- Обновляйте систему, а также игру и её моды.
- Не используйте в конфигурации RCON или администратора пароль от чего-либо ещё.
- Считайте машину расходным материалом и храните backup мира в другом месте.
Ничто из этого не решает проблему IP-адреса. Не решает её ничто, кроме отказа от его публикации.
Золотая середина: частные сети и небольшой VDS#
Между «выставить свой дом» и «заплатить кому-то другому» есть два варианта, и оба недоиспользуются.
Оверлейная сеть. Tailscale, ZeroTier или простой WireGuard объединяют всех игроков и сервер в одну частную сеть. Нет ни проброса портов, ни проблемы с CGNAT, ни публичного IP, и ничего не выставлено в интернет. Игроки подключаются к частному адресу, доступному только участникам вашей сети. Цена в том, что каждому нужно установить клиент и присоединиться, что исключает публичный сервер и совершенно нормально для компании друзей. Для небольшого закрытого мира это лучший ответ на этой странице, и он бесплатен.
Туннель через недорогой сервер. Если вы за CGNAT, но хотите публичный адрес, небольшая машина в другом месте с публичным IP может принимать туннель WireGuard от вашей домашней машины и пересылать по нему игровые порты. Это работает, это хороший проект на выходные, и он переносит риск DDoS на арендованную машину вместо вашего дома. Цена - задержка: каждый пакет теперь идёт в обход, так что выбирайте точку выхода поближе к себе или к вашим игрокам.
VDS, которым вы управляете сами - третья дверь. Вы получаете root, публичный адрес, фильтрацию выше по цепочке и никаких счетов за электричество, а заодно и всю работу: обновления, файрвол, backup, контроль процессов. Минимум описан в статье первый час на новом VDS, остальное - в материалах UFW и несколько игровых серверов на одном VDS. Если запускать несколько серверов, так дешевле на каждый, а если один - хлопот больше, чем с панелью. Честное сравнение - в статье выбор между VDS и игровой панелью.
Что даёт аренда и чего не даёт#
Будем честны в обе стороны.
Она даёт публичный адрес, который не ваш, фильтрацию перед ним, машину в здании с резервным питанием и сетевым инженером, оборудование, которое не придётся менять, и сервер, который работает, пока вы спите. На панели она также берёт на себя скучные части: игра установлена нужной версии, порты выделены, пароли администратора и RCON сгенерированы, backup и запланированные перезапуски доступны без написания cron, а консоль открывается с телефона.
Она не даёт меньшей задержки именно для вас. Сервер в дата-центре дальше от вашего дома, чем ваш собственный стол. Если все игроки живут в вашем городе, а хостинг - нет, то домашний хостинг действительно может быть быстрее для всех вас; о том, как выбирать для группы, а не для себя, рассказано в статье где должен жить ваш сервер. Она не даёт и неуязвимости для атак: фильтрация отбрасывает очевидные объёмные атаки, а атаки, похожие на настоящих игроков, не фильтруются нигде.
И аренда не убирает работу, которая всегда была вашей. Моды по-прежнему ломаются при обновлении. Backup по-прежнему нужно проверять. Хостер, который восстанавливает backup за вас, всё равно восстанавливает тот backup, который настроили вы.
Решение, которое можно принять за пять минут#
- Проверьте, есть ли CGNAT. Если он есть и вы не хотите туннель, арендуйте или используйте оверлейную сеть. Готово.
- Оцените пиковую потребность в отдаче. Если она больше примерно трети скорости отдачи вашей линии, арендуйте.
- Решите, будут ли заходить незнакомцы. Если да, не выставляйте перед ними свой домашний IP.
- Умножьте мощность машины в ваттах на
0.72и на ваш тариф. Сравните с ценой тарифа для нужной вам игры. - Спросите себя, нужен ли кому-нибудь сервер, когда вас нет дома. Если да, он должен жить там, где всегда включено.
Если вы остановились на домашнем хостинге, делайте это как следует: DHCP-резервирование, два проброшенных порта, файрвол на машине, динамический DNS, backup вне этой машины и проверка снаружи вашей сети. Если остановились на аренде, начните с самого маленького тарифа, который подходит игре: переход на больший не пересоздаёт сервер, так что начинать с малого ничем не рискуя, а как выбрать, у кого арендовать, подскажет список в статье как выбрать хостинг игровых серверов.
FAQ#
Можно ли запустить игровой сервер на том же ПК, на котором я играю?
Можно, и для закрытой группы это обычно работает. Цена в том, что сервер конкурирует с вашей игрой за CPU, впечатления всех остальных зависят от того, чем заняты вы, а мир доступен только тогда, когда ваш ПК включён. Две отдельные машины, даже дешёвая, снимают все три проблемы.
Как понять, что провайдер посадил меня за CGNAT?
Сравните WAN-адрес, который показывает роутер, с публичным адресом, который сообщает сайт. Если они различаются, особенно если роутер показывает что-то от 100.64 до 100.127, вы за CGNAT, и никакой проброс порта не сработает.
Хватит ли для игрового сервера Raspberry Pi или мини-ПК?
Для лёгких игр с небольшим числом игроков - да. Современный энергоэффективный мини-ПК спокойно тянет небольшой сервер Minecraft, Terraria или Factorio и потребляет меньше 15 W. Пределы - это скорость одного потока и RAM, и для большинства игр они важнее числа ядер.
Друзья заходят, но сервера нет в браузере серверов.
Почти всегда виноват порт запросов. Многие игры используют второй порт, часто игровой плюс один, только чтобы список серверов мог их видеть. Пробросьте его с правильным протоколом и подождите несколько минут, пока список обновится.
Будут ли у меня проблемы с провайдером из-за домашнего хостинга?
Многие домашние договоры запрещают запуск серверов, и контроль редок, пока вы не создаёте заметный трафик или не привлекаете атаку. Прочтите договор. Практический риск - не письмо; он в том, что когда приходит атака, единственный инструмент вашего провайдера - отключить вас.
Домашний хостинг дешевле аренды?
Для маломощного оборудования, которое у вас уже есть, - да: несколько денежных единиц в месяц за электричество против $3-9 за тариф. Для старого десктопа, работающего круглосуточно, - нет: одно электричество обычно превышает цену тарифа, и это до учёта вашего времени.




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