View Full Version : Lost All Characters
kofac
03-04-2010, 04:28 PM
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:
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:
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.
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:
#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
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.