Player Resource Consortium

 

Author Topic: [Solved]ConvoCC Issue  (Read 11035 times)

0 Members and 4 Guests are viewing this topic.

June 08, 2010, 01:08:33 PM

The ConvoCC is not working on my Linux server. The conversation starts up and I click continue however it just give me the end dialog option. I turned on the PRC_DEBUG switch so here is the output before and after I click continue.

Edit: I am using PRC 3.3h and not one of the RC.

Log Before Continue

Log After Continue

Things I have ruled out:

NWNX is installed and running
Leto is installed and running
MySQL is installed and working correctly via NWNX ODBC and the server can access the database.
The same hak/hif files are on both the server and my computer(I just did a file comparison, byte size matches and the FTP client thinks their their same).

Any ideas on the cause?
« Last Edit: June 10, 2010, 12:58:16 PM by KenquinnTheInsaneOne »


June 08, 2010, 01:47:37 PM
Reply #1
  • Hero Member
  • *****
  • Posts: 1439
  • Karma: +27/-0
  • Gender: Male
    • View Profile

Could you post your nwnx_odbc log as well?

The 'only option = end dialog' bug indicates database problems.


June 08, 2010, 03:30:05 PM
Reply #2

Code: [Select]
NWNX2 ODBC2 version 0.3.2 for Linux.
(c) 2005-2006 dumbo (dumbo@nm.ru)
(c) 2006-2008 virusman (virusman@virusman.ru)
o SCO located at 82d9c44.
o RCO located at 82d9b60.
o Connect successful.
o Got request: SELECT rowid, data FROM prc_cached2da WHERE file = 'gender' AND columnid = 'name' AND  rowid <= 1
o Sent response (5 bytes): 0¬156
o Sent response (5 bytes): 1¬157
o Sent response (0 bytes):
o Shutdown.


There you go


June 09, 2010, 07:09:03 AM
Reply #3
  • Hero Member
  • *****
  • Posts: 1439
  • Karma: +27/-0
  • Gender: Male
    • View Profile

So it's not a database problem :/

How fast is your computer? Could you check database usage with other scripts?
Check out how the attached file will work for you - put it in a top hak (prc_2das.hak will be fine for testing ;) ). This should help if your computer is too fast for NWN.


June 09, 2010, 12:43:44 PM
Reply #4

It's not on my computer its a on a rented Linux cloud. I am not sure how much CPU power can be diverted to it. I can ask the person who rents the server if it is needed.

I packed your fix into the prc_d2as.hak(checking that the default hak packer did put the compiled script in it) and uploaded it to the server. The exact same thing happened as before.

What do you mean by check database usage with a script? Run a test with something that needs MySQL to work and does a fair number of calls?

If you did this is a copy of the ODBC log after using a MySQL vault system.

