View previous topic :: View next topic |
Author |
Message |
JeroenB
Joined: 31 Dec 2004 Posts: 228 Location: Netherlands
|
Posted: Wed Jan 26, 2005 13:14 Post subject: |
|
|
Quote: | As you can see, I'm setting the -module parameter where it starts the server. So I don't know why the plugin is drawing a blank.... |
As I mentioned you should make a statement like:
Code: | ./nwserver -servername "testserver" -module "$mod" "$@" |
Look at the servername option. This one is important and makes the GetServerName function return "testserver" which will then be stored in the database. |
|
Back to top |
|
|
dguntner
Joined: 31 Dec 2004 Posts: 116
|
Posted: Thu Jan 27, 2005 0:10 Post subject: |
|
|
[quote="JeroenB"
As I mentioned you should make a statement like:
Code: | ./nwserver -servername "testserver" -module "$mod" "$@" |
Look at the servername option. This one is important and makes the GetServerName function return "testserver" which will then be stored in the database.[/quote]
OOOOOHHHHHHH! I flat-out didn't see that. My nwnplayer.ini file defines the servername parameter, so I completely forgot about that line option.
BUT: I just tried doing it with
./nwserver -servername "Test Server" -module "$mod$ "$@"
And looking at the MySQL server log, I see that nwnx_speech.so is still doing INSERTS with servername blank.
Well, it was a good try, anyway...
--Dave |
|
Back to top |
|
|
JeroenB
Joined: 31 Dec 2004 Posts: 228 Location: Netherlands
|
Posted: Thu Jan 27, 2005 9:35 Post subject: |
|
|
Did you replace your modification in the scripts again? If I am not mistaken you said above that you modified the code to
You should replace that again with:
Code: | string sServer=GetServerName(); |
|
|
Back to top |
|
|
Dazzle
Joined: 29 Dec 2004 Posts: 19
|
Posted: Thu Jan 27, 2005 19:28 Post subject: |
|
|
dguntner wrote: | -Snip.-
BTW, is there any kind of documentation that lists what the various types of messages are? One of the things it store is a numeric message type, which ends up being 1, 4, 14, etc. It would be nice to know what those codes mean.
|
For when you don't know already.
Code: | const int SPEECHVOLUME_TALK = 1;
const int SPEECHVOLUME_SHOUT = 2;
const int SPEECHVOLUME_WHISPER = 3;
const int SPEECHVOLUME_TELL = 4;
const int SPEECHVOLUME_TELL_PLAYER = 5;
const int SPEECHVOLUME_PARTY = 6;
const int SPEECHVOLUME_DM = 14;
|
|
|
Back to top |
|
|
dguntner
Joined: 31 Dec 2004 Posts: 116
|
Posted: Fri Jan 28, 2005 6:19 Post subject: |
|
|
JeroenB wrote: | Did you replace your modification in the scripts again? If I am not mistaken you said above that you modified the code to
You should replace that again with:
Code: | string sServer=GetServerName(); |
|
No offense, but I when I'm looking at my MySQL server log, I know the difference between an INSERT and a SELECT.
Making the change you suggest above causes the module to no longer find anything in the database table, because the nwnx_speech.so plugin is doing an INSERT into the database with a blank servername column. The nwnx_speech.so plugin doesn't give a rat's ass what setting is the "string sServer" variable in the module lds_ script itself. It doesn't know, it doesn't care, it doesn't look it up; as far as nwnx_speech.so is concerned, it doesn't exist. I've already tested this and I know that's the case. It doesn't read a setting from inside the module itself (which isn't going to be unpacked yet as of the point where it's starting, anyway).
If I do the setting that you suggest above, what ends up happening is that the module then does a SELECT on the table with the clause:
... where servername = 'The Server Name'
At which point it then completely fails to find the record put in the table by the nwnx_speech.so plugin, which was stored with a blank servername value.
I was watching my MySQL log when I tried your suggestion about putting the -servername commandline option in. The plugin was still doing an INSERT into the table with a blank servername value.
--Dave |
|
Back to top |
|
|
JeroenB
Joined: 31 Dec 2004 Posts: 228 Location: Netherlands
|
Posted: Fri Jan 28, 2005 10:04 Post subject: |
|
|
Ok, I found the same problem you are facing. I will try to solve that one soon and implement the options in the configuration file. |
|
Back to top |
|
|
virusman
Joined: 30 Jan 2005 Posts: 1020 Location: Russia
|
Posted: Sun Jan 30, 2005 12:50 Post subject: |
|
|
Is there any solution to run NWNX-Speech plugin without root privileges at all? |
|
Back to top |
|
|
NoMercy
Joined: 03 Jan 2005 Posts: 123 Location: UK
|
Posted: Sun Jan 30, 2005 13:44 Post subject: |
|
|
I can think of 3 solutions:
- ACLs
- Hook into nwserver and issue a setuid() to a safe user just after youve gained the access to the network device.
- Split the program into two parts, one running as root the other running as a safe user, and have the root half do all the talking to the netwok device.
All three arn't particularly simple |
|
Back to top |
|
|
dguntner
Joined: 31 Dec 2004 Posts: 116
|
Posted: Thu Feb 03, 2005 7:15 Post subject: Strange error message from server.... |
|
|
Ok, this has happened twice now. I've started the server, and at some point get an error message about SQL syntax. Here's what it says:
Code: |
$ sudo ./nwrun
>>>Starting at Wed Feb 2 15:06:17 PST 2005<<<
NWNX2lib: Init
NWNX2lib: org SetString() at 0x81e5210, new SetString() at 0x4001f038
* Parsing configuration...
NWN Extender v2.5.3-rc1
(c) 2004 by the APS/NWNX Linux Conversion Group
Based on the Win32 version (c) 2003 by Ingmar Stieger (Papillon)
and Jeroen Broekhuizen
visit us at http://www.avlis.org
* Loading modules...
[HASHSET] SetDebugLevel(1) called. Current value=0
HASHSET plugin Registerred.
[FUNCTIONS] SetDebugLevel(1) called. Current value=0
FUNCTIONS plugin Registerred.
[MNX] SetDebugLevel(1) called. Current value=0
MNX plugin Registerred.
[Database] SetDebugLevel(1) called. Current value=0
[Database] SetDebugLevel(2) called. Current value=1
ODBC plugin Registerred.
[Speech] SetDebugLevel(1) called. Current value=0
SPEECH plugin Registerred.
* NWNX2 activated.
Neverwinter Nights Server
Build:8066
Copyright BioWare Corp 1998-2004
Server: Loading...
Server: Running...
Server: Loading module "CHAINMAIL_Beta".............{lots of dots}......
Server: Module loaded
INIT: valid ret=0x081f42fc
o ERROR: [3] You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '6','')' at line 1
|
Didn't kill the server, but it's an odd message to see. Never saw it before installing the nwnx_speech.so plugin, so I'm pretty sure it's coming from that plugin's writing something to the database. I checked the various log files, but didn't see any error message there that would give a clue as to what the plugin tried to stick in the database.
Any ideas?
--Dave |
|
Back to top |
|
|
Acrodania
Joined: 02 Jan 2005 Posts: 208
|
Posted: Thu Feb 03, 2005 17:35 Post subject: |
|
|
Search your scripts and see if there is a match to:
'')'
I'm pretty sure that the ' at the end is the cause of your issues. It should probably be a ; instead..... |
|
Back to top |
|
|
JeroenB
Joined: 31 Dec 2004 Posts: 228 Location: Netherlands
|
Posted: Thu Feb 03, 2005 20:27 Post subject: |
|
|
I have no idea. The scripts are still original and written by Lanthar. If you really have a problem with this, send him a mail and see if he know's what is going wrong.
Unfortunately I haven't had time to make any changes to the program. I hope I get some time in the near future. |
|
Back to top |
|
|
dguntner
Joined: 31 Dec 2004 Posts: 116
|
Posted: Thu Feb 03, 2005 22:16 Post subject: |
|
|
Acrodania wrote: | Search your scripts and see if there is a match to:
'')'
I'm pretty sure that the ' at the end is the cause of your issues. It should probably be a ; instead..... |
Did a search, didn't find any such string. Didn't expect to, though - I've never seen an error message in *that* location that was related to something in a script in the running module. I'm pretty sure it's something inside the nwnx_speech.so plugin. Maybe something that's being generated incorrectly somehow (no clue how that would happen). Might be in nwnx itself, though I've never seen that error prior to installing speech.
It doesn't seem to be causing me any probllems, though, so it's not a high priority.
What I *really* wish is that I could figure out how to integrate the current 1.07 DMFI with his scripts. Every time I've tried to do so, I end up with neither set of scripts processing "voice" commands.
I wish the Talus author had followed through with what he put in his readme about he was planning on updating soon to the new DMFI version. The DMFI 1.07 update was *such* an overhaul of the code that I can't just refer to his examples. Which is probably why he hasn't updated.
--Dave |
|
Back to top |
|
|
dguntner
Joined: 31 Dec 2004 Posts: 116
|
Posted: Sun Feb 06, 2005 11:02 Post subject: |
|
|
JeroenB wrote: | Unfortunately I haven't had time to make any changes to the program. I hope I get some time in the near future. |
I hope so, too. It will be nice to not have to use a database table for that; then my error messages will stop (at least, *those* error messages).
Thanks.
--Dave |
|
Back to top |
|
|
Lanthar D'Alton
Joined: 10 Feb 2005 Posts: 100
|
Posted: Thu Feb 10, 2005 10:37 Post subject: Talus Speech System 3.0 for linux |
|
|
My friend Grinning Fool amusingly had completed work on a linux conversion shortly before you did yours Jeroen, but we got lost in enhancing and didn't package it soon enough, nor get a chance to tell you to wait... because the 3.0 version has a totally new self-tell recognition capability... Well, anyway, I'm not sure when he plans to package his, but I just thought I'd mention it...
-Lanthar |
|
Back to top |
|
|
dguntner
Joined: 31 Dec 2004 Posts: 116
|
Posted: Thu Feb 10, 2005 10:40 Post subject: |
|
|
RELEASE IT NOW, DAMMIT!
Good to hear that it's coming. I'm looking forward to checking it out when it's released.
--Dave |
|
Back to top |
|
|
|