Установка выделенного сервера Project Zomboid на Android ARM64
README утверждает, что стандартный выделенный сервер PZ содержит нативные библиотеки x86 и что они не работают на Android ARM64; руководство предлагает заменить их пересобранной парой движковых библиотек aarch64 и FMOD из сообщества zomdroid. Эти сторонние бинарные файлы не скачивались и не проверялись: их происхождение, целостность, лицензия и безопасность требуют независимой проверки до любых рекомендаций.
Шаги установки
- Установите выделенный сервер в ~/pzserver/ из собственных законно полученных файлов, следуя стандартной процедуре выделенного сервера PZ для нужной сборки.
- Получите пакет нативных библиотек aarch64 из релизов сообщества zomdroid-lwjgl (пакет android-arm64-v8a). Ссылка/целостность и безопасность пакета в этой работе не проверялись.
- Поместите эти файлы в ~/pzserver/natives-arm64-test/.
Проверочные команды из исходника
ls ~/pzserver/natives-arm64-test/*.so | wc -l
# expect ~26 libs including the lwjgl pair
file ~/pzserver/natives-arm64-test/*.so | grep -c ARM
# must be aarch64 ELF — if any file reports x86, the patch failed
Это текст команд руководства. Здесь они не выполнялись. В README ожидается около 26 библиотек, включая пару lwjgl; проверка file, по словам автора, должна показывать ELF aarch64. Любой файл x86 означает, что замена не удалась. Команда grep -c только подсчитывает строки с ARM: она не доказывает архитектуру каждого файла; проверяйте полный вывод file.
Важно: обновление игры восстанавливает библиотеки x86
По предупреждению автора, после любого обновления сервера нужно заново проверить каталог natives и повторно применить замену до перезапуска. Обновлятор не учитывает ARM-библиотеки и может незаметно восстановить оригинальные x86-файлы, после чего сервер не запустится. Автор советует включить эту проверку в каждый порядок действий после обновления. Это не было независимо испытано.
Дополнительные аргументы запуска
README предлагает в конфигурации запуска указать:
-Dzomboid.steam=0
-Djava.net.preferIPv4Stack=true
На стороне клиента
Источник утверждает, что каждому игроку нужен параметр -nosteam в параметрах запуска и выключенная настройка Use Steam Relay, иначе подключение не сработает. В README сказано, что это относится ко всем клиентам, а не только к хосту. Эти параметры требуют независимой проверки для целевой версии игры до публикации как рабочей инструкции.
Получение файлов сервера
Каждый из описанных ниже способов, по README, предполагает законную покупку игры. Выберите вариант, подходящий вашей конфигурации; эти варианты являются пересказом документа, а не проверенными здесь процедурами.
Способ 1: Steam на ПК → rsync на телефон (рекомендуемый автором)
Установите Project Zomboid Dedicated Server через Steam на компьютере (Library → фильтр Tools). Дерево сервера будет в каталоге:
steamapps/common/Project Zomboid Dedicated Server/
Пример команды автора приведён ниже без изменений. Адрес user@phone-ip:8022:~/pzserver/ не задаёт SSH-порт в стандартном синтаксисе rsync; для работы через порт 8022 нужно отдельно указать SSH-транспорт. Не запускайте пример как есть.
rsync -av --progress "/path/to/steamapps/common/Project Zomboid Dedicated Server/" \
user@phone-ip:8022:~/pzserver/
Источник отдельно указывает, что Termux sshd слушает порт 8022, а не 22. По словам автора, этот вариант оставляет загрузку примерно 7 ГБ на ПК и повторно использует его процесс подготовки Workshop.
Способ 2: DepotDownloader в Termux (один телефон)
Автор заявляет, что SteamCMD не работает на Android: ядру не хватает set_robust_list, поэтому команда завершается с futex robust_list not initialized by pthreads даже при эмуляции. В качестве альтернативы README называет DepotDownloader: он запрашивает вход в Steam с учётными данными пользователя, загружает depot сервера (около 7 ГБ) на телефон и показывает запрос Steam Guard на устройстве.
В качестве источника открытия этого способа руководство указывает репозиторий nikiiiii-ii/zomboid-server-native-arm64, где также предлагается изучить различия glibc и bionic и утверждение об ARM64-библиотеках в официальном depot игры.
Какой способ выбрать?
По описанию автора, передача PC → rsync переносит тяжёлую загрузку с телефона и подходит существующему процессу подготовки модов; DepotDownloader подходит, если второго компьютера нет. Оба варианта предполагают владение игрой; ни один не распространяет игровые файлы.
Примечание о версии JDK (проверьте свою)
В README приведена неподтверждённая здесь заметка: более новые сборки PZ собраны для более новой Java; для B42.20.3 якобы требуется версия class file 69 (Java 25), тогда как более старые сборки работали на Java 17. Если сервер завершает запуск с UnsupportedClassVersionError, автор предлагает проверить java -version и требования конкретной сборки, прежде чем считать причиной Android. Точные требования к Java нужно сверить с авторитетным источником для целевой версии.
Репозиторий, указанный автором в качестве справки по нативным библиотекам ARM64: nikiiiii-ii/zomboid-server-native-arm64.