aboutsummaryrefslogtreecommitdiff
path: root/builtin/game
diff options
context:
space:
mode:
authorSmallJoker <mk939@ymail.com>2016-07-28 14:32:32 +0200
committerparamat <mat.gregory@virginmedia.com>2016-08-29 00:58:39 +0100
commit51e13ae58881233a837dafb1ef33eb141c172e8d (patch)
tree860fa5f643629847511745d14013e83d4a290588 /builtin/game
parente10fee00011f6c1ef8ee5b884adb11013954a1c9 (diff)
downloadminetest-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.
Diffstat (limited to 'builtin/game')
-rw-r--r--builtin/game/auth.lua16
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)