Git Product home page Git Product logo

Comments (10)

mtijanic avatar mtijanic commented on July 27, 2024

That error means that the NWNX_SQL build you're using was not built with MySQL support.

If you built it yourself, this probably means you're missing the dev headers for mysql, and the build skipped it; you'll have gotten a warning at buildtime. Try installing libmysqlclient-dev:i386 (note the 32bit suffix) and rebuilding. Or maybe download the binaries from the CI.

As for the script request, I use this one: https://gist.github.com/mtijanic/50b6c70a5c1088fbd74e351abcd13e01

from unified.

burmashave avatar burmashave commented on July 27, 2024

Thanks, that's very helpful. So I tried rebuilding after installing libmysqlclient-dev:i386. I can now start the server without errors using with the Core and SQL .so files.

Neverwinter Nights Server
Build:8156
Copyright BioWare Corp 1998-2004
Registering crash signal handlers.

Server: Loading...
Working Directory For Game Install Is: 
Working Directory For Your Resources Is: /home/user/.local/share/Neverwinter Nights
I [11:07:27] NWNX_Core: Server is running version 8156.
I [11:07:27] NWNX_Core: Loading plugins from: .
I [11:07:27] NWNX_SQL: Connecting to type MYSQL
I [11:07:27] NWNX_SQL: Connection info:  host=localhost username=root
I [11:07:27] NWNX_Core: Loaded plugin 0 (SQL) v1 by Liareth.
Server: Running...

Unfortunately when I try to load a bare-bones module it won't load:

Server: Loading module "testmod"..
Server: Unable to load module
Server: Exiting...
I [11:07:27] NWNX_Core: Unloaded plugin 0 (SQL).

... and when I try to load my actual module I experience a hard crash:

=== Backtrace
./nwserver-linux(+0x394990)[0x803f1990]
./nwserver-linux(+0x3944a0)[0x803f14a0]
./nwserver-linux(+0x394a31)[0x803f1a31]
[0xb77a8cf0]
./nwserver-linux(+0x428e3)[0x8009f8e3]
./nwserver-linux(+0x43083)[0x800a0083]
./nwserver-linux(+0x642a2)[0x800c12a2]
./nwserver-linux(+0x644fc)[0x800c14fc]
./nwserver-linux(+0x7309e)[0x800d009e]
./nwserver-linux(+0x62a7e)[0x800bfa7e]
./nwserver-linux(+0x5fa8e)[0x800bca8e]
./nwserver-linux(+0xe4159)[0x80141159]
./nwserver-linux(+0xed1a2)[0x8014a1a2]
./nwserver-linux(+0x1ce29f)[0x8022b29f]
./nwserver-linux(+0xca046)[0x80127046]
./NWNX_Core.so(_ZN7NWNXLib8Services9HooksImpl23HookLandingHolderSharedINS_7Hooking17CallingConvention8ThisCallEE11HookLandingILj825648EiPNS_3API21CServerExoAppInternalEJEEET0_T1_DpT2_+0x45)[0xb762678e]
./nwserver-linux(+0xb2acd)[0x8010facd]
./nwserver-linux(+0x28999)[0x80085999]
./nwserver-linux(+0x2e31f)[0x8008b31f]
./nwserver-linux(+0x249fd)[0x800819fd]

Maybe I'm missing some other libraries? I'm running gcc 6.3 - I suppose I'll try upgrading that next. I'll also try the binaries from CI, but I have a really stupid question about that: how do you download them from https://circleci.com/gh/nwnxee/unified? I've clicked on the various builds listed there but it isn't obvious where the actual binaries are, or how to download them...

from unified.

burmashave avatar burmashave commented on July 27, 2024
  1. Updated gcc/g++ to 7.1 to eliminate version as a factor. Didn't help: while I can start the server and connect to MySQL, it fails to open any module I've made (with the same base version of the game):
I [17:40:02] NWNX_Core: Server is running version 8158.
I [17:40:02] NWNX_Core: Loading plugins from: .
I [17:40:02] NWNX_SQL: Connecting to type MYSQL
I [17:40:02] NWNX_SQL: Connection info:  host=localhost username=root
I [17:40:02] NWNX_Core: Loaded plugin 0 (SQL) v1 by Liareth.
Server: Running...

