servarium :)
главная / журнал / Как настроить выделенный сервер Vintage Story в Windows: полное руководство

Как настроить выделенный сервер Vintage Story в Windows: полное руководство

·

Пошаговое руководство по созданию и настройке выделенного сервера Vintage Story на Windows: от рекомендуемых системных требований и установки до сетевых настроек, безопасности и резервного копирования.

Выделенный сервер — это отдельный процесс (VintagestoryServer.exe), благодаря которому игровой мир может оставаться доступным, даже когда администратор вышел из игры. Однако для этого должны продолжать работать и сам серверный процесс, и компьютер с Windows. В отличие от него, режим «Открыть для локальной сети» (Open to LAN) в меню одиночного мира предназначен для временной совместной игры: сервер перестаёт работать, когда хозяин закрывает мир.

1. Рекомендуемые системные требования, а не минимальные

Компонент

Официальные рекомендуемые характеристики для клиента

Официальная рекомендуемая оценка для выделенного сервера

Операционная система

64-разрядная Windows 10 или новее

Windows

Процессор

Любой AMD Ryzen либо Intel Core i5/i7 4-го поколения с 2 ядрами и 4 потоками, либо аналогичный

Рекомендуется 4 потока CPU; ориентир по частоте — 1 ГГц базово + 150 МГц на каждого игрока

Оперативная память

16 ГБ ОЗУ

1 ГБ базово + 300 МБ на каждого подключённого игрока

Накопитель

Не менее 6 ГБ свободного места на SSD

Дополнительное место на SSD для сохранений, журналов, модов и резервных копий; фиксированного объёма разработчик не указывает

Видеокарта

Дискретная видеокарта 2017 года или новее, например GeForce GT 1030 или Radeon RX 560; поддержка OpenGL 3.3+

Самому серверному процессу отдельная видеокарта не нужна

Сеть

Подключение к интернету при первом запуске игры

Стабильная связь и достаточная исходящая скорость для подключающихся игроков

Эта рекомендуемая конфигурация клиента рассчитана примерно на 30 кадров/с при средних настройках графики. Кроме неё, разработчик приводит категорию Optimum — ориентировочно 60 и более кадров/с при высоких и очень высоких настройках и менее чем 20 модах: 4 ядра / 8 потоков, 16 ГБ ОЗУ, 10 ГБ свободного места на SSD и видеокарта уровня GeForce GTX 1070. Устройства с Windows на процессорах ARM сейчас не поддерживаются.

2. Выберите режим размещения сервера и подготовьте Windows

Если мир должен оставаться доступным даже при закрытом игровом клиенте, используйте выделенный сервер по инструкции ниже. Его можно запустить как на том же компьютере, за которым вы играете, так и на отдельной машине с Windows. Если все участники находятся в одной домашней сети и собираются поиграть недолго, есть более простой вариант: создайте или откройте одиночный мир, нажмите Esc → Open to LAN («Открыть для локальной сети») и передайте друзьям показанный игрой локальный IP-адрес. Команда Open to Internet («Открыть для интернета») попытается настроить UPnP, но успешное подключение не гарантируется. При таком способе хозяин должен оставаться в игровом мире.

Что нужно подготовить:

  1. Легальная учётная запись Vintage Story и доступ к официальной странице загрузок. Учётная запись, используемая для получения игры, может отличаться от форумной. Для новой установки выберите рекомендованный полный установщик Windows, а не архив сервера для другой ОС. На сервере и у игроков следует использовать актуальные совместимые стабильные версии игры.
  2. Обновлённая Windows и драйверы видеокарты. Если сервер доступен из интернета, предпочтительна ОС, для которой продолжают выпускаться исправления безопасности. Нужен 64-разрядный ПК с процессором x86-64: Windows на ARM не входит в список поддерживаемых платформ.
  3. Права администратора Windows для настройки брандмауэра и, при публикации сервера в интернете, доступ к панели управления маршрутизатором. Сам сервер Vintage Story не следует запускать с повышенными правами администратора.
  4. Устойчивое сетевое подключение. По возможности используйте Ethernet. Подключите компьютер к питанию и настройте раздел Windows «Параметры → Система → Питание» / «Питание и батарея» так, чтобы он не переходил в спящий режим, пока сервер должен быть доступен. Сам игровой клиент закрывать можно; серверный процесс должен продолжать работать.
  5. Заранее решите, откуда будут приходить подключения: из одной локальной сети (проброс портов на маршрутизаторе не нужен), через интернет (обычно потребуется перенаправление портов и публичный IPv4) или по виртуальной локальной сети/VPN (возможный обход ограничений маршрутизатора или CGNAT).

