liyunfan1223 / mod-playerbots

AzerothCore Playerbots Module
https://discord.gg/NQm5QShwf9
GNU Affero General Public License v3.0
258 stars 141 forks source link

After resetting the random robot account, the robot role still remains in the database. How to delete unused robot roles #282

Open cj-br opened 3 months ago

cj-br commented 3 months ago

After initializing the robot account using the configuration file。

AiPlayerbot.DeleteRandomBotAccounts=1

  1. Set the conf file to delete bots accounts and guilds.
  2. start server - it will run up then stop.
  3. change the conf file to preserve bots
  4. run up server. Fixed.

After several operations, there is a large amount of legacy data in the character. How to delete it

This reason may cause my WorldServer to fail to start

hermensbas commented 3 months ago

https://discord.com/channels/1119972709091250236/1119972709091250239/1254521143730110514

DELETE FROM acore_playerbots.playerbots_random_bots; UPDATE acore_characters.playerbots_names SET in_use=0; DELETE FROM acore_characters.character_account_data WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.character_achievement WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.character_achievement_progress WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.character_action WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.character_aura WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.character_glyphs WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.character_homebind WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.item_instance WHERE guid IN (SELECT item FROM acore_characters.character_inventory WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%'))); DELETE FROM acore_characters.character_inventory WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.pet_aura WHERE guid IN (SELECT id FROM acore_characters.character_pet WHERE owner IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%'))); DELETE FROM acore_characters.pet_spell WHERE guid IN (SELECT id FROM acore_characters.character_pet WHERE owner IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%'))); DELETE FROM acore_characters.pet_spell_cooldown WHERE guid IN (SELECT id FROM acore_characters.character_pet WHERE owner IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%'))); DELETE FROM acore_characters.character_pet WHERE owner IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.character_queststatus WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.character_queststatus_rewarded WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.character_reputation WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.character_skills WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.character_social WHERE friend IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.character_spell WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.character_spell_cooldown WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.character_talent WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.corpse WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.groups WHERE leaderGuid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.group_member WHERE memberGuid IN (SELECT guid FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%')); DELETE FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%'); DELETE FROM acore_auth.account WHERE username LIKE 'RNDBOT%';

christan-duplicate commented 3 months ago

我用这个:

DELETE FROM acore_playerbots.playerbots_random_bots;
UPDATE acore_characters.playerbots_names SET in_use=0;
DELETE FROM acore_characters.character_account_data WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.character_achievement WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.character_achievement_progress WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.character_action WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.character_aura WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.character_glyphs WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.character_homebind WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.item_instance WHERE guid IN (SELECT item FROM acore_characters.character_inventory WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%')));
DELETE FROM acore_characters.character_inventory WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.pet_aura WHERE guid IN (SELECT id FROM acore_characters.character_pet WHERE owner IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%')));
DELETE FROM acore_characters.pet_spell WHERE guid IN (SELECT id FROM acore_characters.character_pet WHERE owner IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%')));
DELETE FROM acore_characters.pet_spell_cooldown WHERE guid IN (SELECT id FROM acore_characters.character_pet WHERE owner IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%')));
DELETE FROM acore_characters.character_pet WHERE owner IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.character_queststatus WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.character_queststatus_rewarded WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.character_reputation WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.character_skills WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.character_social WHERE friend IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.character_spell WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.character_spell_cooldown WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.character_talent WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.corpse WHERE guid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.groups WHERE leaderGuid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.group_member WHERE memberGuid IN (SELECT guid FROM acore_characters.characters WHERE account not IN (SELECT id FROM acore_auth.account WHERE username not LIKE 'RNDBOT%'));
DELETE FROM acore_characters.characters WHERE account IN (SELECT id FROM acore_auth.account WHERE username LIKE 'RNDBOT%');
DELETE FROM acore_auth.account WHERE username LIKE 'RNDBOT%';
Dreathean commented 3 months ago

@liyunfan1223 is it possible to tie these sql commands in with AiPlayerbot.DeleteRandomBotAccounts=1 so that everything is properly deleted automatically?

wowlove1133 commented 3 months ago

https://discord.com/channels/1119972709091250236/1119972709091250239/1254521143730110514

从 .; 更新。设置 =0;从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中(从 .其中像'RNDBOT%')));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中(从 .其中像'RNDBOT%')));从 中删除 。其中(从 .其中(从 .其中(从 .其中像'RNDBOT%')));从 中删除 。其中(从 .其中(从 .其中(从 .其中像'RNDBOT%')));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中(从 .其中像'RNDBOT%'));从 中删除 。其中(从 .其中像 'RNDBOT%');从 中删除 。其中像 'RNDBOT%';acore_playerbots``playerbots_random_bots``acore_characters``playerbots_names``in_use``acore_characters``character_account_data``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_achievement``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_achievement_progress``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_action``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_aura``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_glyphs``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_homebind``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``item_instance``guid``item``acore_characters``character_inventory``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_inventory``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``pet_aura``guid``id``acore_characters``character_pet``owner``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``pet_spell``guid``id``acore_characters``character_pet``owner``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``pet_spell_cooldown``guid``id``acore_characters``character_pet``owner``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_pet``owner``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_queststatus``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_queststatus_rewarded``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_reputation``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_skills``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_social``friend``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_spell``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_spell_cooldown``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``character_talent``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``corpse``guid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``groups``leaderGuid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``group_member``memberGuid``guid``acore_characters``characters``account``id``acore_auth``account``username``acore_characters``characters``account``id``acore_auth``account``username``acore_auth``account``username

its ok, thanks