
๐ OpenSimulator Royal Flush

The cleanest hand in the metaverse.
OpenSimulator Royal Flush is a WordPress plugin for OpenSimulator grids running w4os. It automatically identifies, emails, and queues no-avatar accounts for admin review and safe bulk deletion โ keeping your grid database clean of bots, abandoned registrations, and dead weight.
Because every grid deserves a clean database.
๐ What It Does
When someone registers on your WordPress/w4os grid but never creates an avatar, they sit in your database forever โ taking up space, skewing your user counts, and making it harder to find real residents. Royal Flush fixes that.
- Day 30 โ Sends a friendly reminder email with a link to create their avatar
- Day 59 โ Sends a final warning email โ “your account will be removed tomorrow”
- Day 60 โ Flags the account in the admin review queue
- Admin reviews โ You decide who gets flushed. Nothing is ever auto-deleted.
โจ Features
- Safe by design โ No accounts are ever auto-deleted. Admin review and confirmation required for every flush
- Avatar-aware โ Any account with a
w4os_uuidis completely invisible to this plugin. Established residents are untouchable, always - Bot farm detection โ Automatically identifies suspect email domains with multiple no-avatar accounts
- Trusted domain management โ Pre-populated with 38 legitimate providers (Gmail, Yahoo, Hotmail, Proton, iCloud, AOL and more) so real users never get flagged as bots
- Color-coded review screen โ Red = disabled, orange = queued, yellow = pending. Spot the obvious ones instantly
- Bulk select tools โ Select All, Select Queued, Select Disabled*, Deselect All
- Email tracking โ D30 and D59 indicators show exactly which emails have been sent โ never sent twice
- Daily WP-Cron scan โ Runs automatically every day. Manual scan button available for immediate runs
- Admin/Editor exempt โ Users with
edit_postscapability are never flagged, ever - Clean deactivation โ Deactivating removes the cron schedule cleanly
- (Disabled Accounts Requires Disable User Log-In Plug-Inย https://wordpress.org/plugins/disable-user-login)
๐ Requirements
- WordPress 5.0+
- w4os โ OpenSimulator Web Interface installed and configured
- (Disabled Accounts Requires Disable User Log-In Plug-Inย https://wordpress.org/plugins/disable-user-login)
- An OpenSimulator grid with WordPress-based registration
- PHP 7.4+
๐ Installation
- Download the latest release zip from the Releases page
- In WordPress admin go to Plugins โ Add New โ Upload Plugin
- Upload the zip and click Install Now
- Click Activate Plugin
- Navigate to Users โ ๐ Royal Flush
- Click โถ Run Scan Now to immediately populate the queue with existing no-avatar accounts
- Review the list and flush at will
โ๏ธ Configuration
Trusted Domains
Navigate to Users โ Royal Flush Settings to manage your trusted domain list.
Trusted domains are never flagged as bot farm domains regardless of how many no-avatar accounts share them. The default list includes 38 common legitimate email providers. Add or remove domains as needed โ one per line, lowercase.
To add a domain directly from the main screen, click the “Add to trusted domains โ” link in the bot farm warning bar.
๐ฅ๏ธ Admin Screen
Users โ ๐ Royal Flush
| Column | Description |
|---|---|
| Username | Links to WP User Edit screen |
| Full email address with trusted domain indicator | |
| Registered | Account creation date |
| Days Old | Days since registration โ bold red at 60+, amber at 30+ |
| Last Seen | Last active date |
| Status | Active or Disabled |
| Emails Sent | D30 / D59 sent indicators with timestamps on hover |
| Queue | Watching / Pending / Queued |
Row Color Coding
| Color | Meaning |
|---|---|
| Red background | Account is disabled |
| Orange background | In delete queue (60+ days) |
| Yellow background | Pending (30+ days) |
| White | Recently registered, still watching |
๐ง Email Content
Day 30 โ Friendly Reminder
Sent once to any no-avatar account registered for 30+ days. Includes a direct link to the avatar creation page.
Day 59 โ Final Warning
Sent once to any no-avatar account registered for 59+ days. Clearly states the account will be queued for removal with one final opportunity to create an avatar.
Both emails are sent once per account, ever. The timestamp is stored in user meta and the scan never sends that email again.
๐ Safety Features
- No auto-delete โ Ever. Admin must manually select and confirm every deletion
- Double confirmation โ Dialog shows exact count before any deletion proceeds
- Final server-side check โ At deletion time every account is re-verified: anyone with an avatar, admin privileges, or matching your own user ID is skipped
- You cannot delete yourself โ Hardcoded protection
- Admins and Editors are always exempt
๐๏ธ User Meta Keys
| Key | Value |
|---|---|
orf_email_d30 | Datetime D30 email was sent |
orf_email_d59 | Datetime D59 email was sent |
orf_queued | Datetime account was flagged for deletion queue |
๐ Changelog
See CHANGELOG.md
๐ License
GNU General Public License v2.0 โ see LICENSE
๐ค Author
Gundahar Bravin โ nerdypappy.com
Built for NeverWorld Grid โ Live. Love. Create.
๐ค Contributing
Issues and pull requests welcome! If you run an OpenSimulator grid and hit a use case this plugin doesn’t handle, open an issue and let’s talk. On Github!
โญ If This Helped You
Give the repo a star and tell your fellow grid operators. The OpenSimulator community is small โ sharing tools makes everyone’s grid better.