3. Установите игру и найдите серверный исполняемый файл

  1. Войдите на https://account.vintagestory.at/downloads, скачайте рекомендованный полный установщик для Windows, запустите его и выполните указания мастера. Если установщик предлагает установить компонент .NET, оставьте соответствующий флажок включённым. Для установки игры не нужно отключать антивирус или брандмауэр Windows. [3][8]
  2. Для Vintage Story 1.22 необходим .NET 10. Установщик может установить нужный компонент автоматически. Если сервер не запускается и сообщает об отсутствующей среде выполнения, скачайте .NET Desktop Runtime 10 для Windows x64 с официального сайта Microsoft. Только ради запуска игры или её Windows-сервера устанавливать SDK либо пакет ASP.NET/IIS Hosting Bundle не требуется. Проверить установленные среды выполнения можно в PowerShell:
    dotnet --list-runtimes

    В выводе ищите строку Microsoft.WindowsDesktop.App с версией 10.0.x: настольная среда выполнения также включает базовую среду .NET. Инструкции, требующие .NET 7, относятся к старым версиям игры, а не к 1.22.
  3. Откройте Проводник Windows, щёлкните по адресной строке, вставьте путь и нажмите Enter:
    %APPDATA%\Vintagestory

    Убедитесь, что рядом с обычным исполняемым файлом игры находится VintagestoryServer.exe. Эта папка содержит программу. Обычная папка данных одиночной игры — %APPDATA%\VintagestoryData — содержит миры, моды и настройки, но не исполняемые файлы. Если вы при установке вручную выбрали другой каталог, найдите VintagestoryServer.exe там и соответствующим образом скорректируйте сценарий запуска ниже.

4. Создайте отдельную папку данных и запустите сервер

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

  1. В адресной строке Проводника введите %APPDATA%, нажмите Enter и создайте папку VSserverData. Её расположение — %APPDATA%\VSserverData.
  2. Откройте Блокнот. Вставьте приведённый ниже код без строк с тройными обратными кавычками, которыми оформлен блок Markdown. Выберите «Файл → Сохранить как», в поле «Тип файла» — «Все файлы», укажите удобную папку, например Рабочий стол, и сохраните под именем Start-VintageStory-Server.bat. Проверьте, что расширение получилось именно .bat, а не .bat.txt.
    @echo off
    set "SERVER_EXE=%APPDATA%\Vintagestory\VintagestoryServer.exe"
    set "DATA_DIR=%APPDATA%\VSserverData"
    if not exist "%SERVER_EXE%" (
    echo Vintage Story server executable not found.
    pause
    exit /b 1
    )
    if not exist "%DATA_DIR%" mkdir "%DATA_DIR%"
    "%SERVER_EXE%" --dataPath="%DATA_DIR%"
    pause
  3. Дважды щёлкните Start-VintageStory-Server.bat. Откроется окно консоли, сервер создаст собственные каталоги и конфигурационные файлы, а также создаст или загрузит мир. Признак успешного запуска — сообщение примерно такого вида: «Dedicated Server now running on Port 42420 and all ips!». Не закрывайте это окно. Если игра установлена в нестандартную папку, измените в сценарии только присваивание SERVER_EXE, указав действительный путь к .exe.
  4. Для корректного завершения работы введите в консоли сервера Vintage Story следующую команду и нажмите Enter:
    /stop
  5. Откройте в Проводнике %APPDATA%\VSserverData. После первого запуска там должны появиться файл serverconfig.json и служебные папки, в частности Saves, Mods и Logs. За их расположение отвечает аргумент запуска --dataPath, а не папка, в которой лежит .bat-файл. Не удаляйте сценарий: он понадобится для повторных запусков.

