Neverwinter Vault

Expand AllContract All -Site -My Profile -Features

Neverwinter Nights 2

-NWN2 Files -NWN2 Game Info -NWN2 Resources -NWN2 Community

Neverwinter Nights

-NWN Files -NWN Game Info -NWN Resources -NWN Community

Vault Network
RPG Vault
VN Boards
IGN Vault
Vault Wiki
· Age of Conan
· Anarchy Online
· Asheron's Call
· Dark Age of Camelot
· City of Heroes
· D&D
· EVE Online
· EverQuest
· EverQuest 2
· Final Fantasy
· Guild Wars
· Lineage 2
· Lord of the Rings Online
· Middle Earth
· Neverwinter Nights
· Pirates of the Burning Sea
· Rise of the Argonauts
· Star Wars Galaxies
· Tabula Rasa
· The Matrix Online
· The Witcher
· Titan Quest
· Two Worlds
· Vanguard
· Warhammer
· World of Warcraft

Planet Network
Planet Hub

IGN
Games
Cheats
Entertainment

The Web   The Site  



NWN OTHER

- Jump to comments -
Title  APS/NWNX
Author  Papillon
Submitted / Updated  01-28-2003 / 07-19-2005
Category  Database Related
Format  Other
Description
We are happy to announce to the NWN Community that the Avlis Team has developed a real-time Open Database Connectivity (ODBC) interface. Unlike previous systems, which utilize either tokens to hold information or creatively read the log file and re-compile it into the module, the Avlis Persistence System (APS) and the underlying NWN Extender (NWNX) read and write information from a database on the fly and make information stored in the database available in real-time. Supports Windows NT, 2k, and XP.

[Update v1.12: fixed a potential problem when NWN server crashed]
[Update v1.21: added code to APS and NWNX that prevents potential startup problems]
[Update v1.22: added support for italian, some statistics, SQL error messages, and some minor fixes.]
[Update v1.23: NWNX licensed under the GPL, source code is included.]

(md5sum: b23a328b79df4e20260cf543cf0140dd *NWN Extender.exe)

online documentation

Interviews

SubmittedTitleAuthor
2005-07-01Interview with Papillon/Avlis team (APS/NWNX)Maximus

Files

NameTypeSizeDownloads
aps123.zipaps123.zip
Submitted: 01-28-2003 / Last Updated: 02-17-2003
zip97.55Kb4023
--
SCORE OUT OF 10
9.75
4 votes
View Stats
Cast Your Vote!

PORTFOLIO
Add this entry to your portfolio so you can track it
Manage your existing portfolios or create a new one.
SCREENS
No Images




You Must Be Logged In to Participate.
Comments (30):

1 2 3

Posted by DragonTayl at 2003-02-2720:58:00    
I am having an odd problem. I love the system and have fully integrated it into my PW, however when I INSERT or UPDATE locations, an unusual thing happens. Somehow it seems as though the memory pages for the NWNX1! variable don't clear fast enough. Here's what I see: 1) System checks to see if the record exists. 2) Systemp attempts to send a SQL call (this example is update, though it happened with insert too) 3) System sends the first 51 characters of my SQL syntax (plus the NWNX1!REQUEST! would make 64 bytes), then completes the text with the rest of the original check to see if the record exists. 4) System sends the correct SQL syntax. Is anyone else having a problem like this? It became noticable because the syntax lined up just enough in one of the calls to WIPE OUT ALL EXISTING DATA in my table. Here's example output from NWN Extender: * Got request: SELECT player FROM taneeadv WHERE player='DragonTayl' AND tag='DragonTayl' AND name='lRecall' * Sent response (10 bytes): DragonTayl * Got request: UPDATE tanjeeadv SET val='#AREA#TowerRoadForestValeyl' AND tag='DragonTayl' AND name='lRecall' * Empty set * Got request: UPDATE tanjeeadv SET val='#AREA#TowerRoadForestVale#POSITION_X# (the rest was correct, and stored the variable correctly) I have a work-around where I store 1024 spaces into the NWNX1! variable right before my second call, but it is only a work-around. I don't know if this happens due to length or what. I suspect the debug event is called after the first memory page of 64bytes is passed to the server, but then why doesn't it cut up all the variables over 64 bytes, only this long one? Any help would be appreciated. DragonTayl

Posted by spider661 at 2003-02-2709:44:00    
can you make a vender invatory presedent whith this????

Posted by Papillon at 2003-02-2502:41:00    
The polish version is not supported right now. You can easily add the necessary strings to the source code and compile yourself a new version or you can send me screenshots (email) before and after the module is loaded.

Posted by Phervers at 2003-02-2412:20:00    
I've been using this tool for a while now. Firstly i was using an english language version of nwn. Recently i've installed polish version. and to my disappointment this tool stopped working. It says waiting for module, and nothing more happens. It's working fine with the english version though. Maybe you can figure out why? Maybe it's about the different charset in polish version.

Posted by Sykos at 2003-02-2017:47:00    
Thank for for this system i'm waiting for a long time :) I'll try in under windows waiting to the release of the linux version

