diff options
author | SmallJoker <mk939@ymail.com> | 2016-07-28 14:32:32 +0200 |
---|---|---|
committer | paramat <mat.gregory@virginmedia.com> | 2016-08-29 00:58:39 +0100 |
commit | 51e13ae58881233a837dafb1ef33eb141c172e8d (patch) | |
tree | 860fa5f643629847511745d14013e83d4a290588 | |
parent | e10fee00011f6c1ef8ee5b884adb11013954a1c9 (diff) | |
download | minetest-51e13ae58881233a837dafb1ef33eb141c172e8d.tar.gz minetest-51e13ae58881233a837dafb1ef33eb141c172e8d.tar.bz2 minetest-51e13ae58881233a837dafb1ef33eb141c172e8d.zip |
Builtin: Disallow registering users with the same name
Prevents duplicate names: 'NickName', 'nickname', 'NICKNAME'.
Skips already registered users, so they can connect as usual.
-rw-r--r-- | builtin/game/auth.lua | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/builtin/game/auth.lua b/builtin/game/auth.lua index deb811b14..46fe3d342 100644 --- a/builtin/game/auth.lua +++ b/builtin/game/auth.lua @@ -199,3 +199,19 @@ core.register_on_joinplayer(function(player) record_login(player:get_player_name()) end) +core.register_on_prejoinplayer(function(name, ip) + local auth = core.auth_table + if auth[name] ~= nil then + return + end + + local name_lower = name:lower() + for k in pairs(auth) do + if k:lower() == name_lower then + return string.format("\nCannot create new player called '%s'. ".. + "Another account called '%s' is already registered. ".. + "Please check the spelling if it's your account ".. + "or use a different nickname.", name, k) + end + end +end) |