Не путайте консоли. Команды, начинающиеся с /, в следующих разделах вводятся в окне сервера Vintage Story или в игровом чате при наличии прав администратора. Команды с пометками PowerShell или Командная строка выполняются непосредственно в Windows, а не в консоли Vintage Story.

5. Настройте выделенный сервер

Сначала остановите сервер. Откройте файл %APPDATA%\VSserverData\serverconfig.json в Блокноте. Перед редактированием сохраните его резервную копию и изменяйте только нужные параметры. Файл имеет формат JSON: сохраняйте кавычки, запятые, фигурные скобки и всю остальную структуру. Не заменяйте его целиком сокращёнными примерами либо примерами из вики, содержащими поясняющие комментарии. После сохранения запустите сервер заново через .bat. Для ряда настроек вместо редактирования файла можно использовать команды /serverconfig на работающем сервере.

Параметр

Рекомендуемое значение для небольшого закрытого сервера

Назначение

ServerName

Friends Survival World

Понятное название сервера

Port

42420

Сетевой порт; в этой инструкции оставляем стандартный

MaxClients

6

Максимальное число одновременно подключённых игроков, включая хозяина, если он тоже играет

AdvertiseServer

false

Не показывать сервер в общем списке публичных серверов

WhitelistMode

2

Пускать только разрешённых игроков (0 — значение по умолчанию; для выделенного сервера начиная с 1.20 это включённый белый список)

Password

null либо собственный уникальный пароль

Необязательная дополнительная защита; не используйте пароль из опубликованного примера

VerifyPlayerAuth

true

Не отключать официальную проверку учётных записей игроков

Upnp

false

Оставить выключенным при ручной настройке проброса портов

PassTimeWhenEmpty

false

Приостанавливать игровое время, когда на сервере никого нет

Ip

null

Принимать подключения через доступные сетевые интерфейсы; не указывать здесь внешний/публичный IP

Важно для версии 1.22. В некоторых старых руководствах встречается строковое значение "WhitelistMode": "default". В актуальном описании конфигурации 1.22 используются числа 0, 1, 2. Параметр OnlyWhitelisted в современных версиях уже устарел. Надёжнее установить для WhitelistMode значение 2 либо воспользоваться поддерживаемой командой сервера.

Следующие команды можно по одной вставлять в консоль работающего сервера. Они задают пример названия, ограничение по числу игроков, видимость сервера и включённый белый список:

/serverconfig name Friends Survival World
/serverconfig maxclients 6
/serverconfig advertise false
/serverconfig WhitelistMode on

Для необязательного пароля используйте команду /serverconfig password YOUR_OWN_PRIVATE_PASSWORD, заменив написанный заглавными буквами фрагмент собственным длинным уникальным паролем без пробелов. Это секретная информация: не публикуйте пароль и не используйте его в других сервисах. Другой способ — изменить существующее поле Password в JSON-файле при выключенном сервере, заключив пароль в двойные кавычки. Команда /serverconfig nopassword отменяет проверку пароля. Для небольшого закрытого сервера белый список важнее, чем один лишь пароль.

6. Разрешите подключения в брандмауэре Защитника Windows

Для сетевой игры необходимо разрешить входящие подключения TCP и UDP по порту 42420. Желательно ограничить правило конкретным исполняемым файлом сервера и доверенным сетевым профилем Windows. Открыть только TCP недостаточно для Vintage Story 1.20 и новее. Полностью выключать брандмауэр не нужно.

Способ А — через интерфейс Windows. Нажмите Win+R, введите wf.msc и нажмите Enter. В окне «Брандмауэр Защитника Windows в режиме повышенной безопасности» откройте «Правила для входящих подключений → Создать правило». Выберите тип «Для порта», протокол TCP, пункт «Определённые локальные порты» и значение 42420, затем «Разрешить подключение» и профиль «Частный»; дайте правилу понятное имя. Создайте аналогичное правило для UDP. Так вы ограничите доступ нужным портом. Чтобы дополнительно ограничить правило конкретным исполняемым файлом, используйте приведённый ниже PowerShell либо тип правила «Настраиваемые» с выбором программы и порта. Убедитесь, что активному домашнему подключению назначен профиль «Частный». Назначайте его только действительно доверенной сети: «Параметры → Сеть и Интернет → Ethernet или Wi-Fi → текущее подключение → Тип сетевого профиля».

