Heaplink
Developer & Designer
I recently got back on my VPS after it restarted. I think Phoenix was running at the time - since the hosting provider I am using is restarting the servers 24/7 with their so called "updates".
I started up the Emulator and got this error (attached file). After this, I went into the table server_status and couldn't see any issues with the row stamp. This is the exported version of server_status table:
I even tried to use the same one as in phoenix 3.6.0.sql but with no luck.
Then suddenly I tried again, and the emulator started. I thought it was over, until I saw errors again. I tried to enter my room and this error appeared in threaderror.err:
Of what I can see there, there's an issue in the rooms table. I do also get an exception at same point:
even AFTER truncating the user_roomvisits table.
If you have any clue of why this thing is happening to me, and how I can fix it (without cleaning the database from scratch) I would appreciate it.
Thanks in advance
EDIT:
I might see the problem. Phoenix really stuck things up at the rows with type of double. But why, I don't know.
EDIT - FIX!!!
After hours of jacking around, I found the solution the my problem above. What I did was going to the MySQL configuration file (my.ini) and changed the SQL mode and removed STRICT_MODE, which MySQL does have by default. This can be done by changing:
to
If anyone else had this issue, try to do like above and remember to restart your MySQL server.
I started up the Emulator and got this error (attached file). After this, I went into the table server_status and couldn't see any issues with the row stamp. This is the exported version of server_status table:
Code:
--
-- Table structure for table `server_status`
--
CREATE TABLE IF NOT EXISTS `server_status` (
`status` enum('0','1','2') NOT NULL DEFAULT '0',
`users_online` int(11) NOT NULL DEFAULT '0',
`rooms_loaded` int(11) NOT NULL DEFAULT '0',
`server_ver` text NOT NULL,
`stamp` double NOT NULL,
`userpeak` int(11) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `server_status`
--
INSERT INTO `server_status` (`status`, `users_online`, `rooms_loaded`, `server_ver`, `stamp`, `userpeak`) VALUES
('1', 0, 0, 'Phoenix v3.6.4 (Build 13477)', 1324412153, 0);
I even tried to use the same one as in phoenix 3.6.0.sql but with no luck.
Then suddenly I tried again, and the emulator started. I thought it was over, until I saw errors again. I tried to enter my room and this error appeared in threaderror.err:
Code:
Error in thread Room [ID: 24] cycle task -- Process Users Updates:
System.NullReferenceException: Object reference not set to an instance of an object.
at Phoenix.HabboHotel.Rooms.xefa913121c70e125.x3cb8659ea4fc7306()
Of what I can see there, there's an issue in the rooms table. I do also get an exception at same point:
Code:
User DC: MySql.Data.MySqlClient.MySqlException (0x80004005): Data truncated for column 'entry_timestamp' at row 1
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int32& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int32& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()
at Phoenix.Storage.xc133500a5775b79b.xa266202b32508032(String xe6ac21f3fcfe8372)
at Phoenix.HabboHotel.Rooms.xefa913121c70e125.x7fc5b234d779d58c(xca0375af76c32b7d xf16d877ad29a8cf1, Boolean x586fb91c9f89ea2a)
at Phoenix.Messages.x02dcbe990499f50c.xde5f9db4c3498373()
at Phoenix.Messages.x02dcbe990499f50c.xe4364a03608599c7(x49fa09cbda40e784 x6b03218578435fe3)
at Phoenix.HabboHotel.GameClients.xca0375af76c32b7d.xf896e51a95fce6ae(Byte[]& x4a3f0a05c02f235f)
even AFTER truncating the user_roomvisits table.
If you have any clue of why this thing is happening to me, and how I can fix it (without cleaning the database from scratch) I would appreciate it.
Thanks in advance
EDIT:
I might see the problem. Phoenix really stuck things up at the rows with type of double. But why, I don't know.
EDIT - FIX!!!
After hours of jacking around, I found the solution the my problem above. What I did was going to the MySQL configuration file (my.ini) and changed the SQL mode and removed STRICT_MODE, which MySQL does have by default. This can be done by changing:
Code:
"STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
to
Code:
"NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
If anyone else had this issue, try to do like above and remember to restart your MySQL server.