Backpack password handling tightened with op bypass support
Password commands now verify the backpack exists and is locked; they give a clear “no password yet” message. Ops can delete a password without providing one, while regular players must supply and verify the current password to change/delete.
Password verification supports PBKDF2 (SHA-256) alongside legacy salted SHA-256, using safer parsing and constant-time comparisons.
Ops can open locked backpacks without entering a password; non-ops remain blocked if locked.
Database checks accept null to intentionally bypass verification for privileged flows (MySQL/SQLite).