Короткий ответ
Подождите. Новый сервер Rust тратит до десяти минут на генерацию карты и NAV mesh, прежде чем начнёт принимать подключения, и этот процесс каждый раз запускается заново с нуля при перезапуске сервера. Смотрите консоль RCON, если хотите видеть прогресс, а не гадать.
Ключевые моменты
- Сервер выглядит онлайн, потому что процесс запущен. Он просто ещё не готов.
- Генерация занимает до 10 минут, дольше на большом размере мира.
- Перезапуск ради исправления это единственное, что гарантированно продлевает ожидание.
- Изменение seed или размера мира снова запускает тот же процесс.
- RCON показывает вам этап, так что не нужно сидеть и надеяться.
Что делает сервер
Запуск нового сервера Rust это волнующий момент, и разочаровывает, когда то, за что вы только что заплатили, вас не пускает. Хорошая новость в том, что это ожидание, а не неисправность.
При первом запуске сервер должен построить две вещи, прежде чем кто-либо сможет на нём играть:
- Карту
- Сам ландшафт, сгенерированный из вашего seed и размера мира. До завершения этого этапа не существует ничего.
- NAV mesh
- Слой поиска пути, который животные и NPC используют для перемещения по ландшафту. Его нельзя построить, пока нет ландшафта, поэтому он строится после, а не одновременно.
Вместе это может занять до 10 минут, в зависимости от конфигурации сервера и того, насколько большой мир вы запросили. Процесс сервера работает всё это время, из-за чего и кажется, что что-то не так. Он онлайн. Он просто ещё не закончил.
Не перезапускайте его. Перезапуск бросает работу на середине и начинает генерацию заново с самого начала. Почти каждый случай, когда сервер якобы "никогда не заканчивает генерацию", на деле оказывается сервером, который перезапустили два или три раза, пытаясь ему помочь.
Что запускает регенерацию
Первый запуск это очевидный случай, но не единственный раз, когда вы столкнётесь с этим ожиданием. Любое изменение, которое делает существующий мир недействительным, вынуждает перестроить его заново.
- Первый запуск совершенно нового сервера.
- Изменение seed сервера. Другой seed это другой мир.
- Изменение размера мира. По той же причине, и большие размеры строятся дольше.
- Вайп, который очищает карту. Ландшафт должен вернуться, прежде чем кто-либо сможет на него попасть.
Это стоит учитывать заранее, если вы держите сервер, который люди ожидают видеть доступным. Частые изменения карты означают частые простои, и если вы намерены поддерживать сервер стабильно онлайн, время для экспериментов с seed до того, как вы кому-то о нём рассказали, а не в пятницу вечером.
Наблюдение за прогрессом
Вам не нужно сидеть и обновлять страницу в надежде. Оба этих способа показывают, на каком этапе сейчас находится сервер:
- Встроенная консоль RCON в вашей панели управления. Ничего устанавливать не нужно, и этого достаточно, чтобы отличить генерацию от настоящей проблемы.
- Внешний RCON-клиент для лучшей наглядности и управления. Мы рекомендуем RustAdmin или BattleMetrics.
Наше руководство Инструменты администратора сервера Rust сравнивает их и другие варианты подробнее, включая то, какие из них бесплатны.
Как мы не даём этому тормозить остальных
Генерация карты это тяжёлая, преимущественно однопоточная нагрузка, которая может держать ядро CPU почти на полной загрузке на протяжении всего процесса. На общей машине это проблема для всех остальных, а не только для сервера, который выполняет эту работу.
Наша платформа решает это, обнаруживая, когда задан новый seed или размер мира, и привязывая этот сервер к выделенному ядру CPU на время генерации. Тяжёлая работа изолируется, а не переходит на всю машину.
В результате сосед, генерирующий карту с размером мира 6000, не создаёт скачков задержки на вашем сервере, а ваш не создаёт их на его. Это не ускоряет генерацию, это просто перестаёт быть проблемой для всех остальных.
Когда дело не в генерации карты
Если вы действительно оставили сервер в покое на 15 минут и всё ещё не можете зайти, разумно начать искать причину в другом месте.
- Несовпадение версий
- После обновления Rust клиент и сервер должны быть на одной версии. Если сервер не обновился, ни один способ подключения не сработает.
- Неверный адрес
- Проверьте данные подключения в панели управления, а не адрес, который вы записали ранее, особенно если сервер пересобирался.
- Перезапуск в середине генерации
- Проверьте вывод RCON. Если он снова на раннем этапе, значит что-то его перезапустило и таймер сбросился.
- Ошибка конфигурации, останавливающая запуск
- Вывод консоли обычно сообщает об этом. Некорректная строка в
server.cfgможет остановить загрузку так, что это будет очень похоже на долгое ожидание.
Если вы прошли через всё это, откройте тикет с приложенным выводом RCON. Именно текст консоли превращает разговор с поддержкой из догадок в реальное решение.