Posted by Quietus at 2003-02-2010:28:00    
Thanks for the response, Papillon. I was more interested in the performance of the context switching -- swapping threads isn't free ;) But again, I suppose I answered my own question, in that it depends upon how much you're call out of NWN script and into the debugger. But, you mentioning async made me realize that a certain category of calls from NWN into the debugger are one-way, doing SMTP, or simply saving data to the DB. The NWN script doesn't care for a return necessarily. In these scenarios, you could easily queue the requst from the NWN script to be done on another thread in the debugger, thus letting the NWN server resume with execution sooner, rather than having it wait for the DB access, or whatever. Now of course, there are complexities to taking this approach, but if performance is suffering due to the number calls into the debugger, then this would be something to look info... ah.. well, version 2 then ;) Anyway, when I'm done with what I'm working on, I'll share. Right now, my debugger is written in Managed C++, and my DB access code in in C#. I've tested with a SqlServer database, as well as Access. I don't know anything about MySql, so I haven't done that one :) Ah, this is such fun stuff! -Quietus

Posted by Papillon at 2003-02-2001:55:00    
Quietus, moving information between nwnx and nwserver is relatively cheap. Performance problems arise when the backend code in nwnx executes some time consuming queries (like SMTP). The reason for that is that nwserver is a single threaded application that has no means to synchronize asynchronous communication. I guess you could emulate something with NWScript, but I doubt anything good would come out of it. The bottom line is: When NWNX has to wait for the result of a request, the whole server has to wait. This usually is no problem, though, as most queries take only 20-30 ms.

Posted by Quietus at 2003-02-1921:48:00    
Duh, sorry for last *empty* post... Anyway, I'm curious what your performace has been so far Papillon? I imagine is it directly related to the number of transitions from NWServer.exe to your app. I don't have a large server/mod to test with. Anyway, I am working on a similiar version to utilize different databases and support other functionality, such as SMTP, for instance. It'll be quite interesting to be able to send an email due to a NPC conversation in your MOD. :) -Quietus

Posted by FastFrench at 2003-02-1900:56:00    
OK, thank you. As my server has often 60+ players, CPU usage is a critical issue for me (our mod is around 33MB). I'll make some testing and let you know if I find any significant difference. Anyway, the token solution allready takes significant CPU :(

Posted by Papillon at 2003-02-1811:28:00    
Fastfrench, I don't have a clue why your compiled executable is smaller than mine - probably you have some other versions of certain dlls oder libs. The debug mode is key for NWNX :) Some fact about CPU usage: 1) It doesn't affect most modules, e.g. all three mods on Avlis (55MB, 35MB, 30MB) don't see a decreased performance. 2) It DOES affect some "artificial" benchmarks (calling SetLocalString very often or creating lots of icons in one shot). 3) The "attach approach" slightly decreases cpu usage but unfortunately also decreases stability (e.g. look at the routine that searches the memory: When NWN moved the memory locations around, the code in the attach-case may not be able to find the new location, whereas the old approach will find it).

1 2 3

You must be Logged In to post comments in this section.

 
Most recent posts on the MMO General Boards
Analyst: Star Wars: The Old Republic Could...Analyst: Star Wars: The Old Republic Could Sell 3M: more numbers
- last reply by Acao on Aug 15, 2011 06:15 PM
which class will your first character be
- last reply by Blisteringballs on Aug 15, 2011 05:50 PM
New Community Content!
- posted by Vault_News on Aug 15, 2011 05:00 PM
New Community Content!
- posted by Vault_News on Aug 15, 2011 04:00 PM
NWN Idea Database Update
- posted by Vault_News on Aug 15, 2011 03:46 PM
Missing Votes for NWN2 Hall of Fame
- posted by Vault_News on Aug 15, 2011 03:40 PM
Missing Votes for NWN Hall of Fame
- posted by Vault_News on Aug 15, 2011 03:39 PM
Random Questions and game altering suggest...Random Questions and game altering suggestions!!!
- last reply by ArkadyTepes on Aug 15, 2011 03:22 PM
State of the game?
- last reply by LyricOpera on Aug 15, 2011 01:37 PM
Yesterday streaming, now demanding downloa...Yesterday streaming, now demanding download :(
- last reply by Sinane-tk on Aug 15, 2011 10:23 AM
 

   


IGN Entertainment
By continuing past this page, and by your continued use of this site, you agree to be bound by and abide by the User Agreement.
Copyright 1996-2011, IGN Entertainment, Inc. | Support | Privacy Policy | User Agreement | RSS Feeds
IGN’s enterprise databases running Oracle, SQL and MySQL are professionally monitored and managed by Pythian Remote DBA.


NWN2 Hall of Fame

HOF NWN2 UI


View all Hall of Fame entries


Neverwinter Nights 2

TOP NWN2 Modules

NEW Modules

NEW Reviews

NEW INTL. Modules

TOP Hakpaks

TOP Gameworlds

TOP Tutorials

TOP Prefab:Areas

TOP Blueprints

TOP Plugins

TOP UI

TOP Other

TOP Visual Effects

TOP Scripts

TOP Tools

TOP Movies

TOP Models

TOP Characters





Hall of Fame

HOF NWN Modules


View all Hall of Fame entries


TOP NWN Modules

NEW NWN Modules

NEW Reviews

TOP Intl. Modules

TOP NWN Hakpaks

TOP NWN Gameworlds

TOP NWN Models

TOP NWN Portraits

TOP NWN Scripts

TOP NWN Prefabs

TOP NWN Other

TOP NWN Movies

TOP Sounds

TOP NWN Textures

TOP NWN Creatures

TOP NWN Characters