Valheim
Оценок: 88
Создание Выделенного сервера (Dedicated Server) на VDS под Windows [UPD. 2024-02-01]
От F@NaTiK
Руководство для создания Выделенного сервера (Dedicated Server Valheim) на VDS под операционной системой Windows Server
   
Наградить
В избранное
В избранном
Удалить
Преамбула (Обязательная к прочтению)
Данное руководство написано исключительно мной, и все пункты проделанные в данном руководстве работоспособные и лично выполнены мной, и привели к стабильно работающем серверу игры.

Исполнение данного руководства было выполнено на VDS (англ. virtual dedicated server), виртуальный выделенный сервер — у одного из выбранных мной хостинг провайдеров.

Данное руководство не гарантирует корректное подключение к серверу если сам сервер запущен на локальной машине (персональном ПК без белого IP).

Что такое "Белый IP" - достаточно прочитать в сети Интернет.
Установка SteamCMD на VDS (Windows Server)
Для начала скачиваем на свой ПК SteamCMD с официально сайта официального сайта developer valvesoftware или скачиваем его прямо с сервера.

  • Распаковываем архив на своем ПК или на сервере
  • Создаем на сервере директорию для загрузки SteamCMD (C:\steamcmd)
  • Переносим из распакованного архива файл в эту директорию и запускаем его (сам файл называется SteamCMD.exe, а запуск должен производиться из папки: C:\steamcmd\SteamCMD.exe)
  • SteamCMD сам скачает необходимые файлы и после успешного обновления получите примерно такое окно
Установка сервера (Windows Server)
В открывшемся окне SteamCMD (скриншот выше) вводим данные для авторизации:
  • login anonymous
  • force_install_dir C:\ValheimServer (ПРИМЕЧАНИЕ!)
  • app_update 896660 validate
  • exit (после окончания загрузки)


    ПРИМЕЧАНИЕ
    Создавать каталог не обязательно, сам сервер будет закачиваться в папку назначенную по дефолту:
    C:\steamcmd\steamapps\common\
Настройка сервера (Windows Server)
Переходим в папку сервера и находим файл start_headless_server.bat копируем его в этой же папке и называем по другому (например start.bat)

Открываем его текстовым редактором и получаем следующее содержимое:
@echo off set SteamAppId=892970 echo "Starting server PRESS CTRL-C to exit" REM Tip: Make a local copy of this script to avoid it being overwritten by steam. REM NOTE: Minimum password length is 5 characters & Password cant be in the server name. REM NOTE: You need to make sure the ports 2456-2458 is being forwarded to your server through your local router & firewall. valheim_server -nographics -batchmode -name "My server" -port 2456 -world "Dedicated" -password "secret" -public 0/1 -console
  • -name "My server" - Имя сервера, меняем на своё. Оно будет отображаться в списке серверов
  • -port 2456 - порт для сервера который будет использоваться по умолчанию. Про порты смотрите Открытие портов (Windows Server)
  • -world "Dedicated" - название вашего мира
  • -password "secret" - пароль на сервер (от 6 до 8 символов)
  • -public 0/1 -
    • 1 - означает видимость сервера в браузере серверов
    • 0 - сервер только для локальной игры (LAN) и подключаться к серверу через "Join IP"
  • -console - разрешение на открытие консоли. (добавлено в 0.148.6)
Все выше перечисленные параметры необходимо изменить на нужные (за исключением портов, о них смотрите далее)
Открытие портов (Windows Server)
Для открытия портов нам необходимо перейти в Панель Управления -> Брандмауэр Windows -> Дополнительные параметры


Откроется дополнительное окно в котором нам нужно "Правила для входящих подключений" -> Создать правило (будет справа)

и создаем 6 правил (3 для TCP и 3 для UDP) для портов.



И так повторяем 6 раз - 3 для TCP (2456,2457,2458) и 3 раза для UDP (2456,2457,2458)
Q: Почему необходимо повторять 6 раз - ведь достаточно указать диапазон портов.
A: Я указал диапозон портов, не смог нормально запустить сервер. Он работал, но я его не видел и не мог к нему подключиться.
Запуск сервера (Windows Server)
После открытия портов и настройки сервера время его запускать.

Возвращаемся в папку сервера и запускаем start.bat


После успешного запуска сервера в консоли вы должны увидеть надпись "Game server connected" и примерно следующее:


Завершение работы сервера
Для хорошего (нормального) завершения работы сервера рекомендуется использовать сочетание клавиш Cltr+C в активном окне сервера.
Обновления сервера (Windows Server)
Для обновления сервера на новую версию достаточно выполнить следующие команды:
  • Запускаем SteamCMD.exe
  • login anonymous
  • force_install_dir C:\ValheimServer (если сервер стоит в отдельной папке, если нет, то пропускаем этот пункт)
  • app_update 896660
  • exit

ПРИМЕЧАНИЕ
Обновление сервера производить когда тот отключен, так как возможна вероятность забаговывания сохранений.

