Page 1 of 1

Getting booted from module

Posted: Fri Mar 14, 2008 2:45 am
by indio
NWNX MySQL Plugin V.0.0.8
(c) 2007 by Ingmar Stieger (Papillon)
visit us at http://www.nwnx.org
(built using mysql-5.0.27 source)

* Log level set to 2 (everything)
* Connecting to server localhost
* Plugin initialized.
* Executing: CREATE TABLE IF NOT EXISTS `areas` (`ID` mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT,`ServerID` smallint(8) UNSIGNED NOT NULL,`Name` varchar(64) NOT NULL,`Tag` varchar(64) NOT NULL,`Visits` int(10) UNSIGNED NOT NULL default 0,`X` smallint(5) default NULL,`Y` smallint(5) default NULL,`Z` smallint(5) default NULL,`IsSafe` bool NOT NULL default false,`IsInside` bool NOT NULL default false,`IsNatural` bool NOT NULL default false,PRIMARY KEY (`ID`), UNIQUE KEY (`ServerID`, `Tag`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
* Executing: CREATE TABLE IF NOT EXISTS `cdkeys` (`CDKey` varchar(8) NOT NULL,`IsBanned` bool NOT NULL default false,PRIMARY KEY (`CDKey`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
* Executing: CREATE TABLE IF NOT EXISTS `characters` (`ID` mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT,`ServerID` smallint(5) UNSIGNED NOT NULL,`PlayerID` mediumint(8) UNSIGNED NOT NULL,`Name` varchar(32) NOT NULL,`Level` tinyint(3) UNSIGNED NOT NULL default 1,`Race` tinyint(3) UNSIGNED NOT NULL,`Subrace` tinyint(3) UNSIGNED default NULL,`Deity` varchar(32) default NULL,`Gender` tinyint(3) UNSIGNED NOT NULL,`HP` smallint(5) UNSIGNED NOT NULL,`XP` mediumint(8) UNSIGNED NOT NULL default 0,`GP` int(10) UNSIGNED NOT NULL default 0,`Wealth` int(10) UNSIGNED NOT NULL default 0,`Ethics` tinyint(3) UNSIGNED NOT NULL,`Morals` tinyint(3) UNSIGNED NOT NULL,`Class1` smallint(5) UNSIGNED NOT NULL,`Level1` tinyint(3) UNSIGNED NOT NULL default 1,`Class2` smallint(5) UNSIGNED default NULL,`Level2` tinyint(3) UNSIGNED default NULL,`Class3` smallint(5) UNSIGNED default NULL,`Level3` tinyint(3) UNSIGNED default NULL,`STR` tinyint(3) UNSIGNED NOT NULL,`CON` tinyint(3) UNSIGNED NOT NULL,`DEX` tinyint(3) UNSIGNED NOT NULL,`INT` tinyint(3) UNSIGNED NOT NULL,`WIS` tinyint(3) UNSIGNED NOT NULL,`CHA` tinyint(3) UNSIGNED NOT NULL,`Location` varchar(128) default NULL,`Damage` smallint(5) UNSIGNED NOT NULL default 0,`Deaths` smallint(5) UNSIGNED NOT NULL default 0,`Status` int(10) UNSIGNED NOT NULL default 0,`IsOnline` bool NOT NULL default false,`IsDeleted` bool NOT NULL default false,`IsPlayable` bool NOT NULL default true,PRIMARY KEY (`ID`), UNIQUE KEY (`PlayerID`, `Name`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
* Executing: CREATE TABLE IF NOT EXISTS `heedspwdata` (`player` varchar(64) NOT NULL,`tag` varchar(64) NOT NULL,`name` varchar(64) NOT NULL,`val` varchar(128) default NULL,`expire` mediumint(8) UNSIGNED NOT NULL default 0,`index` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,PRIMARY KEY (`index`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
* Executing: CREATE TABLE IF NOT EXISTS `ipaddress` (`ID` mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT,`CDKey` varchar(8) NOT NULL,`IPAddress` varchar(16) NOT NULL,`IsBanned` bool NOT NULL default false,PRIMARY KEY (`ID`), UNIQUE KEY (`CDKey`, `IPAddress`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
* Executing: CREATE TABLE IF NOT EXISTS `item_properties` (`ID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,`ItemProperty` smallint(5) NOT NULL,`Description` varchar(128) default NULL,`IsIllegal` bool NOT NULL default 0,PRIMARY KEY (`ID`), UNIQUE KEY (`ItemProperty`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
* Executing: CREATE TABLE IF NOT EXISTS `logs` (`ID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,`ServerID` smallint(5) UNSIGNED NOT NULL,`CharacterID` mediumint(8) UNSIGNED default NULL,`Event` varchar(32) NOT NULL,`Description` varchar(128) default NULL,`Date` timestamp NOT NULL default CURRENT_TIMESTAMP,PRIMARY KEY (`ID`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
* Executing: CREATE TABLE IF NOT EXISTS `players` (`ID` mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT,`CDKey` varchar(8) NOT NULL,`Name` varchar(32) NOT NULL,`FirstLogin` datetime,`LastLogin` datetime,`LastLogout` datetime,`Logins` int(10) UNSIGNED NOT NULL default 0,`TimeOnline` mediumint(8) UNSIGNED NOT NULL default 0,`IsDM` bool NOT NULL default false,`IsBanned` bool NOT NULL default false,PRIMARY KEY (`ID`), UNIQUE KEY(`CDKey`, `Name`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
* Executing: CREATE TABLE IF NOT EXISTS `pwdata` (`Name` varchar(64) NOT NULL,`Tag` varchar(64) NOT NULL,`Key` varchar(64) NOT NULL,`Value` varchar(128) default NULL,`Expiration` smallint(5) UNSIGNED NOT NULL default 0,`Last` timestamp NOT NULL default CURRENT_TIMESTAMP,PRIMARY KEY (`Name`, `Tag`, `Key`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
* Executing: CREATE TABLE IF NOT EXISTS `pwobject` (`Name` varchar(64) NOT NULL,`Tag` varchar(64) NOT NULL,`Key` varchar(64) NOT NULL,`Value` varchar(128) default NULL,`Expiration` smallint(5) UNSIGNED NOT NULL default 0,`Last` timestamp NOT NULL default CURRENT_TIMESTAMP,PRIMARY KEY (`Name`, `Tag`, `Key`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
* Executing: CREATE TABLE IF NOT EXISTS `quests` (`ID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,`ServerID` smallint(5) UNSIGNED NOT NULL,`CharacterID` mediumint(8) UNSIGNED NOT NULL,`PlotID` varchar(32) NOT NULL DEFAULT '',`PlotState` varchar(4) NOT NULL DEFAULT '',PRIMARY KEY (`ID`), UNIQUE KEY(`ServerID`, `CharacterID`, `PlotID`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
* Executing: CREATE TABLE IF NOT EXISTS `servers` (`ID` smallint(5) UNSIGNED NOT NULL,`Name` varchar(64) NOT NULL,`IPAddress` varchar(21) NOT NULL,PRIMARY KEY (`ID`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
* Executing: CREATE TABLE IF NOT EXISTS `spelltrack` (`ID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,`CharacterID` mediumint(11) UNSIGNED NOT NULL,`Class` smallint(5) NOT NULL,`Uses` varchar(128) default NULL,PRIMARY KEY (`ID`), UNIQUE KEY (`CharacterID`, `Class`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
* Executing: SELECT Value FROM pwdata WHERE Name='' and Tag='alfa01' and `Key`='ACR_TIME_SERVERTIME'
* Returning: 664356181 (column 0)
* Executing: SELECT Value FROM pwdata WHERE Name='' and Tag='alfa01' and `Key`='ACR_TIME_SERVERTIME'
* Returning: 664356181 (column 0)
* Executing: INSERT INTO pwdata (Name, Tag, `Key`, Value, Expiration) VALUES ('','alfa01','ACR_TIME_SERVERTIME', '664357140', 0) ON DUPLICATE KEY UPDATE Value='664357140', Expiration=0
* Executing: SELECT pwdata.Name, pwdata.Tag, pwdata.Value, characters.ID, characters.Status FROM characters JOIN players on players.ID=characters.PlayerID JOIN pwdata on pwdata.Name=characters.Name WHERE pwdata.Tag=players.CDKey and pwdata.`Key`='ACR_DTH_LOCATION' and characters.Status = characters.Status | 1
* Executing: SELECT * FROM servers WHERE ID=0
* Returning: ALFA TEST SERVER (column 1)
* Returning: 0.0.0.0:5121 (column 2)
* Executing: UPDATE characters SET IsOnline=0
* Executing: SELECT Status FROM characters WHERE id=0
* Executing: SELECT IsBanned FROM cdkeys WHERE CDKey='KA7HUU74'
* Returning: 0 (column 0)
* Executing: SELECT IsBanned FROM ipaddress WHERE CDKey='KA7HUU74'
* Returning: 0 (column 0)
* Executing: SELECT ID, IsBanned FROM players WHERE CDKey='KA7HUU74' and Name='indio'
* Returning: 0 (column 1)
* Returning: 1 (column 0)
* Executing: SELECT ID, IsDeleted, IsPlayable FROM characters WHERE PlayerID=1 and Name='Barran Fenwalker'
* Executing: INSERT INTO characters (ServerID, PlayerID, Name, Level, Race, Subrace, Deity, Gender, HP, XP, GP, Ethics, Morals, Class1, Class2, Class3, Level1, Level2, Level3, STR, CON, DEX, `INT`, WIS, CHA, Damage, Deaths, IsOnline, IsDeleted, IsPlayable) VALUES (0,1,'Barran Fenwalker',1,3,12,'Beshaba',0,8,0,0,50,15,8,255,255,1,0,0,10,14,18,14,10,12,0,0,1,0,1)
* Executing: SELECT ID, IsDeleted, IsPlayable FROM characters WHERE PlayerID=1 and Name='Barran Fenwalker'
* Returning: 0 (column 1)
* Returning: 1 (column 2)
* Returning: 3 (column 0)
* Executing: INSERT INTO logs (ServerID, CharacterID, Event, Description) VALUES (0,3,'Login','Character: Barran Fenwalker')
* Executing: INSERT INTO pwdata (Name, Tag, `Key`, Value, Expiration) VALUES ('Barran Fenwalker','KA7HUU74','ACR_REST_LOGOUT_TIMER', '664357140', 0) ON DUPLICATE KEY UPDATE Value='664357140', Expiration=0
* Executing: UPDATE characters SET ServerID=0, Level=1, Deity='Beshaba', HP=8, XP=0, GP=0, Morals=15, Ethics=50, Damage=0, Class1=8, Class2=255, Class3=255, Level1=1, Level2=0, Level3=0, STR=10, CON=14, DEX=18, `INT`=14, WIS=10, CHA=12 WHERE ID=3
* Executing: SELECT Status FROM characters WHERE id=3
* Returning: 0 (column 0)
* Executing: UPDATE characters SET IsOnline=0 WHERE ID=3
* Executing: SELECT Value FROM pwdata WHERE Name='Barran Fenwalker' and Tag='KA7HUU74' and `Key`='ACR_XP_BANKED_RPHOURS'
* Executing: INSERT INTO pwdata (Name, Tag, `Key`, Value, Expiration) VALUES ('Barran Fenwalker','KA7HUU74','ACR_XP_BANKED_RPHOURS', '0', 0) ON DUPLICATE KEY UPDATE Value='0', Expiration=0
Here's the log cipher.

Posted: Sat Mar 15, 2008 12:14 am
by ç i p h é r
Do you have a morgue waypoint defined on the module you're loading? I think that's where you're getting booted. It's the last thing that's checked once a player logs in.

Posted: Sat Mar 15, 2008 12:24 am
by indio
Excellent. I'll give that a whirl, as I don't have on.

Posted: Sat Mar 15, 2008 6:07 am
by indio
No joy, but don't worry about it. I've got my server using the online database, so I can test quests fine now.

Interestingly, it seems like quests states are assigned to players, not PCs, s I can only complete quests once regardless of who I play.

Any input welcome here.

Posted: Mon Mar 17, 2008 11:16 pm
by ç i p h é r
It's logging by character and server ID. I just looked at the code and database to confirm. Which characters have you tested? If you're using standard NWN2 characters, maybe someone else logged in with the same ones and took the quests. Just one possibility.

There are 36 characters that have taken quests on 003.