Mumbles 193 Posted November 12, 2013 Utility: Account Remover Description: Allows for a (mostly) clean removal of accounts and regular character data via '@removeacc'. Rejects accounts that are currently online and prevents deletion of system accounts by default. See configuration for additional options. Download: https://github.com/datmumbles/Scripts/raw/master/util/removeacc.txt 1 Chemical Crush reacted to this Quote Share this post Link to post Share on other sites
kerbiii 5 Posted November 12, 2013 total account deletion? Quote Share this post Link to post Share on other sites
Mumbles 193 Posted November 12, 2013 total account deletion? Currently, this is designed to erase the core account and character data attached to an account. The idea came from a discussion about account deletion via SQL that @jaBote left a comment on. // Delete account data query_sql "DELETE FROM `account_data` WHERE `account_id` = '"+ .@account_id +"'"; query_sql "DELETE FROM `friends` WHERE `friend_account` = '"+ .@account_id +"'"; query_sql "DELETE FROM `guild_expulsion` WHERE `account_id` = '"+ .@account_id +"'"; query_sql "DELETE FROM `guild_member` WHERE `account_id` = '"+ .@account_id +"'"; query_sql "DELETE FROM `login` WHERE `account_id` = '"+ .@account_id +"'"; query_sql "DELETE FROM `party` WHERE `leader_id` = '"+ .@account_id +"'"; query_sql "DELETE FROM `pet` WHERE `account_id` = '"+ .@account_id +"'"; query_sql "DELETE FROM `sc_data` WHERE `account_id` = '"+ .@account_id +"'"; query_sql "DELETE FROM `storage` WHERE `account_id` = '"+ .@account_id +"'"; // Delete account registry information if (.acc_reg) { query_sql "DELETE FROM `global_reg_value` WHERE `account_id` = '"+ .@account_id +"'"; } // Delete character data for (.@i = 0; .@i < getarraysize(.@char_id); .@i++) { query_sql "DELETE FROM `cart_inventory` WHERE `char_id` = '"+ .@char_id[.@i] +"'"; query_sql "DELETE FROM `char` WHERE `char_id` = '"+ .@char_id[.@i] +"'"; query_sql "DELETE FROM `friends` WHERE `char_id` = '"+ .@char_id[.@i] +"'"; query_sql "DELETE FROM `guild` WHERE `char_id` = '"+ .@char_id[.@i] +"'"; query_sql "DELETE FROM `homunculus` WHERE `char_id` = '"+ .@char_id[.@i] +"'"; query_sql "DELETE FROM `hotkey` WHERE `char_id` = '"+ .@char_id[.@i] +"'"; query_sql "DELETE FROM `inventory` WHERE `char_id` = '"+ .@char_id[.@i] +"'"; query_sql "DELETE FROM `mail` WHERE `dest_name` = '"+ getcharname(.@char_id[.@i]) +"'"; query_sql "DELETE FROM `mail` WHERE `send_name` = '"+ getcharname(.@char_id[.@i]) +"'"; query_sql "DELETE FROM `memo` WHERE `char_id` = '"+ .@char_id[.@i] +"'"; query_sql "DELETE FROM `mercenary` WHERE `char_id` = '"+ .@char_id[.@i] +"'"; query_sql "DELETE FROM `mercenary_owner` WHERE `char_id` = '"+ .@char_id[.@i] +"'"; query_sql "DELETE FROM `quest` WHERE `char_id` = '"+ .@char_id[.@i] +"'"; query_sql "DELETE FROM `skill` WHERE `char_id` = '"+ .@char_id[.@i] +"'"; } Note that in this version, some unwanted "residue" may be left over. For example, guilds in which the leader's account was deleted may still remain intact while the server is intact; a server restart finalise the changes, but this situation hasn't been tested. Additionally, skills that belonged to an account's deleted homunculus will remain in the `homunculus_skills` database. If you have any questions, comments, or suggestions, please feel free to leave your input. Quote Share this post Link to post Share on other sites
Mumbles 193 Posted January 16, 2014 Updated for compatibility with 82b583b. Quote Share this post Link to post Share on other sites