aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/CharacterDBCleanup.txt33
1 files changed, 33 insertions, 0 deletions
diff --git a/doc/CharacterDBCleanup.txt b/doc/CharacterDBCleanup.txt
new file mode 100644
index 00000000000..bcf1f380f4e
--- /dev/null
+++ b/doc/CharacterDBCleanup.txt
@@ -0,0 +1,33 @@
+ The purpose of the CharacterDB cleanup routines is to remove old, non-
+existent and erranous/defunct skills, talents, spells, and achievements
+from characters in the database.
+
+ To achieve this, add an entry (number) in the worldstate-table
+(id:20004), combining the following arguments (bitmasked):
+
+ CLEANING_FLAG_ACHIEVEMENT_PROGRESS = 0x1
+ CLEANING_FLAG_SKILLS = 0x2
+ CLEANING_FLAG_SPELLS = 0x4
+ CLEANING_FLAG_TALENTS = 0x8
+
+Example:
+ We want to clean up old talents, spells and skills, but leave
+achivements alone - ie. NOT touching those. We'd then need to combine
+the numbers from each of the above fields:
+
+ CLEANING_FLAG_SKILLS + CLEANING_FLAG_SPELLS + CLEANING_FLAG_TALENTS
+
+This comes out as 2+4+8 => 14, and we now put an entry in for this in
+the worldstate table (this is done on the CHARACTERS database) :
+
+ UPDATE worldstates SET value=14 WHERE entry=20004;
+
+This will then (when the core is restarting) clean up old and missing
+skills, spells and talents.
+
+Please note that we are not responsible for any issues that might come
+from this, and that you are (as the owner of the database), responsible
+for doing proper backups prior to doing the above in case of anything
+going wrong.
+
+-- The TrinityCore developer team