Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::General Support

Support::General Support Post all topics here having to do with errors while trying to connect to an EQEMu server but not about the setup/running of the Server itself.

Reply
 
Thread Tools Display Modes
  #1  
Old 02-15-2008, 03:13 AM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

I'm sorry that their learning process resulted in the destruction of your database. If they're stilling willing to learn (and you're still willing to let them, hehe) I'd recommend creating a new username for them under Windows, and restricting their db access to their own work, keeping yours safe.

On to the matter at hand. How exactly did you backup your database? mysqldump or one of those gui programs? mysqldump is the most secure way to go, and will dump all data, including the nasty BLOB stuff. A full dump is easily done at a traditional command prompt using:

mysqldump -u username -p --extended-insert dbname > dbname.sql

That'll dump the whole database to your current dir. The username/password is optional and may not be required, but i do recommend the extended-insert, as it makes the sourcing process much faster.

As for getting your data back. Are the blobs in character_backup intact? If so, you're in luck. If not, then I'm afraid your toons are lost for good, unless you have another backup lying around.
Reply With Quote
  #2  
Old 02-15-2008, 03:26 AM
classiceq
Sarnak
 
Join Date: Jan 2008
Posts: 47
Default

After finishing with Administative Punishment....I built him something on a seperate machine to learn on.

Unfortunately from the sounds of it I am a day to late. I used a gui program to back up the data.

Oddly enough it is the only thing I use it for. Not sure why actually. Everything else is done via command line.

I checked all my backups doing a few test restores along the way and none of them have any data in the blob.

Lesson learned.

Thanks for the info guys. I appreciate you taking the time to help out.

- Razzle
Reply With Quote
  #3  
Old 02-15-2008, 04:35 AM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Well, it's not a total loss you still have your inventories intact. Items are the real pain to restore, imho. What I'd do in your case is mark down the current IDs of all your toons and then wipe the character_ table. Then, re-create the toons in-game. Go back to the db, and change the toon's IDs so they match their old values. The next time you log in, all of your items will be there as you left them. From there, you just need to use GM commands to get your level, AAs, skills, and spell scrolls back. If you have a small private server, that won't be too bad. After you're done, immediately make a backup with mysqldump and check to make sure that the BLOBs are intact in it.
Reply With Quote
  #4  
Old 02-15-2008, 04:53 AM
classiceq
Sarnak
 
Join Date: Jan 2008
Posts: 47
Default

Thanks CD. That is exactly what I started doing. It is tedious but will serve its purpose.

From the looks of it I have about 60 toons to create maybe less. I will only create those that have logged in for the past 30 days.

Should make for a interesting weekend. Can't ride because of the rain so I might as well make it an EQEMU weekend.

- Razzle
Reply With Quote
  #5  
Old 02-15-2008, 05:14 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

I'm not sure if this will actually work, but you might want to try inserting data without any values into the blobs (all binary 0's). I would imagine the easiest way to do this would be the following:

Quote:
UPDATE character_ SET profile = RPAD('',19568,CHAR(0)) WHERE LENGTH(profile) != 19568
To clarify, that's 2 apostrophies inside the RPAD. This should create a blob 19568 characters long with all zeroed information wherever the blob isn't the appropriate length. However, I'm not sure if the server will be able to do anything with it, other than maybe inserting the character name, because it is stored in the name field also.
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
  #6  
Old 02-15-2008, 06:13 AM
classiceq
Sarnak
 
Join Date: Jan 2008
Posts: 47
Default

One problem I did find is the race information is stored in the blob. With out that info I can't do a mass creation of toons.

I will try to insert the data into the blob and see what happens.

- Razzle
Reply With Quote
  #7  
Old 02-15-2008, 06:37 AM
classiceq
Sarnak
 
Join Date: Jan 2008
Posts: 47
Default

I used the sql command to modify the blob and it completes without error but doesn't make any changes that I can see. The blob is still empty.

- Razzle
Reply With Quote
  #8  
Old 02-15-2008, 08:57 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

Even though it doesn't show anything, there should still be information there (the ASCII character 0 is NULL). This is the easiest way to make sure:

Quote:
SELECT LENGTH(profile) FROM character
If you want to, you can also add a WHERE or LIMIT clause to limit the results to specific records (good for a larger database), but it should return a length of 19568. If not, it might require adding some info to the first few bytes of data (the checksum field):

Quote:
UPDATE character_ SET profile = RPAD('ABCD',19568,CHAR(0)) WHERE LENGTH(profile) != 19568
To be honest though, I think the better way to do it would be either to do what cavedude recommended & recreate the characters, etc. However, you could also just inject the known info (race, diety, etc) using other SQL commands.

Either way, good luck with the project
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 12:41 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3