Способ Б — готовые команды PowerShell с привязкой к файлу сервера. Запустите Windows PowerShell от имени администратора и вставьте весь блок. Он рассчитан на стандартную папку установки игры и порт 42420:

$serverExe = Join-Path $env:APPDATA 'Vintagestory\VintagestoryServer.exe'
if (-not (Test-Path -LiteralPath $serverExe)) { throw 'Vintage Story server executable was not found.' }
New-NetFirewallRule -DisplayName 'Vintage Story Server TCP 42420' -Direction Inbound -Action Allow -Profile Private -Program $serverExe -Protocol TCP -LocalPort 42420
New-NetFirewallRule -DisplayName 'Vintage Story Server UDP 42420' -Direction Inbound -Action Allow -Profile Private -Program $serverExe -Protocol UDP -LocalPort 42420

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

7. Обеспечьте доступ из интернета (необязательно)

Пропустите этот раздел, если все играют в одной локальной сети либо используют правильно настроенную виртуальную сеть/VPN. Дальнейшие шаги относятся к ситуации, когда друзья подключаются к домашнему серверу через общедоступный интернет.

  1. Запустите выделенный сервер. На компьютере, где он работает, откройте PowerShell или Командную строку и введите:
    ipconfig

    Найдите поле «IPv4-адрес» у реально используемого адаптера, например Ethernet или Wi-Fi. Пример: 192.168.1.50. Это внутренний адрес компьютера в локальной сети, а не его адрес в интернете. Найдите также «Основной шлюз» (часто 192.168.1.1): обычно это адрес панели управления маршрутизатором.
  2. Откройте адрес основного шлюза в браузере. Войдите с учётными данными администратора маршрутизатора. В разделе Address Reservation / DHCP Reservation (резервирование адресов DHCP) закрепите за сетевым адаптером компьютера его текущий локальный IP. Иначе при смене адреса перенаправление портов перестанет работать. [13]
  3. Найдите в интерфейсе маршрутизатора раздел Port Forwarding, Virtual Server либо NAT Forwarding («Переадресация портов», «Виртуальный сервер»). Создайте правило со следующими параметрами; названия полей зависят от модели устройства:

    Поле маршрутизатора

    Значение

    Название / описание

    Vintage Story

    Внешний порт (WAN)

    42420

    Внутренний порт (LAN)

    42420

    Внутренний IP / устройство назначения

    IPv4-адрес компьютера с сервером, найденный через ipconfig

    Протокол

    TCP и UDP (либо два отдельных правила: одно TCP и одно UDP)

    Состояние

    Включено

    Сохраните и примените настройки. Не указывайте вместо IP компьютера адрес самого маршрутизатора. Не включайте режим DMZ и не перенаправляйте все порты. Начиная с версии Vintage Story 1.20 нужны оба протокола.
  4. На странице состояния маршрутизатора найдите WAN/Internet IPv4 и сравните его с публичным IP, который показывает надёжный сервис по запросу «мой IP-адрес». Если WAN-адрес частный (10.x.x.x, 192.168.x.x, 172.16–31.x.x) либо относится к диапазону CGNAT (от 100.64.0.0 до 100.127.255.255), одного лишь проброса портов на домашнем маршрутизаторе недостаточно для доступа из интернета. Похожая проблема возникает при двойном NAT, когда перед вашим маршрутизатором стоит ещё один маршрутизатор провайдера или домашней сети. Спросите у провайдера о публичном IPv4 или настройке вышестоящего оборудования либо используйте доверенную виртуальную локальную сеть/VPN.
  5. Друзьям за пределами домашней сети передавайте публичный IPv4 или правильно настроенное DNS-имя, а не адрес вида 192.168.... Динамический публичный IP может меняться: в этом случае потребуется сообщить новый адрес либо использовать динамический DNS. Не публикуйте домашний IP вместе с лишними персональными сведениями. Проверяйте внешнее подключение с другого интернет-соединения, например попросите друга зайти через мобильный интернет; одного теста из собственной сети мало, потому что некоторые маршрутизаторы не поддерживают обращение к своему публичному адресу изнутри (NAT loopback).

