Skip to content

Server download packages and docker support

13

Comments

  • VardamirVardamir Member Posts: 1
    Hi there - my NWN is rusty (but I have been doing a lot of docker work lately):

    On the dockerhub page, it mentions that the complete campaign content isn't available in the docker image. So I assume I need to mount that in somehow from my NWN installation (just talking about the standard campaign). Also in the dockerhub page, it lists three folders: modules/ hak/ tlk/

    However, I don't see these folders in my vanilla NWN installation ... so maybe I don't need to copy anything to get the standard campaign working?


    PS, I think in dockerhub you can create links to the repo with the dockerfile in it - might be handy for people to see what is going.
  • BonfireBonfire Member Posts: 3
    edited April 2018
    @Vardamir Did you get this working? I'm hoping to host the normal campaign for my friends. I tried mapping the data folder from my windows install to /nwn/data but got an error saying it was missing the executable. So i tried mapping it to /nwn/data/data but then I got an error "Could not divine nwn base data directory. Have to give up.
    Make sure you are starting the game with your working directory setto the appropriate platform directory (i.e. /bin/linux-x86)"



    edit:

    I figured out what I needed to do.

    First, need to get the game data onto the disk:

    sudo docker run -it -v ~/nwn/server/gamedata:/tmp kmallea/steamcmd \ +login mysteamusername mysteampassword mysteamguardcode \ +force_install_dir /tmp \ +app_update 704450 validate \ +quit

    Then updated my docker-compose.yml to put the data in the container and update the modulename:
    version: '2' services: nwn: image: beamdog/nwserver:latest container_name: nwn ports: - 5121:5121/udp volumes: - ~/nwn/server:/nwn/home - ~/nwn/server/gamedata/data:/nwn/data/data restart: unless-stopped environment: - NWN_PORT=5121 - NWN_MODULE=Chapter1 - NWN_SERVERNAME=My Server Name

    Is there a modulename that will do the whole campaign though? Or do I need to swtich from Chapter1 to Chapter2 etc for the rest of the game?
    Post edited by Bonfire on
  • BonfireBonfire Member Posts: 3
    In case anyone else is looking to create a campaign with the docker server, here's how I did it.


    First, need to get the game data onto the disk:

    sudo docker run -it -v ~/nwn/server/gamedata:/tmp kmallea/steamcmd \ +login mysteamusername mysteampassword mysteamguardcode \ +force_install_dir /tmp \ +app_update 704450 validate \ +quit

    Then updated my docker-compose.yml to put the data in the container and update the modulename:

    version: '2' services: nwn: image: beamdog/nwserver:latest container_name: nwn ports: - 5121:5121/udp volumes: - ~/nwn/server:/nwn/home - ~/nwn/server/gamedata/data:/nwn/data/data restart: unless-stopped environment: - NWN_PORT=5121 - NWN_MODULE=Chapter1 - NWN_SERVERNAME=My Server Name

    Is there a modulename that will do the whole campaign though? Or do I need to swtich from Chapter1 to Chapter2 etc for the rest of the game?
  • PSDuckiePSDuckie Member Posts: 1
    edited April 2018
    I'm trying to run a test module I made on my Mac's standalone server. The module is in the modules directory, and it is called Test.mod. But when I try to run the server, this is what I get:

    big-silver:macos admin$ ./nwserver-macos -module Test Neverwinter Nights Server Build:8166 Copyright BioWare Corp 1998-2004 Registering crash signal handlers. Server: Loading... Attempting to find game data. Working Directory For Game Install Is: /nwnee-dedicated-8166 Working Directory For Your Resources Is: /Users/admin/Documents/Neverwinter Nights Server: Running... Server: Loading module "Test" Server: Unable to load module Server: Exiting... Select Failure: UDP Thread Exiting...

    What am I doing wrong here, and how can I get it to actually load the module? Thanks!
  • ParonskaftParonskaft Member Posts: 2
    Hello guys! I have a problem with the nwnserver linux executable. I am trying to run the server on Debian 8 64bit environment. After installing a lot of "32bit" stuff (ia32-libs: lib32z1, lib32ncurses5, apt --add-architecture i386 and so on) when I run the ./nwnserver-linux I receive always the same error: "Segmentation fault". Can someone help me with this? Thanks in advance. Luigi.
  • SherincallSherincall Member Posts: 387
    It will have generated a crash log in your userdir - something like nwserver-crash-15212345678.log. Please post that file so we can take a look.
  • ParonskaftParonskaft Member Posts: 2

    It will have generated a crash log in your userdir - something like nwserver-crash-15212345678.log. Please post that file so we can take a look.

    Unfortunately there's no nw*.log file... :(
    By the way, if I start the binary with sudo no output is displayed.
  • SeaTacSeaTac Member Posts: 7
    edited June 2018
    I was wondering if anyone has tried to stand up a server on Google Cloud Platform? They have a free tier compute instance called f1-micro that I think meets the requirements of the linux server.

    I first tried the container optimized instance and was able to get the docker image up and running. It did have some significantly high utilization at idle that seems to come from the container optimization. I just ran the linux image for a few days without anything running and it idles at 40% initially and quickly (after less than an hour) ramps up to 100% utilization. But it was successful at running the nwn server through the docker image and I could log in. Just concerned about lag and capacity.

    I decided to try just a base f1-micro instance. It idles with nothing installed at less than 1% so that's good. I downloaded the latest version (nwnee-dedicated-8176.zip) and unzipped to $HOME/nwn. Going to $HOME/nwn/bin/linux-x86 and running ./nwserver-linux I get the following error:

    -bash: ./nwserver-linux: No such file or directory

    I did check permissions to ensure it's executable and it is:

    -rwxr-xr-x 1 user group 4770832 May 31 22:00 nwserver-linux

    I also did a file command against it to ensure it's a executable:

    nwserver-linux: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=f03a0e4306f9df5c6d733e2f5d99a2f27bd82cd3, stripped

    And everything seems correct. I do notice it's dynamically linked and I can't find the ld-linux.so.2 file on the system.

    I do just have the server package installed and not the linux client. Reading the top of the thread I do see:

    run the binary in bin/platform. It will use the same userdirectory as your client (on linux, that's ~/.local/share/Neverwinter Nights/).

    Am I missing a step? Any help is appreciated.

    Thanks.
  • charly4711charly4711 Member Posts: 3
    SeaTac said:

    ...
    $HOME/nwn/bin/linux-x86 and running ./nwserver-linux I get the following error:

    -bash: ./nwserver-linux: No such file or directory

    I did check permissions to ensure it's executable and it is:

    -rwxr-xr-x 1 user group 4770832 May 31 22:00 nwserver-linux

    I also did a file command against it to ensure it's a executable:

    nwserver-linux: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=f03a0e4306f9df5c6d733e2f5d99a2f27bd82cd3, stripped

    And everything seems correct. I do notice it's dynamically linked and I can't find the ld-linux.so.2 file on the system.
    ...

    That is the problem ... the "No such file or directory" actually is about the missing /lib/ld-linux.so.2.
    This is usually the case if you're on an amd64 machine and want to run a 32-bit program without libc6 support for i386.
    Just doing this for a non-EE non, recently, I had to install libc6-i386 and lib32gcc1 on my ubuntu box.
  • SeaTacSeaTac Member Posts: 7
    edited August 2018

    SeaTac said:

    ...

    And everything seems correct. I do notice it's dynamically linked and I can't find the ld-linux.so.2 file on the system.
    ...

    That is the problem ... the "No such file or directory" actually is about the missing /lib/ld-linux.so.2.
    This is usually the case if you're on an amd64 machine and want to run a 32-bit program without libc6 support for i386.
    Just doing this for a non-EE non, recently, I had to install libc6-i386 and lib32gcc1 on my ubuntu box.
    Thank you for the response. I wasn't sure what library I would need to install to get that included. I will give that a go.

    edit: This worked. Thanks
    Post edited by SeaTac on
  • Knight_ShieldKnight_Shield Member Posts: 54
    edited November 2018
    Can't get the latest package to run on Ubuntu 14.04 . Been running great until update.

    i386-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found

    i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found



    What fixed mine I think:

    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt-get update
    sudo apt-get install gcc-4.9 g++-4.9



    Post edited by Knight_Shield on
  • DonnieEwaldDonnieEwald Member Posts: 4
    I have a similar situation to what Knight_Shield but his solution isn't working for me. Everything runs well with 8181 but when I upgrade to 8186 I can't start the server. The message is:

    ./nwserver-linux: /usr/lib/i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./nwserver-linux)

    Any ideas or suggestions to try?
  • consist447consist447 Member Posts: 1
    edited January 2019

    I have a similar situation to what Knight_Shield but his solution isn't working for me. Everything runs well with 8181 but when I upgrade to 8186 I can't start the server. The message is:

    ./nwserver-linux: /usr/lib/i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./nwserver-linux)

    Any ideas or suggestions to try?

    For any having this problem, this is how I was able to get the executable to run in 64-bit distro. You should download the following three packages (the first two are from a suggestion a couple posts up, and the third is to solve the error this post quotes):

    apt-get install libc6-i386 lib32gcc1 lib32stdc++6
  • DonnieEwaldDonnieEwald Member Posts: 4
    Thanks for the response consist447. Unfortunately, it didn't work for me so I backed things up and started everything over from the beginning. I'm up and running with the current version now.
  • ColinKColinK Member Posts: 6
    So, I'm trying to install onto the latest Raspberry Pi with RaspEX "Ubuntu" OS when the error message "cannot execute binary file" popped up. My research tells me that means I'm hosed -- the Linux version of NWN only runs on i386 architecture, NOT on ARM.

    And I was so hoping to stack up a half dozen little Pi computers for a multiple module portals linked NWN universe....
  • StilleVandeStilleVande Member Posts: 9
    edited September 2019
    Verified on RedHat 7.7 x64 w/ Docker Community Edition.

    8186 works like a champ! I have 6 PW instances running on one Docker host w/ zero issues.

    Just built the second docker host, thinking about installing Kubernetes.
  • Knight_ShieldKnight_Shield Member Posts: 54
    I can't get the new server to load ubuntu 14.04 .What did you guys change that I might need to add to run it?
  • tfoxtfox Member Posts: 87
    I can't get the new server to load ubuntu 14.04 .What did you guys change that I might need to add to run it?

    Is the operating system and PC 64bit? that'd be the first place I look seeing as how the server and game binaries are now all 64bit.
  • Knight_ShieldKnight_Shield Member Posts: 54
    Thank you for your reply. I did put it on a 64 bit and it ran. So the nwserver did run but it did not read the nwnplayer.ini file settings. Any thoughts?
  • SherincallSherincall Member Posts: 387
    It is using settings.tml now instead of nwnplayer.ini. However, if you're running it from docker, there's an issue where settings.tml is not loaded, and you can work around it with env vars. It should be fixed soon.
  • thurgoodthurgood Member Posts: 3
    oldstable is listed as 8186 and 8193 (base version) ?
  • drillerdriller Member Posts: 17
    edited March 2020
    For build 8193.7 and greater, including the latest patch(8193.9), the GetName() function doesn't seem to be working with standard default items in the toolset. It does work if the item is custom.

    It works fine with build 8193.6.

    I would like someone to confirm before I file a bug report.

    Set this script as your OnUnAcquireItem Event.
    Dropping a standard item will return an empty string, dropping a custom item will return it's name.

    This is for the linux version,

    void main()
    {
    object oPC = GetModuleItemLostBy();
    object oItem = GetModuleItemLost();

    SendMessageToPC(oPC,"ITEM DROPPED:"+GetName(oItem));

    }
  • CZeroCZero Member Posts: 1
    So am I remiss in thinking that I can just overwrite my current files, which is from 8193.9 with the ones in the zip (example: server build 8193.5) and run the server in order for the server to run client 8193.5?
    I'm trying to let my xbox friend join by hosting an 8193.5 server. He can't see my server and I figured it was because I'm on a newer build?
  • AschentAschent Member Posts: 15
    For anyone experiencing the error (On Ubuntu):
    E: Package 'libsndio6.1' has no installation candidate
    when attempting to load your server on the Development (8193.14) Branch; please see the following steps that helped me resolve it:

    1) Download 'libsndio6.1.so': HERE

    2) Take this file and drop it in:
    /usr/lib

    3) Run server and the error should no longer persist.

    Thank you to Varenx (on Discord) for the help troubleshooting the issue. Hopefully this assists anyone else hoping to test the Dev nwserver.
  • meaglynmeaglyn Member Posts: 151
    edited August 2020
    @niv, any chance you could use a less bleeding edge build system? 8193.13 worked on my opensuse 15.1 system fine. 8193.14 doesn't (I linked around the libsndio6.1 problem).

    ./nwserver-linux: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by ./nwserver-linux)

    This is one probably requires an OS upgrade. Are you really using features that require a newer glibc?

    Edit: Actually it's not even fixable with an OS upgrade since 15.2 is still on 2.26...

    Edit2: It looks like libm.so works independently enough from the rest of glibc to be preloaded. At least that makes it run hopefully it'll stay up...

    Thanks,
    meaglyn
    Post edited by meaglyn on
  • RinehardtRinehardt Member Posts: 7
    I'm running an older version of Ubuntu Server and I had the same issue with it missing 'libsndio.so.6.1', but after downloading it placing it in the directory, it then said it couldn't find 'libasound.so.2'. Determined to do it the quick, hacky way rather than fix the broken dependencies, I found the file here. After extracting it and placing it in /usr/lib, everything seems to be working.
  • nivniv Member, Moderator, Developer Posts: 410
    If you are using the game download of 20.1, run a dedicated server off it, and see issues when hosting a NWSync-enabled game where the server kicks players off with "HAK files missing", please use this download instead. That will address the mentioned issue.
  • Untold_TalesUntold_Tales Member Posts: 4
    I run my server on Linux with Docker and NWNX:EE. How would I send a message via the server command "say" to all my players? Thanks a lot for your help!
  • RiceyRicey Member Posts: 9
    @niv quick question.. my user has a server and wants to add a settings flag found in settings.tml but isn't in the supported NWN_ env vars for the docker container. I tried changing the settings.tml in /nwn/home docker volume but the setting didn't change. Is this expected and if so how do we pass other vars to the server?

    Thanks
  • echooechoo Member Posts: 43
    @niv Can't DL the newest version because nwnx.io looks messed up. Something to do with SSL maybe.
Sign In or Register to comment.