Автоматизированное обновление
Автоматизированное обновление помогает ускорить процесс обновления сервера, без каждого ввода команд.
Для создания такого файла используем NotePad++ и вписываем туда значения:
steamcmd +login anonymous +force_install_dir C:\ValheimServer +app_update 896660 +quit
После нажимаем "Сохранить как" -> выбираем All (*.*) -> Название: update valheim.bat и Переносим файл в папку с установленным SteamCMD (чтобы рядом был файл steamcmd.exe)

  • steamcmd - запуск SteamCMD
  • +login anonymous - авторизация
  • +force_install_dir C:\ValheimServer - указываем каталог где установлен сервер. ЕСЛИ сервер установлен в корневом каталоге (C:\steamcmd\steamapps\common\) тогда убираем этот путь.
  • +app_update 896660
  • +quit - выход после завершения.

Сохранения и админы (Windows Server)
Если вы играете на локальной машине (своем ПК) и необходимо перенести сохранения на сервер достаточно выполнить несколько шагов:
  • Переходим на ПК по пути: C:\Users\USERNAME*\AppData**\LocalLow\IronGate\Valheim\
  • Копируем папку worlds
Примечания
  • * USERNAME - имя вашего пользователя
  • ** - AppData** - скрытая папка

Теперь переходим на сервер и идем по точно такому же пути:
  • C:\Users\USERNAME*\AppData**\LocalLow\IronGate***\Valheim\
    и вставляем нашу скопированную папку.
Примечания
  • * USERNAME - имя вашего пользователя
  • ** - AppData** - скрытая папка
  • *** - IronGate - такой папки может не существовать. Рекомендуется скопировать такую же папку с локального ПК и перенести на сервер.


Добавление админа(ов)
В этой же папке (...\IronGate\Valheim\) с сохранениями у нас есть несколько тектовых файлов:
  • adminlist
  • bannedlist
  • permittedlist

Нас интересует только adminlist.txt. Для добавления админа(ов) необходимо:
  • Зайти на свой сервер
  • Нажать клавишу F2 для вызова специального окна (информации о игроках):

    • Нам интересен ID который выделен красным цветом
  • Переписываем этот ID в текстовый файл adminlist.txt
  • Перезагружаем сервер (как правильно перезагрузить описано в разделе выше)

Теперь на сервере есть администратор, который может использовать консольные команды.
КАК ПОДКЛЮЧИТЬСЯ К СЕРВЕРУ
Если сервер работает, к серверу можно подключиться двумя способами.

Первый способ - немного сложный
1. Перейдите в Steam > Вид > Серверы > Избранное > Добавить сервер.
2. Вбить IP адрес сервера
3. Зайти в игру для выбора героя, сворачиваем
4. Обновлять несколько раз до того момента пока не появится НАЗВАНТЕ_ВАШЕГО_СЕРВЕРА
5. Нажать два раза на сервер и вводим пароль (если он стоит на сервере) и нажимаем подключиться
6. Разворачиваем игру, нажимаем "Начать"

Второй способ - простой
1. Заходим в игру
2. Выбираем героя и нажимаем "Играть"
3. Переходим в вкладку "Присоединиться к игре"
4. В поле "Фильтр" вбивает инициалы сервера (Например, имя сервера [SDK] My World) SDK
5. Сервер должен отобразиться, и нажимаем подключиться
6. Вводим пароль (если на сервере стоит пароль)
7. Играем.
Удачной игры
Настройка сервера закончена, приятной игры.
Поддержите руководства лайком и добавлением в избранное!
Комментариев: 96
cruel917 28 мар в 11:00 
всё вышло только один вопрос остался как подключиться к серверу если сервер и игра на 1 пк через обычный вход в мир а то в обычном вальхейме проблема с хостом от игрока
F@NaTiK  [создатель] 4 мар в 10:11 
Skvizgar
Да, можно так сделать
Skvizgar 2 мар в 3:24 
Подскажите не опытному человеку, у нас с другами уже есть мир, и начинать заново не хотелось бы. но мы зачастую не совпадаем по времени, не все могут одновременно в игру зайти, что сделать, чтоб подцепить к серверу уже существующий мир с базами и персонажами?
SaVioR 15 янв в 3:10 
удаляю переменную -crossplay и сервер не запускается
mmatsumota | ♥♥♥♥♥♥♥♥♥♥ 29 дек. 2024 г. в 16:54 
Блин у меня почему-то ниче не получилось, так потом еще и начало вылетать из bat . Мир не переносился, ну и короче, или я тупой или уже гайд не актуальный. Но всё же спасибо автору за работу!
F@NaTiK  [создатель] 29 ноя. 2024 г. в 10:50 
>Можно ли свой мир на котором играл, поставить в сервер
Да можно, я так с друзьями сделал.
AlCapone 28 ноя. 2024 г. в 10:17 
Можно ли свой мир на котором играл, поставить в сервер
F@NaTiK  [создатель] 14 окт. 2024 г. в 11:51 
Ango
Прописать ему IP локальной сети
Ango 12 окт. 2024 г. в 15:41 
Помогите. Сервер работает,но есть но. Играем с женой с двух консолей Xbox series x. Сервер установлен на ноуте, стим. Все устройства в одной локальной сети. Почему пинг 150+ и рассинхроны? Как сделать так что бы все устройства соединялись напрямую в локальной сети а не с пингом как будто через Америку?
Gavall47 6 окт. 2024 г. в 6:48 
а как настроить сервер в плане сложность рейды? моды как поставить?