diff options
author | Alexander Harkness <bearbin@gmail.com> | 2013-07-27 17:16:04 +0200 |
---|---|---|
committer | Alexander Harkness <bearbin@gmail.com> | 2013-07-27 17:16:04 +0200 |
commit | 0623a4f9be1c21651ea212f7b4d86136a67ddffe (patch) | |
tree | 5a96f13f72fa394bf74d10839a76ec7a1eac9275 /Core/ban-unban.lua | |
parent | Removed all the pre-exising core files. (diff) | |
download | cuberite-0623a4f9be1c21651ea212f7b4d86136a67ddffe.tar cuberite-0623a4f9be1c21651ea212f7b4d86136a67ddffe.tar.gz cuberite-0623a4f9be1c21651ea212f7b4d86136a67ddffe.tar.bz2 cuberite-0623a4f9be1c21651ea212f7b4d86136a67ddffe.tar.lz cuberite-0623a4f9be1c21651ea212f7b4d86136a67ddffe.tar.xz cuberite-0623a4f9be1c21651ea212f7b4d86136a67ddffe.tar.zst cuberite-0623a4f9be1c21651ea212f7b4d86136a67ddffe.zip |
Diffstat (limited to 'Core/ban-unban.lua')
-rw-r--r-- | Core/ban-unban.lua | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/Core/ban-unban.lua b/Core/ban-unban.lua new file mode 100644 index 000000000..cee511e37 --- /dev/null +++ b/Core/ban-unban.lua @@ -0,0 +1,60 @@ +function HandleBanCommand( Split, Player ) + if( #Split < 2 ) then + Player:SendMessage( cChatColor.Green .. "Usage: /ban [Player] <Reason>" ) + return true + end + + local Reason = "You have been banned" + if( #Split > 2 ) then + Reason = table.concat(Split, " ", 3) + end + + if( BanPlayer(Split[2], Reason) == false ) then + Player:SendMessage( cChatColor.Green .. "Could not find player " .. Split[2] ) + return true + end + + return true +end + +function BanPlayer(PlayerName, Reason) + -- Ban the player in the banned.ini: + BannedPlayersIni:SetValueB("Banned", PlayerName, true) + BannedPlayersIni:WriteFile() + + -- Kick the player: + if (Reason == nil) then + Reason = "You have been banned" + end + local Success = KickPlayer(PlayerName, Reason) + if (not(Success)) then + return false; + end + + LOGINFO("'" .. PlayerName .. "' has been banned (\"" .. Reason .. "\") "); + local Server = cRoot:Get():GetServer(); + Server:SendMessage("Banned " .. PlayerName); + + return true +end + +function HandleUnbanCommand( Split, Player ) + if( #Split < 2 ) then + Player:SendMessage( cChatColor.Green .. "Usage: /unban [Player]" ) + return true + end + + if( BannedPlayersIni:GetValueB("Banned", Split[2], false) == false ) then + Player:SendMessage( cChatColor.Green .. Split[2] .. " is not banned!" ) + return true + end + + BannedPlayersIni:SetValueB("Banned", Split[2], false, false) + BannedPlayersIni:WriteFile() + + local Server = cRoot:Get():GetServer() + LOGINFO( Player:GetName() .. " is unbanning " .. Split[2] ) + Server:SendMessage( "Unbanning " .. Split[2] ) + + return true +end
\ No newline at end of file |