Необязательный вариант с UPnP. Если маршрутизатор поддерживает UPnP, сервер может попытаться создать правила автоматически по команде /serverconfig upnp 1, введённой в консоли сервера. Автоматическая настройка иногда не срабатывает и может создавать нежелательные сопоставления портов. Для постоянно доступного сервера ручные, контролируемые администратором правила обычно предсказуемее. Не создавайте без необходимости одновременно дублирующие правила вручную и через UPnP.

8. Подключайтесь с компьютера хозяина, из локальной сети или через интернет

Запустите .bat-сценарий и дождитесь сообщения о готовности сервера. После этого откройте обычный клиент Vintage Story (на том же ПК или на другой машине с Windows). Выберите Multiplayer («Сетевая игра») → Add New Server («Добавить сервер»). Укажите произвольное понятное название, нужный адрес сервера и пароль, если он задан. Нажмите Create/Save («Создать/Сохранить»), после чего подключитесь.

Откуда подключается игрок

Что вводить в качестве адреса сервера

С того же компьютера, на котором запущен выделенный сервер

127.0.0.1:42420

С другого компьютера в той же локальной сети

Локальный IPv4 сервера из ipconfig, например 192.168.1.50:42420

Из интернета

Публичный IPv4 сервера; при необходимости допишите :42420

Через виртуальную локальную сеть/VPN

IPv4-адрес сервера в VPN; учитывайте правила доступа этой VPN

42420 — стандартный порт, поэтому клиент часто принимает адрес и без суффикса :42420. Если порт меняли, его нужно указать явно. Когда сервер и клиент работают на одном ПК, хозяину удобнее подключаться к 127.0.0.1, а не к публичному IP. У участников должны быть совместимые версии игры. При подключении сервер может предложить автоматически скачать подходящие серверные и универсальные моды.

Простая проверка TCP-подключения. Пока сервер работает, выполните на компьютере хозяина в Windows PowerShell:

Test-NetConnection -ComputerName 127.0.0.1 -Port 42420

Строка TcpTestSucceeded : True означает, что локальный TCP-порт доступен. Аналогичный тест можно выполнить с другого компьютера локальной сети, подставив вместо 127.0.0.1 внутренний IP сервера. Учтите, что команда проверяет только TCP, а не UDP, вход в игру, наличие игрока в белом списке или качество самой игровой сессии. Проверка порта извне также не заменяет реального подключения игровым клиентом из другой сети.

9. Назначьте себя администратором и ограничьте доступ

В современных версиях у выделенных серверов белый список включён по умолчанию. Через консоль сервера добавьте собственную учётную запись Vintage Story в белый список и назначьте ей роль администратора. В приведённых ниже шаблонах команд перед выполнением замените YourExactGameName на точное имя своего игрового аккаунта. Квадратные или угловые скобки, встречающиеся в описаниях синтаксиса команд, вводить не нужно.

/player YourExactGameName whitelist on
/op YourExactGameName

Для каждого доверенного друга используйте /player TheirExactGameName whitelist on, заменив TheirExactGameName его точным именем. Команду можно выполнять в серверной консоли и тогда, когда друг ещё не вошёл на сервер. Не выдавайте /op обычным игрокам: эта команда назначает роль admin. Для закрытого сервера сохраните VerifyPlayerAuth равным true, а AdvertiseServer — false.

Полезные команды, которые нужно вводить в консоли сервера Vintage Story, по одной в строке:

/list clients
/stats
/autosavenow
/genbackup

  • /list clients — список подключённых игроков.
  • /stats — статистика работы сервера, в том числе показатели производительности.
  • /autosavenow — принудительное сохранение игрового мира.
  • /genbackup — создание полной резервной копии сохранения мира в каталоге резервных копий, используемом игрой. Для этого останавливать сервер не требуется. Файл настроек и моды сохраняйте отдельно. Прежде чем вручную копировать всю серверную папку, выполните /stop и дождитесь штатного завершения процесса.

10. Перенесите существующий мир и установите моды

