7b75aaea7c
RCON authentication is now required before executing commands. Console command handlers now return two values, bool (IsHandled) and string (CommandOutput). API change: removed cRoot:ExecuteConsoleCommand(), added cRoot:QueueExecuteConsoleCommand(). API change: removed cPluginManager:ExecuteConsoleCommand(), use cRoot:QueueExecuteConsoleCommand() instead git-svn-id: http://mc-server.googlecode.com/svn/trunk@1631 0a769ca7-a7f5-676a-18bf-c427514a06d6
44 lines
1013 B
Lua
44 lines
1013 B
Lua
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 |