module testmod
Server: Loading module "testmod"..
Server: Unable to load module
  1. Decided to try to get binaries from CircleCI but could not find them anywhere on the site. Finally realized I had to be logged in, and once logged in, discovered them in the Artifacts tab.
  2. Using the binaries, I now get complaints about something called libmariadbclient:
 [19:39:01] NWNX_Core: Server is running version 8158.
I [19:39:01] NWNX_Core: Loading plugins from: .
E [19:39:01] NWNX_Core: Failed to load plugin (NWNX_SQL.so) because 'Plugin failed to load: libmariadbclient.so.18: cannot open shared object file: No such file or directory'.
F [19:39:01] NWNX_Core: The server encountered a fatal error 'Plugin failed to load: libmariadbclient.so.18: cannot open shared object file: No such file or directory' during setup and must now terminate.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Plugin failed to load: libmariadbclient.so.18: cannot open shared object file: No such file or directory
We just crashed hard. :( Sorry about that. But you can help us fix this! Please consider reporting this crash at http://redmine.beamdog.com with the relevant information attached.
  1. Taking a shot in the dark, I try sudo apt-get install libmariadb-client-lgpl-dev. Made no difference, same error. Anything stand out here?
=== Crash
What you see below is debug info that will help us fix a crash you have
encountered.  Please create a new public ticket for NWN on

  http://redmine.beamdog.com

and attach all of it. This will help us figure out what went wrong.
We can fix issues best when you include all relevant info that led to
this crash so we can reproduce it - the more the better.

Thank you.
=== Props
target = nwserver
time = 1518235597
exception = 6
g_sBuildNumber = 8158
g_sVersionNumber = 74
&GenericCrashHandler = 0x8045f850
=== Backtrace
./nwserver-linux(+0x398270)[0x80460270]
./nwserver-linux(+0x397d80)[0x8045fd80]
./nwserver-linux(+0x398311)[0x80460311]
[0xb77cacf0]
[0xb77cace5]
/lib/i386-linux-gnu/libc.so.6(gsignal+0x39)[0xb7156ea9]
/lib/i386-linux-gnu/libc.so.6(abort+0x157)[0xb7158407]
/usr/lib/i386-linux-gnu/libstdc++.so.6(_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x132)[0xb73e51e2]
/usr/lib/i386-linux-gnu/libstdc++.so.6(+0x72864)[0xb73e2864]
/usr/lib/i386-linux-gnu/libstdc++.so.6(+0x728dd)[0xb73e28dd]
./NWNX_Core.so(_ZN7NWNXLib8Services8LogProxy5FatalIJPKcEEEvS4_DpT_+0x91)[0xb7634751]
./NWNX_Core.so(_ZN4Core8NWNXCore19CreateServerHandlerEN7NWNXLib8Services5Hooks8CallTypeEPNS1_3API11CAppManagerE+0x87)[0xb76339db]
./NWNX_Core.so(_ZN7NWNXLib8Services9HooksImpl23HookLandingHolderSharedINS_7Hooking17CallingConvention8ThisCallEE11HookLandingILj162720EvPNS_3API11CAppManagerEJEEET0_T1_DpT2_+0x6c)[0xb7633a58]
./nwserver-linux(+0x24020)[0x800ec020]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf7)[0xb7143637]
./nwserver-linux(+0x277cd)[0x800ef7cd]
=== File: /proc/self/status
Name:	nwserver-linux
Umask:	0002
State:	R (running)
Tgid:	19546
Ngid:	0
Pid:	19546
PPid:	19545
TracerPid:	0
Uid:	1000	1000	1000	1000
Gid:	1000	1000	1000	1000
FDSize:	32
Groups:	4 24 27 30 46 113 128 1000 
NStgid:	19546
NSpid:	19546
NSpgid:	19545
NSsid:	15379
VmPeak:	  128888 kB
VmSize:	  128604 kB
VmLck:	       0 kB
VmPin:	       0 kB
VmHWM:	    8284 kB
VmRSS:	    8212 kB
RssAnon:	    2556 kB
RssFile:	    5656 kB
RssShmem:	       0 kB
VmData:	  116796 kB
VmStk:	     132 kB
VmExe:	    4540 kB
VmLib:	    7016 kB
VmPTE:	      60 kB
VmPMD:	      12 kB
VmSwap:	       0 kB
HugetlbPages:	       0 kB
Threads:	4
SigQ:	0/64455
SigPnd:	0000000000000000
ShdPnd:	0000000000000000
SigBlk:	0000000000000020
SigIgn:	0000000000000000
SigCgt:	00000001800044a2
CapInh:	0000000000000000
CapPrm:	0000000000000000
CapEff:	0000000000000000
CapBnd:	0000003fffffffff
CapAmb:	0000000000000000
NoNewPrivs:	0
Seccomp:	0
Cpus_allowed:	ff
Cpus_allowed_list:	0-7
Mems_allowed:	1
Mems_allowed_list:	0
voluntary_ctxt_switches:	1
nonvoluntary_ctxt_switches:	26
=== File: /proc/self/maps
800c8000-80537000 r-xp 00000000 08:01 1445302    /opt/nwn/nwserver-linux
80538000-8053b000 r--p 0046f000 08:01 1445302    /opt/nwn/nwserver-linux
8053b000-80540000 rw-p 00472000 08:01 1445302    /opt/nwn/nwserver-linux
80540000-85dc4000 rw-p 00000000 00:00 0 
863c2000-863c6000 rw-p 00000000 00:00 0          [heap]
863c6000-863c7000 rwxp 00000000 00:00 0          [heap]
863c7000-86403000 rw-p 00000000 00:00 0          [heap]
86403000-86405000 rwxp 00000000 00:00 0          [heap]
86405000-86423000 rw-p 00000000 00:00 0          [heap]
b57c0000-b57d4000 r-xp 00000000 08:01 1836693    /lib/i386-linux-gnu/libresolv-2.23.so
b57d4000-b57d5000 ---p 00014000 08:01 1836693    /lib/i386-linux-gnu/libresolv-2.23.so
b57d5000-b57d6000 r--p 00014000 08:01 1836693    /lib/i386-linux-gnu/libresolv-2.23.so
b57d6000-b57d7000 rw-p 00015000 08:01 1836693    /lib/i386-linux-gnu/libresolv-2.23.so
b57d7000-b57d9000 rw-p 00000000 00:00 0 
b57d9000-b57de000 r-xp 00000000 08:01 1836638    /lib/i386-linux-gnu/libnss_dns-2.23.so
b57de000-b57df000 r--p 00004000 08:01 1836638    /lib/i386-linux-gnu/libnss_dns-2.23.so
b57df000-b57e0000 rw-p 00005000 08:01 1836638    /lib/i386-linux-gnu/libnss_dns-2.23.so
b57e0000-b57e2000 r-xp 00000000 08:01 1836646    /lib/i386-linux-gnu/libnss_mdns4_minimal.so.2
b57e2000-b57e3000 r--p 00001000 08:01 1836646    /lib/i386-linux-gnu/libnss_mdns4_minimal.so.2
b57e3000-b57e4000 rw-p 00002000 08:01 1836646    /lib/i386-linux-gnu/libnss_mdns4_minimal.so.2
b57e4000-b57e5000 ---p 00000000 00:00 0 
b57e5000-b60e1000 rw-p 00000000 00:00 0 
b60e1000-b60ec000 r-xp 00000000 08:01 1836640    /lib/i386-linux-gnu/libnss_files-2.23.so
b60ec000-b60ed000 r--p 0000a000 08:01 1836640    /lib/i386-linux-gnu/libnss_files-2.23.so
b60ed000-b60ee000 rw-p 0000b000 08:01 1836640    /lib/i386-linux-gnu/libnss_files-2.23.so
b60ee000-b60f4000 rw-p 00000000 00:00 0 
b60f4000-b60ff000 r-xp 00000000 08:01 1836650    /lib/i386-linux-gnu/libnss_nis-2.23.so
b60ff000-b6100000 r--p 0000a000 08:01 1836650    /lib/i386-linux-gnu/libnss_nis-2.23.so
b6100000-b6101000 rw-p 0000b000 08:01 1836650    /lib/i386-linux-gnu/libnss_nis-2.23.so
b6101000-b6118000 r-xp 00000000 08:01 1836634    /lib/i386-linux-gnu/libnsl-2.23.so
b6118000-b6119000 r--p 00016000 08:01 1836634    /lib/i386-linux-gnu/libnsl-2.23.so
b6119000-b611a000 rw-p 00017000 08:01 1836634    /lib/i386-linux-gnu/libnsl-2.23.so
b611a000-b611c000 rw-p 00000000 00:00 0 
b611c000-b6124000 r-xp 00000000 08:01 1836636    /lib/i386-linux-gnu/libnss_compat-2.23.so
b6124000-b6125000 r--p 00007000 08:01 1836636    /lib/i386-linux-gnu/libnss_compat-2.23.so
b6125000-b6126000 rw-p 00008000 08:01 1836636    /lib/i386-linux-gnu/libnss_compat-2.23.so
b6126000-b6127000 ---p 00000000 00:00 0 
b6127000-b6927000 rw-p 00000000 00:00 0 
b6927000-b6928000 ---p 00000000 00:00 0 
b6928000-b712b000 rw-p 00000000 00:00 0 
b712b000-b72db000 r-xp 00000000 08:01 1836543    /lib/i386-linux-gnu/libc-2.23.so
b72db000-b72dd000 r--p 001af000 08:01 1836543    /lib/i386-linux-gnu/libc-2.23.so
b72dd000-b72de000 rw-p 001b1000 08:01 1836543    /lib/i386-linux-gnu/libc-2.23.so
b72de000-b72e1000 rw-p 00000000 00:00 0 
b72e1000-b72fa000 r-xp 00000000 08:01 1836687    /lib/i386-linux-gnu/libpthread-2.23.so
b72fa000-b72fb000 r--p 00018000 08:01 1836687    /lib/i386-linux-gnu/libpthread-2.23.so
b72fb000-b72fc000 rw-p 00019000 08:01 1836687    /lib/i386-linux-gnu/libpthread-2.23.so
b72fc000-b72fe000 rw-p 00000000 00:00 0 
b72fe000-b7319000 r-xp 00000000 08:01 1835034    /lib/i386-linux-gnu/libgcc_s.so.1
b7319000-b731a000 r--p 0001a000 08:01 1835034    /lib/i386-linux-gnu/libgcc_s.so.1
b731a000-b731b000 rw-p 0001b000 08:01 1835034    /lib/i386-linux-gnu/libgcc_s.so.1
b731b000-b736e000 r-xp 00000000 08:01 1836613    /lib/i386-linux-gnu/libm-2.23.so
b736e000-b736f000 r--p 00052000 08:01 1836613    /lib/i386-linux-gnu/libm-2.23.so
b736f000-b7370000 rw-p 00053000 08:01 1836613    /lib/i386-linux-gnu/libm-2.23.so
b7370000-b74e9000 r-xp 00000000 08:01 33         /usr/lib/i386-linux-gnu/libstdc++.so.6.0.24
b74e9000-b74ef000 r--p 00178000 08:01 33         /usr/lib/i386-linux-gnu/libstdc++.so.6.0.24
b74ef000-b74f0000 rw-p 0017e000 08:01 33         /usr/lib/i386-linux-gnu/libstdc++.so.6.0.24
b74f0000-b74f3000 rw-p 00000000 00:00 0 
b74f3000-b74f6000 r-xp 00000000 08:01 1836567    /lib/i386-linux-gnu/libdl-2.23.so
b74f6000-b74f7000 r--p 00002000 08:01 1836567    /lib/i386-linux-gnu/libdl-2.23.so
b74f7000-b74f8000 rw-p 00003000 08:01 1836567    /lib/i386-linux-gnu/libdl-2.23.so
b750f000-b77c2000 r-xp 00000000 08:01 1445318    /opt/nwn/NWNX_Core.so
b77c2000-b77c3000 r--p 002b2000 08:01 1445318    /opt/nwn/NWNX_Core.so
b77c3000-b77c6000 rw-p 002b3000 08:01 1445318    /opt/nwn/NWNX_Core.so
b77c6000-b77c8000 rw-p 00000000 00:00 0 
b77c8000-b77ca000 r--p 00000000 00:00 0          [vvar]
b77ca000-b77cc000 r-xp 00000000 00:00 0          [vdso]
b77cc000-b77ee000 r-xp 00000000 08:01 1836515    /lib/i386-linux-gnu/ld-2.23.so
b77ee000-b77ef000 rw-p 00000000 00:00 0 
b77ef000-b77f0000 r--p 00022000 08:01 1836515    /lib/i386-linux-gnu/ld-2.23.so
b77f0000-b77f1000 rw-p 00023000 08:01 1836515    /lib/i386-linux-gnu/ld-2.23.so
bfa36000-bfa57000 rw-p 00000000 00:00 0          [stack]
=== End

