Как создать сервер в Project Zomboid Steam

Игровые сервера  /   /  От: Extrim25  /  3231 просмотров
Как создать сервер в Project Zomboid Steam
5 (100%) 1 голосов

Ну здравствуй, обыватель интернета.  Я пишу этот гайд в попытке помочь людям при настройке их Linux серверов (как тот же VPS, к примеру), которые не совсем «на вы» с миром игрового хостинга. Я постараюсь описать данный туториал как можно более понятно и направить вас в нужном направлении касательно вопроса как создать сервер в Project Zomboid Steam версии (именно ее, а не Hamachi какой-нибудь).

Создание своего сервера в Project Zomboid используя Steam

Покупка сервера

Первое что вам необходимо сделать если вы не имеете своего VPS, правильно, купить его. Технически, у вас есть два выбора: VPS или выделенный сервер. Но… Ем… Вы не будете покупать свой сервер. Поверьте мне. Вплоть до того момента, пока ваш сервер не будет ультрапопулярный и мощности текущего сервера уже не будут позволять держать достаточное количество людей (а еще вы не введете донат).

Существует достаточно много мест, где вы можете приобрести VPS, но самое главное в этом понять, разрешают ли вообще хостить игровые сервера в месте куда вы пришли. Для этого просто читаем Правила использования и предоставления услуг, и при помощи поиска в браузере (Ctrl — F) ищем интересующую нас комбинацию слов (игровой, игры, game, game server и т.п.). Сразу учтите, что чем дешевле вы нашли сервер, тем выше вероятность, что он не принимает для хостинга игры. Все достаточно просто: чем ниже цена, тем меньше ресурсов предоставляет сервер, соответственно тут вы не сможете запустить тот минимум, что вам необходим.

Касательно настроек системы, тут идет все в зависимости от того, какой грандиозности проект вы хотите запускать. Обратите особое внимание на предоставляемый трафик. Другим ключевым моментом может стать количество оперативной памяти (RAM), ввиду того, что сервер работает на Java, а она в свою очередь весьма требовательна к ресурсам. Количество оперативки будет определять сколько слотов мы сможем захостить. К примеру 2 гб смогут держать порядка 10-20 человек перед тем как упадет. Так же вас должен интересовать процессор, но как правило, большинство из них справляются со своими задачами. Ну совсем уж древность вроде пентиума выбирать не стоит.

При выборе OS руководствуйтесь своими знаниями. Но данный гайд написан для 64 битной Debian 7, соответственно с минимальными изменениями вы сможете его адаптировать под ту же Ubuntu.

Базовая настройка

Перед тем как создать сервер нам с вами нужно будет провести начальные приготовления. Сразу после покупки системы для Project Zomboid, с большой долей вероятности ваш хостинг провайдер предоставит вам доступ через ssh и логин вида root с соответствующим паролем. Через данный протокол мы и будем все устанавливать, включая Steam. Для подсоединения к серверу по SSH нам потребуется соответствующая программа, под названием PuTTY. Для передачи и редактирования файлов на сервере вы можете использовать WinSCP.

Putty окно конфигурации

После скачивания и установки PuTTY открываем ее. В поле “Host Name (or IP address)” вводим данный провайдером ИП адрес сервера. Порт оставьте такой как есть. Для того чтобы не вводить эти данные каждый раз, нажмите на кнопку «Save» ниже. Теперь при следующем заходе в программу вы можете выбрать из списка ваш сервер и просто подключиться к нему. Нажмите на кнопку «Open».

При первом подсоединении вас попросят сверить ключи. Просто нажмите Да. После присоединения вы увидите строчку «login as:». Вводим ваш логин «root» и нажимаем Enter. Далее у вас запросит пароль. Просто скопируйте присланный вам хостером пароль, нажмите ОДИН РАЗ возле поля пароль правой кнопкой мыши. Ваш пароль скопируется, но вы не увидите изменений. Это нормально. Нажмите Enter.

Если все сделано правильно, вы попадете в систему. Вы можете провести первую ее настройку, обновить пакеты. Все что вашей душе угодно. Можете погуглить «Первоначальная настройка VPS» и тому подобное. Но эти шаги не обязательны.

Putty Root Password

Итак, для начала мы установим Java и screen. Первый нужен потому что сервер не работает без него, второй для того чтобы он работал в фоновом режиме.

  • 1.
    apt-get install default-jdk
  • 2.
    apt-get install screen

Если у вас 64 битная версия системы, сразу установим  32 битные библиотеки, которые потребуются для запуска SteamCMD:

  • 1.
    apt-get install lib32gcc1

Так же, в 80% случаев нам потребуется библиотека glibc более новой версии, чем представлена в стандартных репозиториях. Мы добавим новый репозиторий в соответствующий файл, обновим пакеты, и установим нужные, после же просто удалим экспериментальный репозиторий.

  • 1.
    nano /etc/apt/sources.list

Добавляем в конец строчку:

  • 1.
    deb http://ftp.debian.org/debian sid main
Source list sid repo project zomboid

Пример того как может выглядеть sources.list

Через CTRL — X выходим сохраняя изменения. Обновляем список репозиториев и устанавливаем нужные для Project Zomboid пакеты:

  • 1.
    apt-get update
  • 2.
    apt-get -y -t sid install libc6 libc6-dev libc6-dbg linux-libc-dev gcc

Соглашаемся на установку. После с помощью той же nano удаляем добавленную ранее строку в файле.

Пользователь, SteamCMD и прочие прелести

Теперь мы приступим к скачиванию SteamCMD для того чтобы слить последнюю версию Project Zomboid сервера. Запуск этого софта рекомендуется отдельным пользователем, по-этому мы добавим его:

  • 1.
    adduser projectzomboid

Пользователь назван projectzomboid, придумываем ему пароль, остальную информацию можно оставить пустой. Соглашаемся со всем. Переходим с пользователя root к пользователю projectzomboid:

  • 1.
    su projectzomboid

Переходим в домашний каталог нашего пользователя и создаем отдельную директорию для софта, чтобы все было структурировано.

  • 1.
    cd /home/projectzomboid
  • 2.
    mkdir steamcmd
  • 3.
    cd steamcmd

Начинаем скачивание архива SteamCMD и его дальнейшую распаковку:

  • 1.
    wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
  • 2.
    tar -xvzf steamcmd_linux.tar.gz

После всех проведенных действий мы можем успешно начать запуск скачанной программы для создания сервера project zomboid. Запускаем стим следующим:

  • 1.
    ./steam.sh

Project Zomboid linux useradd

Дожидаемся процесса первого обновления. Теперь заходим под нашим логином и паролем, где куплена игра:

  • 1.
    login user pass

Возможно потребуется введение кода пришедшего вам на почту от Steam Guard. Выбираем директорию для установки сервера и выполняем скачивание project zomboid :

  • 1.
    force_install_dir /home/projectzomboid/server
  • 2.
    app_update 108600 validate
  • 3.
    exit

Все вышеперечисленное в дальнейшем мы можем воспроизводить и обновлять одной командой:

  • 1.
    ./steamcmd.sh +login user pass +force_install_dir /home/projectzomboid/server +app_update 108600 validate +exit

Или же если вы хотите запустить бета версию сервера Project Zomdoid добавьте к директиве следующие параметры:

  • 1.
    ./steamcmd.sh +login user pass +force_install_dir /home/projectzomboid/server +app_update 108600 -beta iwillbackupmysave -betapassword iaccepttheconsequences validate +exit
Учтите, что не все игроки смогут присоединится к серверу бета версии. Выбор за вами.

Первый запуск

К сожалению, даже для первого запуска нам необходимо провести первые приготовления. Сначала мы должны создать папку Zomboid и внутри нее db. Переходим в наш домашний каталог.

  • 1.
    cd /home/projectzomboid
  • 2.
    mkdir Zomboid
  • 3.
    cd Zomboid
  • 4.
    mkdir db

Теперь в эту директорию мы должны залить следующий файл при помощи того же WinSCP или Filezilla например.

Project Zomboid World.db

Теперь, так как мы ранее говорили о том, что сервера на джаве потребляют достаточное количество оперативной памяти, мы должны ограничить ее использование в конфигурации. Количество, выделяемой памяти зависит от того, сколько ее изначально доступно на вашем хостинге. Если у вас он используется исключительно для сервера Project Zomdoid, тогда можно выделить от 50% от номинальной, но не больше 80%. Для редактирования мы должны найти файл projectzomboid-dedi-server.sh, для этого переходим в папку сервера:

  • 1.
    cd /home/projectzomboid/Steam/SteamApps/common/ProjectZomboid
  • 2.
    nano projectzomboid-dedi-server.sh

Ищем две следующих строчки:

  • 1.
    -Xms1024m \
  • 2.
    -Xmx1024m \

И меняем их на значения, которые мы определили для своей машины.

И наконец выполняем первый запуск:

  • 1.
    ./projectzomboid-dedi-server.sh

Это стартует сервер. При первом запуске нас могут спросить о вводе вашего админ пароля. Выберите тот, который будете использовать и запомните.

Но не стоит праздновать. Закройте сервер командой Ctrl — C. Заходим через WinSCP или Filezilla в директорию Zomboid, которую мы создали, теперь там должно быть гораздо больше файлов чем раньше. Редактируем файл serverOptions.ini. Он будет иметь следующее содержание:

  • PVP=true // Разрешает или запрещает игрокам повреждать/убивать друг друга
  • PauseEmpty=true // Останавливает сервер, если на нем нет игроков
  • GlobalChat=true // Разрешает или запрещает игрокам говорить друг с другом используя /all команду.
  • Open=true // Работает ли сервер через whitelisting.

Редактируем в зависимости от наших потребностей. Более подробная таблица настроек будет далее. Теперь переходим к запуску нашего сервера в фоновом режиме.

  • 1.
    screen
  • 2.
    cd /home/projectzomboid/Steam/SteamApps/common/ProjectZomboid
  • 3.
    ./projectzomboid-dedi-server.sh
  • 4.
    Ожидаем надписи "*** SERVER STARTED ****".
  • 5.
    Нажимаем Ctrl-a и d

Теперь окно PuTTY при желании можно закрывать и играть на нашем сервере. Для того чтобы вернуться в наш сервер используем команду screen -dr, а для того чтобы вовсе выключить его Ctrl — C.

Команды для серверной конфигурации Project Zomboid

После редактирования serverOptions.ini сохраняем изменения и перезапускаем сервер. Вы также можете поменять эти настройки прямо в игре (когда зашли под амином) используя переменную /changeoption optionName=*значение* и после введя /reloadoptions для перезагрузки параметров.

Название По-умолчанию Описание
PVP true Включает PVP.
PauseEmpty false Если значение true сервер не производит никаких действий при отсутствии игроков (фарминг не происходит и т.п.)
GlobalChat true Включение глобального чата  (/all команда в чате).
Open true Открыт для всех (нет whitelist)
ServerWelcomeMessage  <RGB:1,0,0> Добро пожаловать на сервер Project Zomboid! Для локального чата нажмите \»t\», для глобального \»y\» или добавьте \»/all\» перед начало сообщения <LINE> Введите /help для получения списка команд сервера <LINE> <RGB:1,1,1> Приветственное сообщение в глобальном чате, при подсоединении игрока.
LogLocalChat false Сохранять ли локальный чат в окне (со стороны клиента).
AutoCreateUserInWhiteList false Если ваш сервер открыт, эта опция позволяет сохранять пользователя в вашем whitelist с паролем, которым он будет защищен.
DisplayUserName true False = вы не увидите имена других игроков над их головами + их имена не будут указываться в локальном чате.
SpawnPoint 0,0,0 Используйте эту переменную для указания произвольной точки возрождения взамен рандомно сгенерированной.
SafetySystem true Позволяет пользователю изменить настройки безопасности (если значение false, а PVP=true, тогда режим безопасности будет постоянно отключен).
ShowSafety true Позволяет другим игрокам видеть находиться ли игрок в режиме безопасности при помощи иконки черепа.
SafetyToggleTimer 100 Если игрок отключит режим безопасности потребуется некоторое время перед тем как он включит его вновь. Тут определяем это время.
SafetyCooldownTimer 120 Каждый раз когда вы ударяете кого-то, добавляет указанное количество времени к вашему таймеру перед тем как вы сможете опять включить режим безоспасности.
SpawnItems none Добавляет вещи, которые выдаются игроку при спауне, например: Base.Axe,Base.WaterBottleFull… (каждая вещь должна быть отделена знаком «,»)
DefaultPort 16261 Стандартный порт, который использует сервер
Mods BedfordFalls;Etc Используйте, для того чтобы добавить моды на свой сервер, такие как карты или другие вещи. Игрок ДОЛЖЕН так же иметь эти моды установленные у себя на клиенте.
DoLuaChecksum true Проверять checksum lua скриптов. Игроки с модифицированными Lua файлами, отличимыми от файлов на сервере не смогут присоединиться к серверу.
Public false При значении true отправляет данные сервера к pz.com для того, чтобы он отображался в публичном сервер листе.
PublicName  GmHb.ru Название сервера. Обязательно.
PublicDescription  GameHub Project Zomboid Server Описание сервера. Опционально.
MaxPlayers 64 Максимальное количество слотов на сервере (не касается админа).
PingFrequency 10 Время, через которое каждый клиент пингуется, в секундах.
PingLimit 400 Пинг лимит перед тем, как игрок будет кикнут. Производится 5 попыток к пингу, с указанным интервалом в миллисекундах. 0 для того чтобы отключить.
HoursForLootRespawn 0 Включить респаун вещей, если > 0, тогда зона должны быть невидима на протяжении X (этот параметр) часов, перед тем как вещи зареспаунятся на ней.
MaxItemsForLootRespawn 4 Для респауна вещей, если контейнер имеет больше вещей чем указанное число, он не будет респаунить их (используйте это для лимитирования респауна в укрытии, например).
HoursForZombiesRespawn 0 Включить респаун зомби, если  > 0, тогда зона должна быть невидима не протяжении X (этот параметр) часов, пока зомби не зареспаунятся на ней, только на дороге.
IncreaseZombieRespawnBy 0 Количество дополнительных зомби, которые вы хотите чтобы спаунились если HoursForZombiesRespawn > 0. Например, область по умолчанию спаунить 10 зомби. У вас указано IncreaseZombieRespawnBy=20 -> Теперь эта зона спаунит 30 зомби (10 своих и 20 исходя из настройки).
PlayerSafehouse false
AdminSafehouse false
SafehouseAllowTrepass true
SafehouseAllowFire true
SafehouseAllowLoot true
SafehouseAllowRespawn true
SafehouseDaySurvivedToClaim 0
SafeHouseRemovalTime 144
AllowDestructionBySledgehammer true

Команды доступные для админа

Название Описание
adduser Добавляет пользователя, в случае, если сервер использует вайтлист, пример: /adduser username=pwd
save Сохранить текущий мир
quit Выключение сервера (с сохранением его)
chopper Запустить вертолеты (шум)
gunshot Выстрел (шум)
startrain Включить дождь на сервере
stoptrain Выключить дождь на сервере
grantadmin Дать игроку права админа, пример: /grantadmin username
removeadmin Снять с игрока права админа, пример: /removeadmin “username”
reloadoptions Перезагрузить конфигурацию сервера (ServerOptions.ini) и отправить ее клиентам
banuser Забанить игрока, причина не обязательна, пример: /banuser username=причина ip=true/false, например /banuser rj=pvp ip=true
unbanuser Анбан игрока, пример: /unbanuser username
kickuser Кик игрока, причина не обязательна. Пример: /kickuser username=причина
addalltowhitelist Добавить всех текущих игроков, которые присоединились с паролем в вайтлист, так, что их аккаунты защищены.
addusertowhitelist Добавить определенного игрока, который присоединен с паролем в вайтлист, пример: /addusertowhitelist username
removeuserfromwhitelist Убрать игрока из вайтлиста, пример: /removeuserfromwhitelist username
showoptions Отобразить список всех настроек сервера с их значениями.
changeoption Используйте эту переменную, чтобы изменить настройку сервера, пример: /changeOption optionName=newValue
godmod Сделать игрока неуязвимым, пример: /godmod username=true/false, например /godmod rj=true
invisible Сделать игрока невидимым, пример: /invisible username=true/false, например /invisible rj=true
additem Дать игроку вещь, имя игрока не обязательно, если вы не укажите его, вещь будет дана вам, пример: /additem username module.item, например : /additem rj Base.Axe.
createhorde Спаунит орду рядом с вами/игроком, пример: /create horde count, например /createhorde 150
changepwd Используйте эту команду чтобы изменить ваш пароль, например: /changepwd старыйпароль новыйпароль.

Допольнительные параметры запуска сревера

Вы можете отредактировать файл projectzomboid-dedi-server.sh и добавить в нем соответствующие параметры.

Параметр Описание
-adminpassword Опция для того, чтобы обойти ранее определенный пароль админа. Пример: -adminpassword Вашпароль
-servername Определяет имя сервера. Например: -servername GameHub.ru
-ip <ip> Опция для определения ip адреса (если у вас несколько сетевых карт или внешних ип). Например: -ip 127.0.0.1
-port <port> Опция, которая меняет установленный в настройках дефолтный порт. Например: -port 16261
-steamvac <true/false> Опция для включения/выключения VAC на Steam серверах. Можно использовать и в файле конфигурации переменной SteamVAC=true/false.
-steamport1 <port>
-steamport2 <port>
Steam сервера требуют два дополнительных порта для полноценной работы (предположительно, они оба UDP, но возможно так же потребуются TCP). Так же есть параметр для конфигурационного файла: SteamPort1= и SteamPort2=.

FAQ

Q: “У меня появляеться ошибка missing file/folder при загрузке сервера.”

A: Обычно это значит, что папка “Zomboid” у вас расположена не в том месте. Так же не забывайте создать папку “db” и поместить в нее “world.db” файл.

 

Q: “Появляются какие-то сообщения об ошибке связанной с RakNet. Что это?”

A: Скорее всего это связано с неправильной установкой библиотек glibc, тех что выше из экспереминтального репозитория.

 

Q: «Если вышло обновление, как его установить?»

A: Выключите сервер (Ctrl-C), и запустите заново команду установки.

 

Вот и все, надеюсь я помог вам в вопросе как создать сервер в Project Zomboid Steam. Если у вас появяться какие-либо проблемы или предложения по улучшению статьи, буду рад услышать их в коментариях. Stay tuned.

ОБРАТИТЕ ВНИМАНИЕ

Reign of Kings: как создать...

Как создать свой сервер в...

Как вам статья? ...