Code: [Select]
]NWNX2 ODBC2 version 0.3.2 for Linux.
(c) 2005-2006 dumbo (dumbo@nm.ru)
(c) 2006-2008 virusman (virusman@virusman.ru)
o SCO located at 82d9c44.
o RCO located at 82d9b60.
o Connect successful.
o Got request: SELECT enabled FROM banlist WHERE playerCD='********'
o Sent response (0 bytes):
o Got request: SELECT num FROM qptrack WHERE player='Kenquinn'
o Sent response (1 bytes): 6
o Got request: SELECT val FROM pwdata WHERE player='Kenquinn' AND tag='Kalie Jora' AND name='LastCDKey' AND ( NOW() < last + INTERVAL expire SECOND OR expire = 0 )
o Sent response (0 bytes):
o Got request: SELECT player FROM pwdata WHERE player='Kenquinn' AND tag='Kalie Jora' AND name='LastCDKey'
o Sent response (0 bytes):
o Got request: INSERT INTO pwdata (player,tag,name,val,expire) VALUES('Kenquinn','Kalie Jora','LastCDKey','********',0)
o Got request: SELECT val FROM pwdata WHERE player='Kenquinn' AND tag='Kalie Jora' AND name='Jailed' AND ( NOW() < last + INTERVAL expire SECOND OR expire = 0 )
o Sent response (0 bytes):
o Got request: SELECT player FROM pwdata WHERE player='Kenquinn' AND tag='Kalie Jora' AND name='LastCDKey'
o Sent response (8 bytes): Kenquinn
o Got request: UPDATE pwdata SET val='',expire=0 WHERE player='Kenquinn' AND tag='Kalie Jora' AND name='LastCDKey'
o Got request: SELECT enabled FROM banlist WHERE playerCD='********'
o Sent response (0 bytes):
o Got request: SELECT num FROM qptrack WHERE player='Kenquinn'
o Sent response (1 bytes): 6
o Got request: SELECT val FROM pwdata WHERE player='Kenquinn' AND tag='Moristin Nefzen' AND name='LastCDKey' AND ( NOW() < last + INTERVAL expire SECOND OR expire = 0 )
o Sent response (0 bytes):
o Got request: SELECT player FROM pwdata WHERE player='Kenquinn' AND tag='Moristin Nefzen' AND name='LastCDKey'
o Sent response (0 bytes):
o Got request: INSERT INTO pwdata (player,tag,name,val,expire) VALUES('Kenquinn','Moristin Nefzen','LastCDKey','********',0)
o Got request: SELECT val FROM pwdata WHERE player='Kenquinn' AND tag='Moristin Nefzen' AND name='Jailed' AND ( NOW() < last + INTERVAL expire SECOND OR expire = 0 )
o Sent response (0 bytes):
o Got request: SELECT resref,stack,charges,identified FROM bankvault2 WHERE player='Kenquinn' AND name=''
o Sent response (21 bytes): blackwillowsan¬1¬35¬1
o Sent response (17 bytes): dragonscale¬1¬0¬1
o Sent response (22 bytes): grayonyxdragbel1¬1¬0¬1
o Sent response (22 bytes): gray_treebracers¬1¬0¬1
o Sent response (22 bytes): hpy_itmbashbardb¬1¬0¬1
o Sent response (22 bytes): hpy_itmskelebook¬1¬0¬1
o Sent response (22 bytes): hpy_itmwizrunner¬1¬0¬1
o Sent response (18 bytes): nw_ashmto006¬1¬0¬1
o Sent response (17 bytes): soul_belt1c¬1¬0¬1
o Sent response (17 bytes): soul_belt1c¬1¬0¬1
o Sent response (20 bytes): soul_clothing2¬1¬0¬1
o Sent response (18 bytes): soul_dagger4¬1¬0¬1
o Sent response (18 bytes): soul_dagger5¬1¬0¬1
o Sent response (20 bytes): soul_gauntlet1¬1¬0¬1
o Sent response (22 bytes): soul_heavarmour1¬1¬0¬1
o Sent response (18 bytes): soul_staff1¬1¬50¬1
o Sent response (0 bytes):
o Got request: SELECT player FROM pwdata WHERE player='Kenquinn' AND tag='Moristin Nefzen' AND name='LastCDKey'
o Sent response (8 bytes): Kenquinn
o Got request: UPDATE pwdata SET val='',expire=0 WHERE player='Kenquinn' AND tag='Moristin Nefzen' AND name='LastCDKey'
o Shutdown.


June 09, 2010, 01:26:25 PM
Reply #5

Is it at all possible for you to try serving the module from a local Windows or Linux PC?  Pulling at straws here but, maybe LETOScript doesn't like working thru virtualization?
HEATSTROKE


June 09, 2010, 03:51:33 PM
Reply #6

I don't have a Linux box I can test it in Linux. So I did a test with SQLLite on my PC as I dont want to spend time setting up MySQL at the moment.

It worked perfectly on my PC.

I don't think its a issue with visualization and Leto as I had leto working before on the box. Theirt was a bug that cause it to sets each players HP per level to 0 instead of the max for the class but I recreated the issue on my PC and it was edited the chars just not in the way I intended.

The ODBC log file starts out the same as the Linux one however it gets past the gender fetch.
« Last Edit: June 09, 2010, 03:55:53 PM by KenquinnTheInsaneOne »


June 09, 2010, 04:07:20 PM
Reply #7

Quote from: KenquinnTheInsaneOne

I don't have a Linux box I can test it in Linux. So I did a test with SQLLite on my PC as I dont want to spend time setting up MySQL at the moment.

It worked perfectly on my PC.

I don't think its a issue with visualization and Leto as I had leto working before on the box. Theirt was a bug that cause it to sets each players HP per level to 0 instead of the max for the class but I recreated the issue on my PC and it was edited the chars just not in the way I intended.

The ODBC log file starts out the same as the Linux one however it gets past the gender fetch.


One last thing that just crossed my mind.  Could it be a case sensitivity issue?

Pulling at straws....
« Last Edit: June 09, 2010, 04:08:22 PM by DM Heatstroke »
HEATSTROKE


June 09, 2010, 06:03:12 PM
Reply #8
  • Jr. Associate
  • **
  • Posts: 60
  • Karma: +0/-0
    • View Profile
    • http://deepingdale.proboards.com/index.cgi?

I had a similar problem when precaching the sql.out would fail before it finished importing all the data and usually the convo cc would do as you said. WE manually corrected the sql.out and reimported. Ive reported this one aboooooooout 3 times now : } its the typo in "hero'es" feast in spells 2da i think. I will check my logs later to see if i still have that patch we did.


June 09, 2010, 06:18:28 PM
Reply #9

@DM Heatstroke: Not a case sensitivity issues Windows and Linux uses the same case.