from unified.

zunath avatar zunath commented on July 27, 2024

I'm no expert in this stuff, but it seems to me that the easiest way to get everything working is to use Docker. I'd actually suggest that this be the recommended approach for newcomers.

There's a docker image for running the server as well as building the source. The only improvements I can see is to increase the visibility, explain how to use these more easily, and provide sample run scripts for both Windows and Linux.

from unified.

mtijanic avatar mtijanic commented on July 27, 2024

add2lined crash from 8156 seems like a base game issue:

CrashReporter_Linux::WriteCallstack(_IO_FILE*) 
GenericCrashHandler(int, void const*) 
CrashReporter_Linux::InternalCrashHandler(int) 
C2DA::GetColumnIndex(CExoString const&) 
C2DA::GetINTEntry(int, CExoString const&, int*) 
CNWTileSurfaceMesh::GetLOSMaterials() 
CNWTileSurfaceMesh::CNWTileSurfaceMesh() 
CNWTileData::CNWTileData() 
CNWTileSet::LoadTileSet() 
CNWTileSetManager::RegisterTileSet(CResRef) 
CNWSArea::LoadTileSetInfo(CResStruct*) 
CNWSArea::LoadArea(int, CResGFF*, CResStruct*) 
CNWSModule::LoadModuleInProgress(int, int) 
CServerExoAppInternal::MainLoop() 
CServerExoApp::MainLoop() 
AdminLoadModule(char*) 
ProcessKeyboardInput() 
main 

