I've suggested this a few times but we're doing it again!
An automated to clear out accounts as soon as they hit the 7 year inactive mark (at reset obviously). If it can also be coded to do banned accounts at the 6 month mark that'd be awesome (maybe have a flag to ignore the account if someone is banned temporarily for more than 6 months if that's a thing?).
These names clearings are extremely stressful and often create animosity between users. I remember I got a name last clearing that basically had the SB carrying pitchforks if "whoever got it" didn't give it to someone else. No one deserves a name more than anyone else, but that doesn't stop people from getting angry about another user getting it. People also lose a lot of sleep over it, which is unhealthy and promotes an unhealthy playstyle.
Pros:
- ALL accounts that are eligible would be cleared, ensuring no names are missed and the database gets cleaned out better
- No late nights
- No stress from users
- No human error chance
- No having to dig through and make lists of accounts for someone else to clear
- More chance for a new user to get a cool name because they aren't all organized in one showroom for older users to suddenly see and decide "oh, that's a good name" when otherwise they would never have thought of it (I do this myself for selling, but it'd be better overall for users to have a chance of suddenly stumbling on a good name while naming something)
- Names getting cleared not affected by the availability of the person/people that can put them into the "clearing" section
- Clearings consistent and constant, not whenever there is time to start one
- No manually remembering to clear out items from all locations (if items are included)
- Cleaner item DB counts
- No need to screen names being moved for racist meanings because they'll get deleted without pomp or circumstance
Cons:
IDK?
Bonus if it can also clear the items from the account so we have a more accurate count in the item DB.
Technical notes as suggestions for the scr.ipt (for devs, skip if you're just reading the suggestion):
- Check last activity date. If that date is for some reason before the year... 2004 let's say, then check last login date. That should cover the glitched out activity dates while also covering users that don't get auto-logged out too often.
- When the proper date hits for an account, pass that user ID to a bunch of SQL that clears everything from the relevant tables where the user ID matches the one passed. These tables would include the storage for showroom, rancher shop, Creatu collections, profile, graveyard, gallery, item collections, closet, inventory, merchant shop, book shelf, squishy shelf, clothing rack, storage, food pen, and anything else I've missed.
- If possible, clear out eggs as well in the above step. I don't know that it truly affects anything but anything that cuts out giant swaths of data is good right?
- Just for fun we can also clear out their bank but that's really completely unimportant to me and shouldn't be a factor when making this
SQL (repeat for each relevant table):
DELETE FROM table
WHERE user_id = ####
Bonus bonus: Maybe make a to go through once a week/month and send you the names/IDs of people who have that glitched date and still have pets/items on the account so you can double-check them, unless using the last login date fixes that issue entirely and we stop caring, then this will be a non-issue.