Перенос одиночного мира. Сначала выйдите из одиночной игры и остановите выделенный сервер командой /stop. Обычно сохранения Windows-клиента находятся в %APPDATA%\VintagestoryData\Saves, а файлы миров имеют расширение .vcdbs. Предварительно сохраните резервную копию текущего серверного мира. Скопируйте, а не переместите, нужный .vcdbs в папку %APPDATA%\VSserverData\Saves. Затем в serverconfig.json найдите поле WorldConfig → SaveFileLocation: оно определяет, какой файл мира сервер открывает при запуске. Можно либо переименовать скопированный файл в имя, уже указанное в настройке (часто default.vcdbs), либо изменить настройку, задав действительный полный путь Windows к скопированному миру. При записи пути Windows внутри JSON каждый обратный слеш необходимо удвоить: это экранирование JSON, а не дополнительная папка на диске. Сохраните файл, перезапустите сервер и убедитесь, что открылся правильный мир, прежде чем удалять какие-либо резервные копии. Официальная вики также рекомендует сначала создавать мир с нужными параметрами через удобное меню настройки одиночной игры.

Установка модов. Скачивайте версии, совместимые с вашей версией игры, с официальной базы модов Vintage Story. Остановив сервер, поместите загруженные файлы модов .zip в %APPDATA%\VSserverData\Mods — обычно без распаковки — и затем перезапустите сервер. Не путайте эту папку с каталогом модов клиента %APPDATA%\VintagestoryData\Mods. При входе игрокам может быть предложена загрузка серверных и универсальных модов; чисто клиентские моды иногда требуется устанавливать локально вручную. Проверяйте совместимость и обязательно делайте резервную копию мира перед изменением большой сборки.

11. Резервные копии, обновления, производительность и доступность сервера

Резервное копирование и восстановление. Делайте копии регулярно и обязательно перед изменением мира, состава модов, настроек или версии игры. Для резервного копирования мира без остановки существует /genbackup. Периодически выполняйте /autosavenow, затем /stop, дождитесь окончания работы и скопируйте всю папку %APPDATA%\VSserverData на другой диск или в защищённое хранилище. Такая дополнительная копия сохранит в том числе настройки и установленные моды. Храните несколько предыдущих версий, а не только самую свежую. Для восстановления остановите сервер, отдельно сохраните текущее состояние, верните нужные файлы из заведомо исправной копии и запустите сервер. Никогда не заменяйте файл .vcdbs, пока работающий сервер записывает в него данные.

Обновления. Перед обновлением попросите игроков выйти, сохраните резервную копию, штатно остановите сервер и установите подходящее стабильное обновление для Windows с официальной страницы загрузок. Следите за совместимостью версий у сервера и клиентов. Серверная папка %APPDATA%\VSserverData специально вынесена за пределы каталога программы: при обновлении исполняемых файлов не следует удалять сохранённые серверные миры. После обновления проверьте моды. В серии 1.22.x выходили исправления уязвимостей сервера, поэтому для доступного из интернета сервера особенно важно использовать актуальную версию.

Производительность. Размещайте файлы мира на SSD, оставляйте запас ОЗУ для клиента и сервера и проверяйте /stats, если появились задержки. При диагностике проблем официальная вики рекомендует иметь не менее 4 ГБ свободной оперативной памяти перед запуском сервера. При перегрузке уменьшение MaxChunkRadius (например, до 10 или ниже) снижает нагрузку. Изменение TickTime примерно с 33.33 до 40 или 50 мс освобождает часть времени процессора ценой меньшей частоты игровых тиков. Меняйте эти параметры только при необходимости, проверяйте результат и сохраняйте резервную копию. Большая дальность прорисовки клиента и объёмные наборы модов могут существенно увеличить потребление памяти.

Постоянная доступность. Запуск через .bat не превращает сервер в службу Windows. Он остановится при закрытии процесса, переходе компьютера в сон, перезагрузке Windows или выходе из учётной записи, если это завершает запущенный процесс. Если достаточно автоматически запускать сервер при входе пользователя в Windows, нажмите Win+R, введите shell:startup и поместите ярлык Start-VintageStory-Server.bat в открывшуюся папку автозагрузки. Для действительно автономной работы после перезагрузок нужна корректно настроенная задача в Планировщике заданий Windows либо управляемый хостинг; сценарий запуска по входу пользователя сам по себе такой гарантии не даёт. Обязательно проверяйте поведение сервера при перезапуске и выключении системы.