As for the second one, try locate libmariadbclient.so.18 and locate libmariadbclient.so, maybe you'll need to link one to the other. Also libmariadbclient.so is equivalent to libmysqlclient.so, so you can link those.

from unified.

burmashave avatar burmashave commented on July 27, 2024

I've practically given up on getting the compiled version to work. Trying docker now, but I'm getting timeouts after executing rundockerbuild.sh:

Unable to find image 'docker.nwnx.io:443/nwnxee/unified:builder' locally
docker: Error response from daemon: Get https://docker.nwnx.io:443/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).

Is that the correct url it's trying to access?

from unified.

Liareth avatar Liareth commented on July 27, 2024

Gonna close this down now as the README.md has been updated with an example startup script and much more documentation on how to make things work. If this still isn't sufficient we can reopen.

from unified.

rgranger avatar rgranger commented on July 27, 2024

Hi guys ! Sorry to bother you, but I'm trying to include nwnx:ee (mainly for it's database plugin) into my module and I don't understand very well how to proceed.

I only have a computer with windows 10 on it, and I understood the binaries provided only works on linux. I would be glad to avoid setting up a full VM in order to develop and test the module.
So I understood I could use Docker in order to run linux softwares on windows 10.
Since I'm quite new to both nwnx and Docker, I'm a bit lost here.

