summaryrefslogblamecommitdiffstats
path: root/MCServer/Plugins/Core/ban.lua
blob: 4e882b66f82497ff9222fbd01183a155cdb3aa74 (plain) (tree)
1
2
3
4
5
6
7
8
9
10





                                                                                          



                                                     





                                                                                               
 

                    
 










                                                               

                                                


                                                       

            


                                                                                   
         

                    
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