Перейти к содержимому

Свой сервер

Сервер на Windows

На странице релиза скачайте два файла: Node-Server-1.12.0-windows-x64.zip и Node-Server-1.12.0-windows-x64.zip.sha256.

Проверить, что архив скачался целиком, можно в PowerShell, в папке с загрузками:

Окно терминала
$zip = "Node-Server-1.12.0-windows-x64.zip"
(Get-FileHash $zip).Hash.ToLower()
(Get-Content "$zip.sha256").Split(" ")[0]

Обе строки должны совпасть. Если нет, скачайте архив ещё раз.

Распакуйте архив в отдельную папку, например C:\NodeMP, и запустите Node-Server.exe двойным щелчком. Из PowerShell то же самое:

Окно терминала
cd C:\NodeMP
.\Node-Server.exe

Окно сервера — это и его консоль: в нём видно лог и чат, туда же вводят команды (Консоль, кики и баны). Не закрывайте окно, пока сервер нужен. Если закрыть его, сервер сначала корректно остановится.

Что лежит в папке:

Что Зачем
Node-Server.exe Сам сервер.
tools/ Обфускатор клиентских скриптов и Lua 5.1 для него. На Windows настраивать ничего не нужно.
modules/ Модуль базы данных для плагинов.
examples/ Готовые ресурсы-примеры (Ресурсы).
cacert.pem Корневые сертификаты на случай, если в системе их нет. Не удаляйте.

Откройте PowerShell от имени администратора и разрешите входящие подключения на порт сервера:

Окно терминала
$port = 30814
New-NetFirewallRule -DisplayName "NodeMP TCP" -Direction Inbound `
-Protocol TCP -LocalPort $port -Action Allow
New-NetFirewallRule -DisplayName "NodeMP UDP" -Direction Inbound `
-Protocol UDP -LocalPort $port -Action Allow

Если компьютер стоит за роутером, пробросьте на него тот же порт, TCP и UDP. Проверять доступ нужно снаружи: подключение из своей же сети ничего не говорит о роутере.

Чтобы сервер поднимался сам после перезагрузки, создайте задачу в Планировщике заданий:

  1. Действие → Создать задачу.
  2. На вкладке Общие выберите Выполнять для всех пользователей.
  3. На вкладке Триггеры добавьте триггер При запуске.
  4. На вкладке Действия добавьте Запуск программы: программа C:\NodeMP\Node-Server.exe, рабочая папка C:\NodeMP.

Рабочая папка важна: от неё сервер ищет server.toml, resources/ и content/. У сервера, запущенного так, нет окна, а значит, и консоли.