@dsabrae: If there was a typo in the 2da files I would think that the SQLLite precatcher would not work as wellas it did  on my PC. If you do find the type can you please still post it?

I will try wiping and reloading the MySQL database sometime unless someone else has another idea.

Edit: Just did a fresh import no luck.
« Last Edit: June 09, 2010, 06:32:46 PM by KenquinnTheInsaneOne »


June 09, 2010, 06:55:45 PM
Reply #10

Quote from: dsabrae

I had a similar problem when precaching the sql.out would fail before it finished importing all the data and usually the convo cc would do as you said. WE manually corrected the sql.out and reimported. Ive reported this one aboooooooout 3 times now : } its the typo in "hero'es" feast in spells 2da i think. I will check my logs later to see if i still have that patch we did.


I didn't modify or search & replace anything in 3.3h & I had no issues making the sql.out for either of the servers I have going .  When I did have that issue it was strictly due to CEP's modifications to the placeables (which didn't actually need to be cached) & appearances.2das.
HEATSTROKE


June 09, 2010, 06:58:45 PM
Reply #11

Quote from: KenquinnTheInsaneOne

@DM Heatstroke: Not a case sensitivity issues Windows and Linux uses the same case.


OK, wasn't sure if it was an issue between the different NWN servers.  I had the idea that if the classes.2da was calling for CLS_PRES_BARB & the script was named cls_pres_barb, it might have caused some issues.  I've tried running a Linux server before, but I had to give it up cause KDE4 crashed on my every 5 minutes.
HEATSTROKE


June 09, 2010, 08:02:00 PM
Reply #12

Just for the hell of it I tried 20 of the SQLLite commands that it inputs on my PC(MySQL uses the same syntax so its not an issue) and I get the exact same output on the Linux server as I get in my PC log file.

All of the fetch times were 0.0 seconds even with the .ncs file being in the prc_2das hak.

Edit: Also in the log file its spiting out prc_version = 3.3h rc2 while I am using PRC 3.3h
« Last Edit: June 09, 2010, 08:26:47 PM by KenquinnTheInsaneOne »


June 10, 2010, 01:31:44 AM
Reply #13
  • Hero Member
  • *****
  • Posts: 1439
  • Karma: +27/-0
  • Gender: Male
    • View Profile

Quote from: dsabrae

I had a similar problem when precaching the sql.out would fail before it finished importing all the data and usually the convo cc would do as you said. WE manually corrected the sql.out and reimported. Ive reported this one aboooooooout 3 times now : } its the typo in "hero'es" feast in spells 2da i think. I will check my logs later to see if i still have that patch we did.


That error was in healer spellbook, and in this version spellbooks are not cached because they are not used by ConvoCC. I really do try to fix every reported bug. Thank you dsabrae.

KenquinnTheInsaneOne, do you use 64 bit Linux? It just seems that NWN doesn't get the data from odbc plugin. Why? - I have no idea. The script for gender selection conversation is really simple one and I see no errors in it. I will try to write some debug code and post it here, maybe we can figure out what's wrong.


June 10, 2010, 09:34:43 AM
Reply #14
  • Hero Member
  • *****
  • Posts: 1439
  • Karma: +27/-0
  • Gender: Male
    • View Profile

Ok, here is another script with some more debug messages. It uses direct NWNX commands so I think it's quite reliable. For clearer output turn prc_debug off. You should see something like that in nwserverlog1.txt:

Code: [Select]
[Thu Jun 10 15:18:13] xwarren2 (Q77MVHH9) Joined as Player 1
[Thu Jun 10 15:18:52] SLS :print /FirstName;print ' ';print /LastName;
[Thu Jun 10 15:18:52] SCRIPT >: %LETOTEST = q{servervault/xwarren2/lentelannen.bic}; print /FirstName;print ' ';print /LastName;close %LETOTEST;
[Thu Jun 10 15:18:54] SCRIPT <: Lente Lannen
[Thu Jun 10 15:19:58] SELECT rowid, data FROM prc_cached2da WHERE file = 'gender' AND columnid = 'name' AND  rowid <= 1
[Thu Jun 10 15:19:58] NWNX_ODBC_FETCH row: 0¬156
[Thu Jun 10 15:19:58] SQL: RowID = 0
[Thu Jun 10 15:19:58] SQL: Data = Male
[Thu Jun 10 15:19:58] NWNX_ODBC_FETCH row: 1¬157
[Thu Jun 10 15:19:58] SQL: RowID = 1
[Thu Jun 10 15:19:58] SQL: Data = Female
[Thu Jun 10 15:20:06] xwarren2 Left as a Player (0 players left)


if there is nothing in 'NWNX_ODBC_FETCH row:' there is a problem with NWNX -> NWN communication (wrong NWNX version, unsupported by PRC?).
« Last Edit: June 10, 2010, 10:10:13 AM by xwarren »