From 51e13ae58881233a837dafb1ef33eb141c172e8d Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Thu, 28 Jul 2016 14:32:32 +0200 Subject: [PATCH] Builtin: Disallow registering users with the same name Prevents duplicate names: 'NickName', 'nickname', 'NICKNAME'. Skips already registered users, so they can connect as usual. --- builtin/game/auth.lua | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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)