12. Поиск и устранение неполадок

Проблема

Что проверить

.bat сообщает, что исполняемый файл не найден

Убедитесь, что существует %APPDATA%\Vintagestory\VintagestoryServer.exe. При другой папке установки исправьте SERVER_EXE. Проверьте, что расширение сценария — .bat, а не .bat.txt.

Окно сервера сразу закрывается или занят порт

Прочитайте сообщение, оставшееся в окне сценария. Убедитесь, что другой экземпляр сервера или одиночной игры не использует порт 42420. Сначала запускайте выделенный сервер, затем подключайтесь к нему клиентом, а не открывайте параллельно другой одиночный мир.

Ошибка об отсутствующей среде .NET

Для 1.22.x установите или восстановите .NET 10 Desktop Runtime x64 с сайта Microsoft. Упоминания .NET 7 относятся к старым версиям.

На 127.0.0.1 подключиться получается, а с другого ПК в локальной сети — нет

Проверьте внутренний IPv4 нужного сетевого адаптера, входящие правила брандмауэра и активный профиль «Частный». Убедитесь, что компьютеры находятся в одной сети, а не разделены гостевым Wi-Fi.

По локальной сети всё работает, но друзья из интернета зайти не могут

Проверьте TCP и UDP 42420 в Windows и маршрутизаторе, правильный локальный IP назначения и резервирование DHCP. Тестируйте из другой сети; проверьте публичный WAN IPv4, CGNAT и двойной NAT.

Локально выводится TcpTestSucceeded : False

Убедитесь, что сервер сообщил о готовности, в настройках указан порт 42420 и порт не занят другим процессом. Посмотрите журналы в %APPDATA%\VSserverData\Logs.

Отказ в подключении, ошибка прав или белого списка

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

Загружается другой мир или не видны установленные моды

Проверьте аргумент --dataPath в .bat, значение WorldConfig.SaveFileLocation и именно серверную папку Mods, а не каталог одиночной игры. Перед изменением файлов выключите сервер.

Версии несовместимы или моды не скачиваются

Установите совместимые стабильные версии игры, проверьте совместимость модов и просмотрите журналы сервера и клиента.

При одновременной игре нескольких исследователей сервер тормозит

Проверьте CPU/ОЗУ в Диспетчере задач Windows, команду /stats, свободное место на SSD, совместимость модов и MaxChunkRadius. Для тяжёлой сборки можно выделить отдельный компьютер с Windows.

Не открывайте RDP (Удалённый рабочий стол), общий доступ к файлам Windows, панель управления маршрутизатором или целую DMZ только ради работы игрового сервера. Устанавливайте обновления безопасности, задайте уникальный пароль администратора маршрутизатора, выдавайте игровые права admin только проверенным людям и удаляйте ненужные правила проброса портов и брандмауэра, когда перестанете размещать сервер.

13. Итоговая проверка перед приглашением игроков

  • Установлена официальная Windows-версия игры; присутствует VintagestoryServer.exe и доступна подходящая среда .NET 10 для версии 1.22.
  • Сервер запускается через Start-VintageStory-Server.bat с отдельным каталогом данных %APPDATA%\VSserverData.
  • Консоль подтверждает, что сервер слушает порт 42420.
  • Удаётся войти с того же ПК по адресу 127.0.0.1:42420 или из локальной сети по внутреннему IPv4 компьютера с сервером.
  • Осознанно настроены белый список, проверка учётных записей, лимит игроков и видимость сервера.
  • В брандмауэре Windows разрешены TCP и UDP 42420; для игры через интернет оба протокола перенаправлены на закреплённый локальный IP сервера, имеется публичный IPv4.
  • Если сервер предназначен для интернета, проверено настоящее подключение из другой сети.
  • Созданы резервные копии мира, настроек и модов; компьютер не уходит в сон, пока сервер должен работать.

Читать дальше