Как подключить друзей к частному серверу Project Zomboid в Termux
Автор описывает процедуру приглашения новых игроков на частный выделенный сервер Project Zomboid. Перед отправкой замените заполнители собственными значениями. Область руководства — Android/Termux и частная сеть Tailscale; оно не описывает открытие публичного сервера.
Зачем использовать tailnet (Tailscale)
- Не нужны изменения роутера, перенаправление портов или настройка динамического DNS.
- По утверждению автора, сервер не выставляет порт в публичный интернет.
- Соединение работает через NAT, CGNAT и мобильные сети: друзья могут подключаться из дома, университета и других мест.
- Автор считает бесплатный тариф достаточным для частной группы устройств.
На стороне сервера (телефон)
Установите Tailscale из F-Droid либо запустите статический бинарный файл в Termux внутри сессии tmux, затем выполните команду из инструкции:
tailscale up
Указанное имя узла, по словам автора, можно передать друзьям как адрес. IP-адрес tailnet может измениться после повторного подключения устройства, а имя узла, как утверждается в README, остаётся прежним. Это поведение отдельно не проверялось.
Инструкция для игроков
- Моды. Передайте ссылку на модпак — архив pz-modpack-b42.tar.gz и файл-контрольную сумму .sha256. Распакуйте архив в домашний каталог, а не внутрь Zomboid/mods: архив уже создаёт нужную структуру, и вложенная распаковка часто приводит к лишнему уровню папок. Игра считывает моды при запуске; если она открыта во время копирования файлов, перезапустите её. Получите архив и контрольную сумму у владельца сервера и проверьте SHA-256 перед распаковкой.
- Параметры запуска (один раз). В Steam откройте свойства Project Zomboid и Launch Options, добавьте -nosteam. В настройках браузера серверов игры также выключите Use Steam Relay. Это параметры, указанные автором для версии Build 42.20.4; их работу необходимо проверить для целевой версии.
- Подключение. Убедитесь, что устройство игрока подключено к нужному tailnet и имеет доступ к серверу. Откройте Join Server / Direct Connect и введите <your-tailnet-ip-or-hostname>, порт 16261. Имя пользователя — любое удобное отображаемое имя. Порт и формат подключения здесь воспроизведены по источнику, а не независимо проверены.
- Друзья со Steam Deck (необязательно, Gaming Mode). Установите плагин Tailscale из Decky Plugin Store и включайте его, когда хотите подключиться.
Ограничения и честное предупреждение
- Согласно принципу работы, сервер запускается вручную и не поднимается после перезагрузки, пока владелец сам его не запустит. Если вчера он работал, а сегодня недоступен, сначала попросите владельца запустить сервер; это не обязательно означает поломку. Руководство не обещает работу 24/7.
- При DoLuaChecksum=false клиенты с несовпадающими модами всё ещё могут подключиться, но возможна незаметная рассинхронизация. Автор предлагает использовать одинаковый архив вместо одной настройки INI. Проверьте контрольную сумму и состав установленных модов: один архив сам по себе не подтверждает, что клиент загрузил тот же набор.
- После одной неудачной попытки подключения сбой может оставить слушатель RakNet в зависшем состоянии. Если после этого никто не подключается, README говорит, что сервер нужно перезапустить; в руководстве дана ссылка на отдельную заметку по диагностике RakNet. Эта процедура не была проверена здесь.
Проверка подключения по автору
Автор считает проверку успешной, если друг подключился, играл 20 минут, журналы показывают непрерывную сессию, нет отключений из-за checksum и не возникло зависания слушателя. Это критерии автора, а не результат проведённого нами теста.
В этой статье нет инструкции по резервному копированию или восстановлению сохранения. Перед изменениями сервера используйте отдельную проверенную процедуру резервного копирования; туннель и контрольная сумма модпака не заменяют копию сохранения.
Отдельная заметка по диагностике зависшего слушателя RakNet: TROUBLESHOOTING/raknet-wedge.md (открывается в новой вкладке).