Как держать сервер Minecraft онлайн 24/7
На этой странице
- Почему сервер падает, стоит только отвернуться
- Что на самом деле означает аптайм 99.9%
- Чего на самом деле требует ПК, работающий без остановки
- Ваш домашний IP становится адресом сервера
- Свой ПК, VPS или управляемый хостинг: кто делает работу
- Как всё-таки удержать сервер на своей машине
- Когда возня перестаёт себя оправдывать
- FAQ
Запустить сервер Minecraft — это простая часть. Удержать его в работе — ночью, пока вы на работе, в момент, когда Windows решает перезагрузиться ради обновления — задача совсем другого порядка, и именно она тихо убивает большинство домашних серверов.
Этот гид как раз про вторую задачу. Не про то, какой хостинг выбрать, а про то, что реально уводит сервер в офлайн, чего на самом деле требует режим «всегда включён» от машины, стоящей у вас в спальне, и какие конкретные вещи помогают серверу выжить: автозапуск, watchdog, плановые перезапуски и бэкапы за пределами машины. К концу вы точно поймёте, какой из трёх способов держать сервер соответствует тому объёму работы, который вы готовы взять на себя.
Почему сервер падает, стоит только отвернуться
Сервер Minecraft — это одна программа на одной машине. За ней никто не следит, никто её не перезапускает и никто не держит машину бодрствующей ради неё. Когда люди говорят «мой сервер постоянно уходит в офлайн», почти всегда это одна из пяти причин, и ни одна из них не связана с самим Minecraft:
- ПК ушёл в спящий режим. Настройки питания по умолчанию на любом настольном компьютере и ноутбуке усыпляют машину после периода без активности клавиатуры и мыши. Сервер, который вовсю обслуживает игроков, всё равно считается бездействующим, потому что клавиатуру никто не трогает.
- Fast Startup превратил выключение в перезагрузку. В Windows эта функция включена по умолчанию и сбивает с толку сильнее всего: машина будто бы поднимается заново, но процесса сервера уже нет, а задача автозапуска, которую вы настроили, так и не сработала.
- Обновление перезагрузило машину в три часа ночи. И Windows Update, и автоматические обновления в Linux перезагружаются, не спрашивая. Если сервер не стартует при загрузке системы, он просто больше не вернётся.
- Кто-то закрыл крышку, вышел из системы или выдернул шнур. Выход из пользовательского сеанса завершает все его процессы. Закрытая крышка ноутбука усыпляет машину. А сосед по квартире, которому понадобилась розетка, закрывает вопрос окончательно.
- Моргнуло электричество или интернет. Хватит и секунды. Всех выбрасывает, и сам по себе сервер не поднимется.
Что на самом деле означает аптайм 99.9%
«Всегда онлайн» — это ощущение. Аптайм — это измерение, и разница становится важной ровно в тот момент, когда вы пытаетесь понять, действительно ли ваш сервер надёжен или вы просто не смотрели в те моменты, когда он падал.
Настоящий аптайм измеряется снаружи машины: что-то в интернете каждую минуту подключается к порту вашего сервера и записывает, ответил он или нет. Только это определение имеет значение, потому что оно ловит случаи, о которых ваш собственный ПК доложить не может — машина спит, интернет лежит, процесс завис. «Мой ПК был включён всю неделю» — это не показатель аптайма.
Проценты звучат абстрактно, пока не перевести их во время. За месяц в 30 дней:
| Аптайм | Допустимый простой в месяц | Как это выглядит |
|---|---|---|
| 99% | около 7 часов 12 минут | Целый вечер выпадает — и так каждый месяц |
| 99.5% | около 3 часов 36 минут | Один неудачный день |
| 99.9% | около 43 минут | Одна перезагрузка и медленный старт |
| 99.99% | около 4 минут | Едва заметный сбой |
Прочитайте эту таблицу рядом с предыдущим разделом — и проблема домашнего хостинга становится очевидной: один цикл перезагрузки Windows Update уже съедает почти весь месячный лимит для 99.9%. Не катастрофа, не отказ железа — обычная штатная перезагрузка. Две такие плюс один вечер, когда машина уснула, — и вы уже в районе 99%, хотя по-настоящему ничего не ломалось.
Если хотите знать свою реальную цифру, а не гадать, направьте бесплатный внешний мониторинг аптайма на адрес и порт вашего сервера и дайте ему поработать месяц. Он расскажет вам то, чего вы не знали, — обычно про те часы, когда вы спали. Для ориентира: HytHost работает с целевым показателем аптайма 99.9% — та же мерка, измеренная тем же способом.
Чего на самом деле требует ПК, работающий без остановки
Машина, которая никогда не выключается, — это уже не та машина, которой вы пользуетесь по вечерам. За год у неё набегает примерно 8 760 часов работы: крутятся вентиляторы, вращаются диски, тепло идёт непрерывно. Она где-то стоит, и если это ваша спальня, вы очень точно узнаете, насколько слышен корпусный вентилятор в три часа ночи в июле. Ничего драматичного, но именно об этом забывают, когда представляют себе «просто оставлю его включённым».
Всё это время она ещё и потребляет электричество, а это заметно по счетам. Но это вопрос денег, а не аптайма, поэтому он живёт в отдельном гиде — см. во что на самом деле обходится сервер Minecraft, там вся арифметика.
Главный сюрприз, впрочем, обычно не в машине. Он в канале, за которым она сидит.
Домашние подключения созданы, чтобы скачивать, а не отдавать
Скорость загрузки здесь ни при чём. Сервер отдаёт — непрерывный поток обновлений мира каждому подключённому игроку, — поэтому потолок по числу комфортно играющих людей задаёт ваша скорость отдачи. Домашние тарифы обычно продают с большой цифрой скачивания и куда меньшей цифрой отдачи, и серверу важна только вторая. Когда «лагает у всех, кроме хозяина», причина очень часто именно в этом.
Ваш адрес меняется без предупреждения
У большинства домашних подключений динамический IP: он меняется при перезагрузке роутера, при обрыве линии или по графику самого провайдера. У каждого друга, сохранившего ваш сервер в списке, теперь мёртвая запись, а вам снова рассылать новый адрес. Сервис динамического DNS закрывает эту дыру: он даёт стабильное имя хоста, которое следует за меняющимся адресом — настройте его до того, как раздадите адрес, а не после.
С некоторых подключений хостить вообще нельзя
Вот на чём люди попадаются после часов диагностики. Многие провайдеры держат домашних клиентов за carrier-grade NAT: у вас нет собственного публичного адреса — вы делите один на многих. Проброс портов в такой ситуации не заработает, как бы правильно вы ни настроили роутер, потому что пробрасывать просто не с чего. Другие напрямую блокируют популярные серверные порты или запрещают запуск серверов условиями договора. Если проброс портов настроен идеально, а игроки снаружи всё равно не подключаются, проверять надо именно это.
Ваш домашний IP становится адресом сервера
Чтобы кто-то за пределами вашего дома мог подключиться, вы пробрасываете порт на роутере — и с этого момента адрес вашего сервера и есть публичный IP-адрес вашего дома. Он есть у всех, кого вы пригласили. И у всех, кому они его передадут, и у любого, кто увидит его на скриншоте, в сообщении Discord или в списке серверов.
Важно то, чем становится цель атаки. Атака по хостинговому серверу бьёт по этому серверу. Атака по вашему домашнему адресу бьёт по дому: по вашему подключению, по телефонам семьи, по чьему-то рабочему созвону, по телевизору. Изнутри вы это не отфильтруете, потому что к моменту, когда трафик доходит до роутера, он уже забил канал. Выключить сервер тоже не поможет — адрес остаётся адресом.
Это единственное различие между домашним и дата-центровым хостингом, для которого дома нет обходного пути. Адрес хостингового сервера одноразовый и принадлежит серверу, а не месту, где вы живёте, и стоит он за DDoS-защитой Voxility, которая гасит атаки на подходе. Для приватного сервера на знакомых людей домашний хостинг — разумный риск. Для чего-то публичного это как раз та причина, по которой большинство останавливается.
Свой ПК, VPS или управляемый хостинг: кто делает работу
Все три варианта могут быть онлайн круглые сутки. Различает их не это. Различает их то, кто отвечает, когда они не онлайн, — и именно этот вопрос стоит решить, потому что жить с ответом вам придётся каждую неделю.
| Свой ПК | Арендованный VPS | Управляемый игровой хостинг | |
|---|---|---|---|
| Кто обновляет ОС и Java | Вы | Вы | Хостинг |
| Кто перезапустит его в 4 утра, когда он зависнет | Вы, когда проснётесь | Вы или написанный вами скрипт | Автоматика плюс плановые перезапуски |
| Кто примет на себя DDoS-атаку | Никто — она бьёт по вашему дому | Зависит от провайдера | DDoS-защита Voxility |
| Что будет, если пропадёт свет или связь | Всех отключит | Не влияет | Не влияет |
| Кто первым заметит, что сервер лежит | Ваши игроки | Ваши игроки, если вы не мониторите | За вас следит мониторинг |
| Усилия ради стабильного режима 24/7 | Много, и постоянно | Много один раз, потом регулярно | Никаких |
Среднюю колонку чаще всего недооценивают. VPS сразу решает две самые сложные проблемы: у него настоящий адрес и железо, которое не спит, — но он вручает вам голую машину с Linux и делает вас системным администратором. Вы ставите и обновляете Java, настраиваете файрвол, пишете сервис, который поднимает сервер при загрузке, накатываете патчи безопасности, настраиваете и проверяете бэкапы. Ничего из этого не сложно, но всё это теперь ваше и навсегда, а необновляемая машина, торчащая в интернет, — это не сервер, а обуза.
Никаких настроек сна, скриптов автозапуска и перезапусков в 4 утра — сервер Minecraft на HytHost остаётся онлайн независимо от того, включён ваш ПК или нет.
Смотреть тарифы MinecraftКак всё-таки удержать сервер на своей машине
Если вы остаётесь на своей машине, вот то, что переводит домашний сервер из состояния «работает, когда я про него помню» в по-настоящему надёжный. Делайте в этом порядке — первые два пункта сами по себе закрывают большинство падений.
Запретите машине засыпать
Настройте схему электропитания так, чтобы машина никогда не уходила в сон и не отключала диски, задайте действие «ничего не делать» при закрытии крышки ноутбука и отключите гибернацию. В Windows дополнительно выключите Fast Startup — именно из-за него машина может выглядеть чисто перезагруженной, тогда как ваша задача автозапуска так и не отработала. Эти настройки — разница между падением каждую ночь и полным их отсутствием.
Запускайте сервер автоматически при загрузке
Незапланированная перезагрузка должна стоить вам минуты, а не вечера. В Linux юнит systemd и стартует сервер при загрузке, и перезапускает его, если тот завершился:
[Unit] Description=Minecraft server After=network.target [Service] User=minecraft WorkingDirectory=/opt/minecraft ExecStart=/usr/bin/java -Xms2G -Xmx4G -jar server.jar nogui Restart=always RestartSec=15 [Install] WantedBy=multi-user.target
В Windows эквивалент — задача Task Scheduler, настроенная на запуск при старте системы, а не при входе пользователя: «при входе» означает, что ничего не произойдёт, пока кто-нибудь не залогинится, а это убивает всю идею после ночной перезагрузки.
Добавьте watchdog, потому что «запущен» не значит «работает»
Этот шаг пропускают почти все, и именно он ловит самые неприятные падения. Сервер Minecraft, у которого кончилась память или который ушёл в дедлок, — это всё ещё живой процесс: systemd видит его живым и ничего не делает, а игроки получают таймаут. Единственная надёжная проверка — отвечает ли порт на самом деле.
#!/bin/bash
while true; do
if ! timeout 5 bash -c "echo > /dev/tcp/127.0.0.1/25565"; then
systemctl restart minecraft
fi
sleep 60
done
Грубо, но работает: каждую минуту скрипт проверяет, отвечает ли сервер на своём порту, и перезапускает его, если нет. Оформите его отдельным сервисом, чтобы он тоже переживал перезагрузку.
Перезапускайте сервер намеренно, до того как это понадобится
Долго работающие Java-серверы постепенно замедляются: память фрагментируется, плагины накапливают состояние — классическое «утром всё было нормально, к вечеру тормозит». Плановый ежедневный перезапуск в тихий час сбрасывает всё это меньше чем за минуту. Предупреждайте игроков в чате обратным отсчётом, чтобы никто не потерял постройку, и выбирайте час, когда никого нет.
Делайте бэкапы не на той же машине
Бэкап на том же диске — не бэкап, а вторая копия, которая ждёт отказа того же самого диска. Копируйте папку мира по расписанию на другой диск, другую машину или в облако. А потом сделайте то, чего не делает никто: восстановите один — один раз — и убедитесь, что мир действительно загружается. Непроверенный бэкап — это догадка.
Дайте адресу что-то постоянное
Настройте динамический DNS, чтобы игроки подключались к имени хоста, которое следует за вашим меняющимся адресом, а не к цифрам со сроком годности. Это ничего не стоит и избавляет от регулярного «сервер лежит», которое на самом деле означает «IP переехал».
Когда возня перестаёт себя оправдывать
Всё вышеописанное действительно работает. Многие годами держат крепкий домашний сервер ровно по этим шагам. Но есть три момента, когда усилия перестают окупаться, и их стоит распознать, когда они наступят:
- Кто-то играет, когда вас нет. Как только сервер должен быть поднят, пока вы спите, на работе или уехали на выходные, вы становитесь дежурным — а машину у вас дома нельзя починить с чужой кухни.
- От него теперь зависит кто-то ещё. Мир, в который несколько друзей вложили месяцы строительства, — это уже не хобби-проект. Сбой, который раньше был неудобством, теперь общая потеря.
- Вы перезапускали его руками больше двух раз за этот месяц. Это сигнал, что watchdog — это вы, и само собой это не исправится.
Обратный случай не менее реален, и о нём стоит сказать прямо: если вы играете по LAN, если машина и так включена по другим причинам или если вам интересен сам процесс — самостоятельный хостинг остаётся правильным ответом, и всё вышесказанное к вам не относится.
Если вы пересекли одну из этих границ, переезд на управляемый сервер Minecraft передаёт весь список — настройки сна, скрипты автозапуска, watchdog, плановые перезапуски, бэкапы за пределами машины и фильтрацию DDoS — тем, для кого это работа. Тарифы начинаются с небольших и расширяются на месте по мере роста сервера, так что окончательный размер выбирать сегодня не нужно. А если вы хотите сначала попробовать бесплатный вариант — это справедливый вопрос со своим ответом: см. честный разбор бесплатного хостинга Minecraft.
Частые вопросы
Если сервер работает на вашем ПК — да: сервер это программа на той машине, поэтому когда она засыпает, перезагружается или выключается, сервер уходит вместе с ней. Обойти это можно только одним способом — перенести сервер туда, где всегда включено. Если оставляете его дома, отключите сон и гибернацию, выключите Fast Startup в Windows и настройте автозапуск сервера при загрузке системы, чтобы неожиданная перезагрузка не уводила его в офлайн до конца дня.
Четыре вещи, по порядку: запретить машине засыпать, настроить автозапуск сервера при загрузке, добавить watchdog, который каждую минуту проверяет порт и перезапускает сервер, если тот перестал отвечать, и поставить ежедневный перезапуск на тихий час. Важнее всего watchdog: сервер, у которого кончилась память, — это всё ещё «запущенный» процесс, поэтому больше никто не заметит, что он перестал работать. Дальше вы полагаетесь на то, что электричество и интернет продержатся, пока рядом никого нет.
Около 43 минут в месяц. Для сравнения: 99% — примерно 7 часов 12 минут, 99.5% — около 3 часов 36 минут, а 99.99% — порядка 4 минут. Именно поэтому домашний сервер редко дотягивает до 99.9%: один цикл перезагрузки Windows Update способен сам по себе съесть почти весь месячный лимит, притом что по-настоящему ничего не ломалось. Аптайм измеряется снаружи — чем-то, что проверяет ваш порт, — а не тем, был ли компьютер включён.
Софт бесплатный, и никакая лицензия вам не мешает, так что в этом смысле да. Взамен вы берёте на себя эксплуатацию: машина не должна засыпать, должна переживать перезагрузки, сама подниматься при зависании и вести собственные бэкапы, а домашнее подключение должно выдерживать непрерывную отдачу игрокам. Ваша скорость отдачи задаёт потолок по числу комфортно играющих, а динамический IP или carrier-grade NAT могут вообще сделать сервер недоступным снаружи. Если вам нужен бесплатный хостинг, а не бесплатный софт, это другой вопрос — см. наш гид по бесплатному хостингу Minecraft.
По убыванию вероятности: машина уходит в сон, потому что никто не трогает клавиатуру; Fast Startup выдаёт выключения за перезагрузки, из-за чего задача автозапуска не срабатывает; автоматическое обновление перезагрузило машину ночью; или у сервера кончилась память и он завис, толком не завершившись. Последний случай самый коварный — процесс на месте, поэтому никто его не перезапускает, а игроки получают таймаут. Ловит это watchdog, который проверяет порт, а не процесс.
Статический IP не нужен: динамический DNS даёт игрокам имя хоста, которое следует за вашим меняющимся адресом, и решает вопрос бесплатно. VPS — шаг посерьёзнее: он закрывает вопрос с адресом и даёт железо, которое не спит, но вручает вам голую машину с Linux в администрирование, так что обновления, файрвол, сервис автозапуска и бэкапы теперь ваши. Если вам нужна круглосуточная работа без системного администрирования, управляемый игровой хостинг даёт тот же результат, но эта работа уже сделана.
Пусть бодрствует что-то другое
Настройки сна, скрипты автозапуска, watchdog, плановые перезапуски, бэкапы за пределами машины и фильтрация DDoS — всё это уже сделано, с целевым показателем аптайма 99.9%. Ваш мир остаётся онлайн независимо от того, включён ваш ПК или нет.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours