Как сделать свой сервер Valheim с модами

  • Post published:June 27, 2022
  • Post last modified:May 27, 2024
  • Post category:Windows / Гайды
  • Reading time:71 mins read

Хотите с комфортом поиграть с друзьями Valheim, но стандартные возможности портят игровой процесс? Устали от раздражающей полоски выносливости? От вечного перевеса инвентаря? Потери лута при смерти вашего персонажа? От кромешной затянутой темноты ночью? Или надоели постоянно нападающие на вас мобы пока вы добываете руду?

То для этих целей вам поможет создание собственного выделенного сервера для комфортной игры со своими правилами. В принципе сервер не будет ограничен лишь этим функционалом – Возможности здесь практически бесконечны, и все будет упираться лишь в ваши желания и идеи.

Обращаю ваше внимание на то, что здесь речь пойдет о создании кастомного сервера работающего отдельно от игры. 

В данной статье я рассмотрю способ создания собственного (Dedicated) сервера – при помощи утилиты в Steam, опишу работу с модами на примере Valheim Plus, а так же постараюсь дать решение по каждой из возможных проблем по установке и настройке сервера.

Зачем оно вообще надо?

Valheim – это лайтовая песочница-выживалка, в которой викинги в одиночку или сообща с друзьями отстраивают собственное поселение, добывают ресурсы и сражаются с монстрами. Звучит это все конечно просто и понятно, но на деле игрокам часто приходится сталкиваться с местными дизайнерскими и техническими решениями разработчиков.

геймплей valheim

В принципе игра считается (почти) законченным продуктом, несмотря на статус раннего доступа в Steam. Здесь есть абсолютно все рабочие механики, предметы, навыки, локации и монстры, но проблемы кроются именно в самом геймплее. За время игры у меня возникало множество негодования и вопросов к разработчикам Valheim и к сожалению эти “вопросы” невозможно разрешить предложенными игрой методами.

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

Пример мода с инвентарем
Пример работы мода EquipmentAndQuickSlots добавляющий слоты для брони

К сожалению от всех эти вышеописанных проблем никак нельзя избавиться. Но для этих целей мы и сделаем свой сервер, который можно гибко кастомизировать и по возможности почувствовать себя всемогущим.

Сервер в один клик – Steam Dedicated Server

Системные требования

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

Сама игра хоть и не слишком требовательна к процессору, но для работы сервера рекомендуется иметь минимум 2-ядерный процессор с частотой 2.8Ггц. Если вы планируете играть с 5 и более игроками + Моды, то придется рассмотреть более мощные аналоги (от 4 ядер и выше с поддержкой виртуальных ядер и многопоточностью).

Что касается жесткого диска, то сам сервер без модов занимает от силы 1-2 ГБ, но здесь стоит так же позаботится о размере самой генерируемой карты, которая будет часто обращаться к вашему диску, чтобы сгенерировать и сохранить новые фрагменты карты. Для более быстрой загрузки сервера, карты и работы с 2-10 игроками я бы все же рекомендовал SSD накопитель. Обычный жесткий диск так же справится со своей задачей, но это займет больше времени.

Оперативная память – это пожалуй важнейший компонент для сервера. Если вы планируете играть одновременно с запущенным серверов и несколькими дополнительными программами (например браузер и Discord), то вероятно вам понадобится минимум 8ГБ ОЗУ и 16ГБ для более комфортной игры. В запущенном состоянии сервер потребляет около 2ГБ ОЗУ, но вероятно эта цифра может увеличиваться от длительности вашей игровой сессии, установленных модов и количества активных игроков на карте.

Не стоит так же забывать и про вашего интернет провайдера, от которого можно ожидать чего угодно – потери пакетов, отсутствия соединения или других технических ограничений. Стоит позаботиться о доступности портов, вашем динамическом/статическом адресе для подключения и самой скорости загрузки (подойдет минимум 1Мб/с, но чем больше, тем лучше).

Установка

Для того чтобы создать сервер и подключаться к нему нам понадобится Valheim. Вы можете купить СНГ ключ Valheim для Steam со скидкой.

Если вы уже счастливый обладатель Steam версии Valheim, то в вашем распоряжении появится возможность прямо из библиотеки игр скачать так называемый Valheim Dedicated Server из вкладки Инструментов.

Загрузить сервер можно из Steam
Valheim Dedicated Server можно найти в библиотеке инструментов
  1. Скачиваем через Steam Valheim Dedicated Server. Установленный сервер будет весить примерно 1ГБ.
  2. Открываем папку, в которую Steam скачал сервер и находим там файл start_headless_server.bat. (Через него мы потом сможем запускать выделенный сервер)
  3. При помощи любого текстового редактора (блокнот, Wordpad, Notepad++…) открываем start_headless_server.bat и видим примерно то, что изображено на скриншоте ниже.
Команды для запуска в bat файле
Редактирование базовых настроек сервера в файле start_headless_server.bat
  1. Нас интересует самая нижняя строка со значениями -name, -port, -world и -password. После этих значений можно указать свои данные, чтобы персонализировать свой сервер – Дать имя, указать название карты, поменять по желанию порт, при необходимости указать пароль или же добавить дополнительные аргументы вроде -public 1 (пригодится для отображения в списке среди других серверов).
  2. После того как внесли необходимые изменения сохраняем .bat файл и в принципе сервер готов к первому запуску.
Консоль сервера для Valheim
Консоль запущенного сервера с модами
  1. После того как в окне сервера появится сообщение Game server connected на него можно будет зайти с игрового клиента, но перед этим вам понадобится узнать свой IP адрес для подключения, так как данный сервер пока еще нигде не отображается и подключаться к нему напрямую.
  2. Самым простым способом узнать ваш IP адрес будет сайт What is my IP.com. Достаточно скопировать оттуда свой IPv4 публичный интернет адрес и скопировать его в окно подключения в самой игре. Если вы хотите проверить соединение по локальной сети, то свой локальный IP можно узнать в личном кабинете роутера или с помощью команды ipconfig в командной строке. Обычно локальный IP адрес выглядит так: 192.168.0.100; 192.0.0.1 и др.
  3. Если все получилось, и вы убедились, что сервер работает, то можно выходить и приступать к дополнительным настройкам. Выключаем сервер нажав на перекрестие, либо комбинацией клавиш CTRL+C.
  4. В случае если вы хотите использовать свою карту, чтобы продолжить играть на ней, нам понадобится вновь зайти в файл start_headless_server.bat и отредактировать имя карты: например -world "testworld". Название чувствительно к регистру, поэтому тщательно перепроверяйте имя вашей карты. Список ваших созданных карт можно найти здесь: C:\Users\Имя-Пользователя\AppData\LocalLow\IronGate\Valheim\worlds_local.
  5. Чтобы другие игроки смогли найти и подключиться к вашему серверу, вам так же понадобится открыть стандартные порты (2456-2458) в настройках Wi-Fi роутера. Обычно эта функция называется Port Forwarding (переадресация) или Virtual Server. Универсального решения здесь нет и открытие порта для каждой модели роутера может отличаться, поэтому прежде чем приступить к настройке, обязательно проверьте производителя и модель роутера и найдите подходящий гайд в интернете.
окно поиска серверов в Steam
Попробовать найти и добавить свой сервер вы так же можете через Steam в окне серверов.
  1. Теперь после открытия порта на сервер смогут подключаться и другие игроки. Остается лишь запустить сервер, узнать свой публичный IP и написать его вашим друзьям вместе с паролем для входа в игру. Главное учесть тот факт, что если вы используете динамический IP адрес, то при каждом сбросе соединения провайдера вам придется снова сверять свой публичный адрес.

Дополняем сервер и клиент модами

Моды – это пожалуй то, ради чего можно вновь возвращаться в игру и сделать игровой процесс более гибким и комфортным. Как я уже упоминал выше, в игре достаточно много раздражающих геймплейных моментов, с которыми многие игроки не готовы мириться.

И для того чтобы сделать игру более приятной, я рассмотрю глобальный мод Valheim Plus, который разительно улучшает геймплей, изменяет характеристики и в целом делает то, чего сами разработчики пока не готовы сделать. На примере этого мода я покажу, как устанавливать сторонние модификации для сервера и для клиента.

nexusmods окно мода для valheim plus
  1. Для начала нам понадобится обратиться к странице мода Valheim Plus на NexusMods. Автор данной модификации уже позаботился о пользователях и включил в архив менеджер модов BepInEx, который зачастую надо скачивать отдельно, но не в случае с Valheim Plus.
  2. В случае с Valheim Plus, нам понадобится загрузить два отдельных архива – для клиента и сервера.
  3. Архив с клиентом необходимо распаковать в корневую папку игры Valheim, а архив Windows Server поместить в корневую папку сервера.
  4. После этого необходимо один раз запустить клиент/сервер, чтобы появились новые файлы с настройками для гибкой кастомизации модов.
  5. Теперь в папке \Valheim dedicated server\BepInEx\config у нас появятся config файлы для конкретных модов. В нашем случае нас интересует config файл valheim_plus.cfg для Valheim Plus.
редактор Notepad++ файл конфигурации
Параметров для Valheim Plus просто огромное количество!
  1. Внутри этого файла, который может быть открыт любым текстовым редактором, можно изменять любые параметры и аспекты игры – например изменить затраты выносливости (stamina) при прыжке, беге или при использовании инструментов. В общем настроить все, что душе угодно и если позволяют знания английского языка.
  2. Важно! После редактирования файла конфигурации мода, вставьте этот измененный файл в папку игры/сервера в ту же директорию из 5-го шага \BepInEx\config и замените.
  3. Все новые моды, которые вы будете устанавливать (в формате dll), помещайте в папку клиента и сервера \BepInEx\plugins. Config файлы для новых модов будут появляться в соответствующей папке – \BepInEx\config\. Да, это не очень удобно, но это небходимый шаг для взаимодействия модов между клиентом и сервером.
список плагинов для сервера
Список модов/плагинов помещенных в папку сервера
  1. Опциональный, но тоже важный шаг для тех, кто собирается играть с друзьями – После редактирования и замены файлов из предыдущих этапов, Все измененные Config файлы и сам .dll файл мода вы должны передать всем своим друзьям, иначе они не смогут увидеть каких-либо изменений и будут продолжать играть в оригинальную версию игры. Если коротко, то у ваших друзей клиент должен быть точно такой же, как и у вас.

После всех этих этапов ваш сервер будет работать со всеми модами, которые вы поместили в папку plugins, но если по какой-то причине вы столкнулись с проблемой, то рекомендую прочитать Решение проблем ниже по списку.

Решение проблем (Troubleshooting)

Где найти настройки для сервера?

  • В папке сервера открыть текстовым редактором файл start_headless_server.bat. Из доступных настроек ниже в “кавычках” можно поменять имя сервера, добавить пароль, изменить порт и название карты.
-name “My server” - Имя сервера для отображения в списке серверов. Можно изменить на свое "в кавычках"
-port 2456 - Стандартный порт для подключения (можно изменить на любой другой и затем открыть его в настройках роутера)
-world “Dedicated” - Имя карты. Можно изменить на свое в "кавычках"
-password “secret” - Пароль для подключения к серверу. Добавить пароль можно в "кавычках". (не менее 5 символов).
-public 1 - Дополнительный атрибут, который можно добавить по желанию. Позволяет показывать ваш сервер в публичном списке серверов.

Куда сохраняется карта сервера?

  • C:\Users\Имя-Пользователя\AppData\LocalLow\IronGate\Valheim\worlds_local

Я указал пароль для сервера, но он не запускается

  • Вероятно вы указали слишком короткий пароль (требуется не менее 5 символов), либо вы ввели пароль с неподдерживаемыми символами типа №@#%(!^ или ввели его вне “кавычек”.

Как узнать свой IP адрес для подключения?

  • Узнать свой IP можно в настройках роутера или при помощи команды ipconfig введя ее в командной строке. Можно так же воспользоваться сайтами What is my IP? Именно ваш IPv4 и будет вашим адресом для подключения к серверу. Не забудьте сообщить этот адрес своим друзьям! А если у вас динамический IP адрес, то регулярно проверяйте изменения вашего IP.

Как дать себе права админа на сервере?

  • В папке C:\Users\Имя-Пользователя\AppData\LocalLow\IronGate\Valheim найти файл adminlist и добавить в новую строку ваш SteamID. Узнать свой SteamID можно при подключении к своему серверу в командной строке либо в окне подключенных игроков внутри игры при нажатии F2.

Мой сервер не отображается в списке публичных серверов

  • В файл start_headless_server.bat добавьте новый аргумент -public 1. Так же убедитесь, что в настройках роутера вы открыли порт сервера (по умолчанию 2456). Иногда на появление сервера в списке в игре/Steam может уйти 5-20 минут. Примечание: Чтобы поиграть на сервере, его необязательно делать публичным. Для этого достаточно воспользоваться подключением напрямую по IP адресу.

Как открыть командную строку в игре?

  • По умолчанию в игре клавишей F5. Если командная строка не открывается, то необходимо добавить в параметры запуска игры в Steam новый аргумент -console.
  • К сожалению на текущий момент стандартный набор мультиплеерных команд весьма скудный и использование консоли лишено особого смысла. Из предложенного только есть возможность банить/кикать игроков, сохранять карту, либо писать в чат. Полный список команд можно найти здесь.
аргумент для запуска игры с консолью

Как выключить сервер?

  • Сервер можно закрыть нажав на перекрестие окна в Windows, Через библиотеку Steam, либо в командной строке нажатием комбинации клавиш CTRL+C

Я скачал мод, но не знаю куда его поместить

  • Как правило в архиве есть один .dll файл с названием мода. Его необходимо поместить в папку \BepInEx\plugins как для клиента, так и сервера.

Я не нашел файл конфигурации (config) для моего мода

  • Файл конфигурации появляется в папке \BepInEx\config\ после первого запуска клиента/сервера

Как обновлять сервер на новую версию?

  • Если вы устанавливали сервер через Steam, все обновления происходят в Steam клиенте. Инициировать обновление можно и через SteamCMD вручную – Для этого понадобится создать в папке сервера отдельный .bat файл и добавить туда строки кода:
@echo off

steamcmd.exe +force_install_dir "C:\Your\Valheim\Folder" +login anonymous +app_update 896660 validate +quit

Учтите, что обновление перезаписывает файл start_headless_server.bat, поэтому рекомендуется заранее сделать копию.

Другой игрок не видит изменений на моем сервере после установки мода

  • Убедитесь, что другой игрок правильно установил мод менеджер BepInEx и поместил необходимые файлы в соответствующие папки (config, plugins).

Остались вопросы? Задай их мне в контактной форме. Помогла статья? Поддержи развитие проекта нажав на кнопку ниже. Спасибо!