I installed Docker and simply tried to run the beamdog/nwserver image following the tutorial here https://hub.docker.com/r/beamdog/nwserver/

But i'm stuck at the first command line :

docker run --rm -it \
-p 5121:5121/udp -e NWN_PORT=5121 \
-v $(pwd):/nwn/home \
-e NWN_MODULE="My Test Module" \
-e NWN_PUBLICSERVER=1 \
beamdog/nwserver:8183

I got a C:\Program Files\Docker\Docker\Resources\bin\docker.exe: invalid reference format.

Then I tried to replace the -v option with the path of my module which is C:\Users\rgranger\Desktop\test-nwn-server and I got a

Error response from daemon: driver failed programming external connectivity on endpoint flamboyant_elion (c2bf53a930e970b207def36395b1ca31f9b7d775eb8ad82a25a4e97e880f8a9f): Error starting userland proxy: mkdir /port/udp:0.0.0.0:5121:udp:170.25.1.2:5121: input/output error.

So what am I doing wrong, except "everything" ? :)

If I get the beamdog/nwserver image to work, do the nwnxee/unified:latest image works the same, or do I have some configuration to do ?

If you could give me a simple step by step tutorial on how to use / configure the Docker image to run the nwnx server on windows 10, and some basic command line examples, I would be really grateful !

from unified.

mtijanic avatar mtijanic commented on July 27, 2024

@rgranger best place to get docker support is on the discord server: https://discord.gg/hxTt8Fr

If you're only interested in database connectivity, there's a native windows version for that: https://github.com/mtijanic/nwnxlite

from unified.

rgranger avatar rgranger commented on July 27, 2024

Thanks for the super fast response !
I'll take a look at nwnxlite !

from unified.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.