diff --git a/MCServer/Plugins/Core/main.lua b/MCServer/Plugins/Core/main.lua
index 803600431..9aed80ab1 100644
--- a/MCServer/Plugins/Core/main.lua
+++ b/MCServer/Plugins/Core/main.lua
@@ -22,6 +22,7 @@ function Initialize( Plugin )
PluginManager:AddHook(Plugin, cPluginManager.HOOK_BLOCK_DIG)
PluginManager:AddHook(Plugin, cPluginManager.HOOK_KILLED)
PluginManager:AddHook(Plugin, cPluginManager.HOOK_CRAFTING_NO_RECIPE)
+ PluginManager:AddHook(Plugin, cPluginManager.E_PLUGIN_CHAT) -- used in web_chat.lua
Plugin:AddCommand("/help", " - [Page] Show this message", "core.help")
Plugin:AddCommand("/pluginlist", " - Show list of plugins", "core.pluginlist")
@@ -137,6 +138,7 @@ function Initialize( Plugin )
local WebPlugin = Plugin:CreateWebPlugin()
WebPlugin:SetName( Plugin:GetName() )
WebPlugin:AddTab( "Server Settings", HandleRequest_ServerSettings )
+ WebPlugin:AddTab( "Chat", HandleRequest_Chat )
WebPlugin:AddTab( "Playerlist", HandleRequest_PlayerList )
WebPlugin:AddTab( "Whitelist", HandleRequest_WhiteList )
WebPlugin:AddTab( "Permissions", HandleRequest_Permissions )
diff --git a/MCServer/Plugins/Core/web_chat.lua b/MCServer/Plugins/Core/web_chat.lua
new file mode 100644
index 000000000..66fe994eb
--- /dev/null
+++ b/MCServer/Plugins/Core/web_chat.lua
@@ -0,0 +1,110 @@
+local JavaScript = [[
+
+]]
+
+local ChatLogMessages = {}
+
+function AddMessage( PlayerName, Message )
+ table.insert( ChatLogMessages, { name = PlayerName, message = Message } )
+end
+
+function OnChat( Player, Message )
+ AddMessage( Player:GetName(), Message )
+end
+
+function HandleRequest_Chat( Request )
+ if( Request.Params["JustChat"] ~= nil ) then
+ local Content = ""
+ for key, value in pairs(ChatLogMessages) do
+ Content = Content .. "[" .. value.name .. "]: " .. value.message .. "
"
+ end
+ return Content
+ end
+
+ if( Request.Params["ChatMessage"] ~= nil ) then
+ local Message = "[WebAdmin]: " .. Request.Params["ChatMessage"]
+ cRoot:Get():GetServer():SendMessage( Message )
+ AddMessage("WebAdmin", Request.Params["ChatMessage"] )
+ return ""
+ end
+
+ local Content = JavaScript
+ Content = Content .. [[
+