Brazil's biggest MU Online portal — since 2003
Tutorial Beginner Admin

How to recover an account with a lost password on your MU Online server

Set up and run a secure password recovery process for your MU Online server's players, including identity verification, web panel reset, and direct database reset when needed.

BR Bruno · Updated on Jan 30, 2026 · ⏱ 12 min read
Quick answer

Losing a password is one of the most common support tickets on any MU Online server, and how you handle it shapes the perceived security and professionalism of your project. A sloppy process — resetting a password just because someone asked on Discord — opens the door to account theft and damages th

Losing a password is one of the most common support tickets on any MU Online server, and how you handle it shapes the perceived security and professionalism of your project. A sloppy process — resetting a password just because someone asked on Discord — opens the door to account theft and damages the community. This tutorial covers the full flow: identity verification, web panel recovery, manual database reset, and the security best practices needed to avoid turning support into a vulnerability.

Why the recovery process needs to be strict

Account theft is one of the most frequent complaints in private MU communities, and it often starts exactly with a flaw in the recovery process: a scammer impersonates the owner, requests a reset in a private message to the admin, and gets access to someone else's account. Treating password recovery as a security procedure, not a quick courtesy, is what separates trustworthy servers from those that suffer recurring fraud.

Where passwords are stored

In the most common emulators (MuEmu, IGCN, GMU), accounts live in the MEMB_INFO table (or an equivalent name) in the MySQL/MSSQL database, with the password stored as a hash. Before starting any recovery process, confirm which hashing algorithm your server uses — this determines how you'll generate the new password during a manual reset.

SELECT memb___id, mail_addr, bloc_code, appl_date
FROM MEMB_INFO
WHERE memb___id = 'nomedaconta';

Automated flow via web panel

The ideal path is a self-service recovery panel, where the player enters their email or username, receives a reset link by email, and sets a new password themselves. A typical flow:

  1. The player clicks "Forgot my password" on the panel.
  2. The system generates a unique token with an expiration (15-30 min) and sends it to the registered email.
  3. The player clicks the link and lands on a new password form.
  4. The system validates the token, updates the hash in the database, and invalidates the used token.
  5. An email confirms the change was made, so the player notices if it wasn't them.

Identity verification when there's no automated panel

When support has to be manual (via Discord, ticket, or direct email), identity verification is the step you can't skip. Ask for at least two of the following before any reset:

Verification itemWhy it works
Email registered at signupOnly the original owner would have access
Character names on the accountA detail a scammer rarely knows by heart
Recurring login IP (compared to the ticket)Indicates a history of legitimate access
Recent items in inventory or vaultHard to guess without prior access
Approximate account creation dateReduces risk of error on accounts with the same name

Manual database reset

Once identity is confirmed and no automated system is available, a direct MySQL reset is the solution. Generate the new password's hash using the same algorithm the emulator uses (often plain MD5 or SHA-256, depending on the version) and update the corresponding column:

UPDATE MEMB_INFO
SET memb__pwd = SHA2('novaSenhaTemporaria123', 256)
WHERE memb___id = 'nomedaconta';

Always provide a strong temporary password and instruct the player to change it immediately after logging in, so they don't keep reusing the temporary one set by support.

Logging the support case

Every manual reset should be logged — date, who requested it, who handled it, what data was used for verification. This protects the administrator in case of a future dispute ("I never asked for that reset") and creates a history to spot patterns of repeated fraud attempts against the same account.

Log fieldExample
Date/time2026-03-14 20:12
Affected accountplayer123
Handled byGM_Bruno
Verification methodEmail + character names
Action takenManual reset via SQL

Prevention: reducing recovery requests

Encourage valid email registration at signup (blocking obviously fake emails), offer optional two-factor authentication for accounts with valuable items, and publish a visible FAQ on the site explaining the recovery process — this reduces the volume of repetitive manual tickets and exposure to fraud.

Differences between emulators in password storage

EmulatorTypical tableCommon algorithm
MuEmuMEMB_INFOMD5 or plain text (older versions)
IGCNMEMB_INFOSHA-256 (recent versions)
GMU / OpenMUAccountBCrypt (more secure)
X-TeamMEMB_INFOVaries, check config

If your server still uses plain text or unsalted MD5, migrating to a stronger algorithm (BCrypt, salted SHA-256) should be a security priority, regardless of how urgent other tickets seem.

Automating with a Discord support bot

Many servers use bots (custom-built or based on frameworks like discord.js) to automate part of the verification: the bot asks for the data, cross-checks it against the database via an internal API, and only enables the reset button for a human moderator after the automated validation passes. This reduces human error and speeds up support without sacrificing security.

Common errors and fixes

SymptomLikely causeFix
Account stolen after password resetInsufficient identity verificationRequire at least two cross-checked verification items
Recovery email never arrivesIncorrect SMTP configuration on the panelReview SMTP credentials and test manual sending
New password's hash doesn't match at loginAlgorithm used in the UPDATE differs from expectedConfirm the emulator's exact algorithm before running the SQL
Player complains about a reset they didn't requestLack of a support logImplement mandatory logging for every reset
Scammer impersonates supportNo clear official channelWidely publicize the single valid support channel
Too many repeated manual ticketsNo self-service recovery availableImplement an automated email-based flow on the panel

Secure password recovery checklist

  • Self-service email recovery flow working on the panel.
  • Minimum identity verification criteria documented and followed.
  • Password hash algorithm identified and updated if needed.
  • Manual support log implemented.
  • Single official support channel published on site/Discord.
  • Public FAQ about password recovery available.
  • Strong temporary password generated on every manual reset.

With a well-defined password recovery process, it's worth reviewing the server's overall security to reduce other attack vectors — see the MU Online server setup tutorial to check the fundamentals of secure configuration from the start.

Frequently asked questions

Is it safe to reset a password directly in the database?

Yes, as long as you're certain of the player's identity before doing so. A direct MySQL reset is the most reliable method when the email recovery panel fails or the player no longer has access to their registered email.

How do I confirm the player is really the account owner?

Ask for at least two pieces of information only the owner would know: registration email, recent inventory items, character names, a recurring login IP, or the answer to a security question set at registration. Never reset a password based solely on a username mentioned in chat.

What if the player doesn't even remember the registered email?

Look up the account by character name in the database and check indirect data, such as login IP or account creation date, cross-referencing it with whatever the player can recall from memory, like rare items or the guild they were in.

How are passwords stored in the MU database?

Most emulators use a hash (MD5 or SHA, depending on the version) in the accounts table, usually MEMB_INFO or an equivalent. Storing passwords in plain text is never recommended; if your server does this, migrating to a hash should be a security priority before any other fix.

Should I automate password recovery via email?

Yes, it's ideal for reducing manual support load and avoiding human error. An email-based recovery system with a confirmation link and a 15-30 minute expiration handles most cases without needing direct database intervention.

BR
Events, maps & items editor

Bruno specializes in MU Online events, maps, bosses and item economy. He documents every detail based on real gameplay.

Keep reading

Related articles