EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   Lost All Characters (https://www.eqemulator.org/forums/showthread.php?t=30729)

kofac 03-04-2010 04:28 PM

Lost All Characters
 
Can someone please help me...

I have been running a home EQ Server for over a year now with out to many problems.

But today when I log in there are no characters on any of my accounts on the login screen. I can see there in the character_ database but they dont show at login.

I get this error if anyone can please help at all I would be grateful.

Got a bogus character (Aramid) Ignoring!!!
PP length =19569 but PP should be 19568
Got a bogus character (Kofac) Ignoring!!!
PP length =19570 but PP should be 19568
Got a bogus character (Ricin) Ignoring!!!
PP length =19569 but PP should be 19568

Derision 03-04-2010 05:15 PM

Did you change anything ? Anything at all ?

I've never heard of PPs becoming corrupt like that, other than bad source code changes, or manually editing the character_ table in the DB, but that normally ends up with a zero length PP, not one that is one or two bytes out.

Assuming you have no backup of your database, back it up now:

Code:

mysqldump -u root -p <yourdbname> > mybackup.sql
Now, there is a chance you may be able to recover, if your have good entries in your character_backup table.

Execute this query:

Code:

select id, name, length(profile) from character_backup;
If you have entries with a length(profile) of 19568, then they are not corrupt, e.g.

Code:

mysql> select id, name, length(profile), ts from character_backup where name like 'Derision';
+------+----------+-----------------+---------------------+
| id  | name    | length(profile) | ts                  |
+------+----------+-----------------+---------------------+
|  209 | Derision |          19568 | 2008-05-23 20:59:46 |
|  210 | Derision |          19568 | 2008-05-23 21:05:06 |
|  227 | Derision |          19568 | 2008-05-29 18:37:47 |
|  226 | Derision |          19568 | 2008-05-29 18:32:46 |
|  334 | Derision |          19568 | 2008-06-29 16:41:51 |
|  335 | Derision |          19568 | 2008-06-29 18:32:23 |
| 4223 | Derision |          19568 | 2010-02-03 21:26:36 |
| 4221 | Derision |          19568 | 2010-02-03 20:18:43 |
+------+----------+-----------------+---------------------+
8 rows in set (0.00 sec)

Login and create a new GM character. Once in game, for each corrupted character, issue the command:
Code:

#charbackup restore <CharName> <Backup ID>
Where <Backup ID> is the latest ID number from the query I listed above, where the length(profile) is the correct size of 19568.

I have never used the #charbackup restore command before, but I just deliberately NULLed out the profile of a character and tried to restore it in this manner, and it seemed to work, however whatever caused you character_ entries to become corrupted, may well have also corrupted the character_backup table as well, in which case you are out of luck if you have no database backup prior to the problem occurring.

kofac 03-04-2010 06:44 PM

Thank you VERY much for your help Derision. That worked perfectly luckily my character_backup table was intact. I ended up restoring about 20 characters with it :)

As for how it happened. I am not sure. I do keep backups but perhaps I need to re-look at how I do that. I do my backups with a programme called Auto Backup For MySQL. Which normally seems to work. As it allows me to back up daily automatically.

I did try to restore the Character_ table from an older backup. But it was still corrupt.

More than probably my fault. I must have messed something up today. When backing up.

Once again thank you very much for the fast response and for the solution it worked flawless. :)

One thing this has gotten my attention now. I need to look at a better way to backup the data.

Krran 12-18-2012 01:22 AM

Also, I found that this happened to me because the blob slot was losing data when I was backing up my data. This was fixed by saving blobs as HEX, as in:

prompt> mysqldump -uuser -ppassword -R --hex-blob=TRUE peq > backup.sql

hope this helps someone so they don't blow a day on it like I did


All times are GMT -4. The time now is 05:03 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.