У Neverwinter Nights: Enhanced Edition є виділений сервер (nwserver-linux у Linux, nwserver.exe у Windows), який запускає вибраний у командному рядку модуль. У Beamdog немає єдиного посібника: тут зіставлені форуми Beamdog і репозиторій NWNX:EE, непідтверджене позначено. Потрібно близько 20 хвилин.
Покрокове встановлення
Отримайте файли сервера: папку гри (Steam/GOG) або пакет виділеного сервера Beamdog (анонсується на їхніх форумах).
Помістіть модуль .mod (і хаки/tlk, якщо є) у користувацький каталог сервера.
Створіть рядок запуску інструментом «Командний рядок nwserver».
Запустіть nwserver із -module, -port, -maxclients, -dmpassword і -publicserver.
Перевірте локально: підключіть клієнт гри до 127.0.0.1 (Мультиплеєр > Пряме підключення).
Відкрийте UDP-порт сервера (за домовленістю 5121) у файрволі, роутері та в хостера.
Налаштуйте службу (systemd або планувальник) і резервне копіювання модуля та персонажів.
Для плагінів SQL/Redis та ін. додайте NWNX:EE (Linux або Docker).
Додайте сервер на game-rank.com/jeux/neverwinter-nights.
Вимоги
- ОС: 64-бітний Windows або Linux (бінарник nwserver-linux); для macOS є nwserver-macos.
- Мінімальне залізо офіційно не задокументоване; простий модуль вміщується на невеликому VPS (1 ядро, 1 ГБ) — неофіційна оцінка.
- Для запуску сервера ключ CD не потрібен, але гравцям для входу потрібна гра (форуми Beamdog). Рекомендується виділений IPv4 із прокиданням портів.
Локальне встановлення (Windows)
Якщо гру встановлено, nwserver.exe лежить у папці bin (підпапка платформи). Запустіть його з параметрами; модуль має бути в папці modules користувацького каталогу (-userdirectory змінює його).
cd /d "C:\Program Files (x86)\Steam\steamapps\common\Neverwinter Nights\bin\win32"
nwserver.exe -module MyModule -servername "My NWN server" -port 5121 -maxclients 32 -dmpassword ChangeMe! -publicserver 1Встановлення на Linux VPS (Ubuntu/Debian)
Створіть не-root користувача, скопіюйте туди файли Linux-сервера (пакет Beamdog) і запустіть nwserver-linux. Підтвердити офіційний застосунок SteamCMD для виділеного сервера не вдалося: використовуйте серверний пакет, анонсований Beamdog на форумах. У Docker образи beamdog/nwserver позначені як застарілі; альтернатива спільноти — urothis/nwserver.
sudo adduser --disabled-password --gecos "" nwn
sudo -iu nwn
# copiez les fichiers serveur Linux dans ~/nwserver / copy the Linux server files to ~/nwserver
cd ~/nwserver
chmod +x nwserver-linux
./nwserver-linux -module MyModule -servername "My NWN server" -port 5121 -maxclients 32 -dmpassword ChangeMe! -publicserver 1 -quietПорти для відкриття
Порт задається параметром -port. За форумами Beamdog для хостингу потрібно прокинути UDP 5121. На домашньому роутері прокиньте порт (NAT) на локальний IP; в OVH, Hetzner, Scaleway відкрийте його й у файрволі / security group. Перевіряйте із зовнішньої мережі.
- 5121/UDP — гра (звичайне значення; змінюється через -port).
Файрвол Linux (ufw)
sudo ufw allow OpenSSH
sudo ufw allow 5121/udp
sudo ufw enable
sudo ufw statusБрандмауер Windows (netsh)
netsh advfirewall firewall add rule name="NWN UDP 5121" dir=in action=allow protocol=UDP localport=5121Служба systemd (Linux)
З параметром -quiet nwserver працює у фоні без консолі, що підходить для systemd. Файл /etc/systemd/system/nwn.service:
[Unit]
Description=Neverwinter Nights server
After=network-online.target
Wants=network-online.target
[Service]
User=nwn
WorkingDirectory=/home/nwn/nwserver
ExecStart=/home/nwn/nwserver/nwserver-linux -module MyModule -servername "My NWN server" -port 5121 -maxclients 32 -dmpassword ChangeMe! -publicserver 1 -quiet
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.targetАвтозапуск у Windows
Збережіть команду в C:\nwn\start.cmd (cd у папку bin, потім nwserver.exe ...) і заплануйте її:
schtasks /create /tn "NWN Server" /tr "C:\nwn\start.cmd" /sc onstart /ru SYSTEMОновлення, бекапи та перезапуски
Оновлюйте сервер разом із грою (версії сервера й клієнта мають збігатися), а при NWNX:EE імпортуйте NWScript.zip нової версії та перекомпілюйте модуль. Резервуйте модуль, хаки/tlk і за -servervault 1 папку servervault. -reloadwhenempty 1 перезавантажує модуль, коли сервер порожній; службу можна перезапускати й через cron.
# Sauvegarde / backup (cron : 0 4 * * *)
tar czf ~/nwn-backup-$(date +%F).tar.gz -C ~ nwserver
# Redémarrage planifié / scheduled restart (cron root : 0 5 * * *)
systemctl restart nwnЯк заявити про сервер
З -publicserver 1 сервер з'являється у списку «Мультиплеєр» гри та в браузері спільноти NWMaster (nwmaster.beamdog.net), де видно модуль, гравців і адресу. Додайте його також на game-rank.com/jeux/neverwinter-nights.
Усунення несправностей
- Модуль не завантажується: невірна назва в -module (без розширення .mod) або файлу немає в папці modules.
- Сервера немає у списку: додайте -publicserver 1 і відкрийте UDP 5121 (NAT/файрвол).
- Гравців відхиляє через різницю версій: узгодьте версії сервера й клієнта.
- «Permission denied» у Linux: зробіть nwserver-linux виконуваним (chmod +x) і запускайте від власника файлів.
- Помилка після оновлення NWNX:EE: заново імпортуйте NWScript.zip і перекомпілюйте; для подробиць задайте NWNX_CORE_LOG_LEVEL=7.
Поширені запитання
- Чи є файл конфігурації сервера?
- Основні налаштування задаються параметрами командного рядка. У гри є й файл nwnplayer.ini (форуми згадують його для імені чи пароля DM), але його ключі офіційно не задокументовані: інструмент обмежується командним рядком.
- Який порт використовувати?
- UDP 5121 — звичайне значення з форумів Beamdog. За потреби змінюйте через -port, відкриваючи той самий номер.
- Чи можна використовувати Docker?
- Так, особливо з NWNX:EE (образ nwnxee/unified). Старі образи beamdog/nwserver позначені застарілими; альтернатива спільноти — urothis/nwserver.
- Чи потрібно володіти грою, щоб хостити?
- За форумами, для запуску сервера ключ CD не потрібен, але гравцям для підключення потрібна дійсна копія. Актуальні умови серверного пакета уточнюйте в Beamdog.
