Account Remover

Mumbles

Former Global Moderator
Messages
618
Points
0
Location
California
Discord
Mumbles#0001
Github
datmumbles
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

 
Last edited by a moderator:
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.

 
Last edited by a moderator:
Back
Top