summaryrefslogtreecommitdiffstats
path: root/MCServer/Plugins/Core
diff options
context:
space:
mode:
authorfaketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-10-11 16:30:28 +0200
committerfaketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-10-11 16:30:28 +0200
commit0433de9955d500c6ab8b6819e4f64c06a7317f98 (patch)
tree9417d745cf3b65301718ba5584fff983140a3ae2 /MCServer/Plugins/Core
parentCan now send usertypes (cPlayer, cEntity, cCuboid) along with a plugin:Call() (diff)
downloadcuberite-0433de9955d500c6ab8b6819e4f64c06a7317f98.tar
cuberite-0433de9955d500c6ab8b6819e4f64c06a7317f98.tar.gz
cuberite-0433de9955d500c6ab8b6819e4f64c06a7317f98.tar.bz2
cuberite-0433de9955d500c6ab8b6819e4f64c06a7317f98.tar.lz
cuberite-0433de9955d500c6ab8b6819e4f64c06a7317f98.tar.xz
cuberite-0433de9955d500c6ab8b6819e4f64c06a7317f98.tar.zst
cuberite-0433de9955d500c6ab8b6819e4f64c06a7317f98.zip
Diffstat (limited to 'MCServer/Plugins/Core')
-rw-r--r--MCServer/Plugins/Core/ban.lua38
-rw-r--r--MCServer/Plugins/Core/kick.lua37
-rw-r--r--MCServer/Plugins/Core/onlogin.lua16
3 files changed, 57 insertions, 34 deletions
diff --git a/MCServer/Plugins/Core/ban.lua b/MCServer/Plugins/Core/ban.lua
index a6a662c3c..a4a4822bd 100644
--- a/MCServer/Plugins/Core/ban.lua
+++ b/MCServer/Plugins/Core/ban.lua
@@ -4,27 +4,37 @@ function HandleBanCommand( Split, Player )
return true
end
- local World = Player:GetWorld()
- local OtherPlayer = World:GetPlayer( Split[2] )
- if( OtherPlayer == nil ) then
- Player:SendMessage( cChatColor.Green .. "Could not find player " .. Split[2] )
- 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
- local Server = cRoot:Get():GetServer()
- LOGINFO( Player:GetName() .. " is banning " .. OtherPlayer:GetName() .. " ( "..Reason..") " )
- Server:SendMessage( "Banning " .. OtherPlayer:GetName() )
+ return true
+end
- local ClientHandle = OtherPlayer:GetClientHandle()
- ClientHandle:Kick( Reason )
+function BanPlayer( PlayerName, Reason )
+ if( Reason == nil ) then
+ Reason = "You have been banned"
+ end
+
+ local Success, RealName = KickPlayer( PlayerName, Reason )
+ if( Success == false ) then
+ return false
+ end
+
+ LOGINFO( "'" .. RealName .. "' is being banned for ( "..Reason..") " )
- BannedPlayersIni:SetValueB("Banned", OtherPlayer:GetName(), true)
+ local Server = cRoot:Get():GetServer()
+ Server:SendMessage( "Banning " .. RealName )
+
+ BannedPlayersIni:SetValueB("Banned", RealName, true)
BannedPlayersIni:WriteFile()
-
+
return true
end \ No newline at end of file
diff --git a/MCServer/Plugins/Core/kick.lua b/MCServer/Plugins/Core/kick.lua
index ce8bd7a31..5004c8c2f 100644
--- a/MCServer/Plugins/Core/kick.lua
+++ b/MCServer/Plugins/Core/kick.lua
@@ -4,26 +4,39 @@ function HandleKickCommand( Split, Player )
return true
end
+ local Reason = "You have been kicked"
+ if( #Split > 2 ) then
+ Reason = table.concat(Split, " ", 3)
+ end
+
+ if( KickPlayer( Split[2], Reason ) == false ) then
+ Player:SendMessage( cChatColor.Green .. "Could not find player " .. Split[2] )
+ end
+
+ return true
+end
+
+
+function KickPlayer( PlayerName, Reason )
+ local RealName = ""
local FoundPlayerCallback = function( OtherPlayer )
- local Reason = "You have been kicked"
- if( #Split > 2 ) then
- Reason = table.concat(Split, " ", 3)
+ if( Reason == nil ) then
+ Reason = "You have been kicked"
end
+
+ RealName = OtherPlayer:GetName()
local Server = cRoot:Get():GetServer()
- LOGINFO( Player:GetName() .. " is kicking " .. OtherPlayer:GetName() .. " ( "..Reason..") " )
- Server:SendMessage( "Kicking " .. OtherPlayer:GetName() )
+ LOGINFO( "'" .. RealName .. "' is being kicked for ( "..Reason..") " )
+ Server:SendMessage( "Kicking " .. RealName )
local ClientHandle = OtherPlayer:GetClientHandle()
ClientHandle:Kick( Reason )
end
- if( cRoot:Get():FindAndDoWithPlayer( Split[2], FoundPlayerCallback ) == false ) then
- Player:SendMessage( cChatColor.Green .. "Could not find player " .. Split[2] )
- return true
+ if( cRoot:Get():FindAndDoWithPlayer( PlayerName, FoundPlayerCallback ) == false ) then
+ return false -- could not find player
end
-
-
-
- return true
+
+ return true, RealName -- player should be kicked now
end \ No newline at end of file
diff --git a/MCServer/Plugins/Core/onlogin.lua b/MCServer/Plugins/Core/onlogin.lua
index a706f8024..07b8460ee 100644
--- a/MCServer/Plugins/Core/onlogin.lua
+++ b/MCServer/Plugins/Core/onlogin.lua
@@ -1,16 +1,16 @@
-function OnLogin( PacketData )
- if( PacketData.m_Username ~= "" ) then
- if( BannedPlayersIni:GetValueB("Banned", PacketData.m_Username, false) == true ) then
+function OnLogin(Client, ProtocolVersion, Username)
+ if( Username ~= "" ) then
+ if( BannedPlayersIni:GetValueB("Banned", Username, false) == true ) then
local Server = cRoot:Get():GetServer()
- Server:SendMessage( PacketData.m_Username .. " tried to join, but is banned!" )
- LOGINFO( PacketData.m_Username .. " tried to join, but is banned!")
+ Server:SendMessage( Username .. " tried to join, but is banned!" )
+ LOGINFO( Username .. " tried to join, but is banned!")
return true -- Player is banned, return true to deny access
end
if( WhiteListIni:GetValueB("WhiteListSettings", "WhiteListOn", false ) == true ) then
- if( WhiteListIni:GetValueB("WhiteList", PacketData.m_Username, false ) == false ) then -- not on whitelist
+ if( WhiteListIni:GetValueB("WhiteList", Username, false ) == false ) then -- not on whitelist
local Server = cRoot:Get():GetServer()
- Server:SendMessage( PacketData.m_Username .. " tried to join, but is not on the whitelist." )
- LOGINFO( PacketData.m_Username .. " tried to join, but is not on the whitelist." )
+ Server:SendMessage( Username .. " tried to join, but is not on the whitelist." )
+ LOGINFO( Username .. " tried to join, but is not on the whitelist." )
return true -- Deny access to the server
end
end