I made a global chat using messagingservice, i've added a filter and everything. But the problem is that my messages aren't showing in other servers, And roblox studio isnt showing a single error in the output, Here are the scripts:

ChatSystem, ServerScript

local MS = game:GetService("MessagingService")

local Topic = "GlobalChat"

game.Players.PlayerAdded:Connect(function(plr)
	-- recieve chat
	local subscribeSuccess, subscribeConnection = pcall(function()
		return MS:SubscribeAsync(Topic, function(message)
			game.ReplicatedStorage.Events.RecieveChat:Fire(message.Data)
		end)
	end)
	if subscribeSuccess then
		plr.AncestryChanged:Connect(function()
			subscribeConnection:Disconnect()
		end)
	end
	-- send chat
	game.ReplicatedStorage.Events.SendChat.Event:Connect(function(chat)
		local publishSuccess, publishResult = pcall(function()
			local message = {plr.Name,chat}
			MS:PublishAsync(Topic, message)
		end)
		if not publishSuccess then
			print(publishResult)
		end
	end)
end)

RecieveChat, ServerScript

local TS = game:GetService("TextService")
local PLRS = game:GetService("Players")
local LP = script.Parent.Parent.Parent.Parent
local MaxChats = 40
local CN = 0
local cache = {}

function GetUserIdFromUsername(name)
	if cache[name] then 
		return cache[name] 
	end
	local player = PLRS:FindFirstChild(name)
	if player then
		cache[name] = player.UserId
		return player.UserId
	end 
	local id
	pcall(function()
		id = PLRS:GetUserIdFromNameAsync(name)
	end)
	cache[name] = id
	return id
end

local function FilterText(plr,chat)
	local TextObject
	local success, errorMessage = pcall(function()
		TextObject = TS:FilterStringAsync(chat, GetUserIdFromUsername(plr))
	end)
	if success then
		return TextObject
	end
	return nil
end

local function GetFilteredMessage(textObject, UserId)
	local FilteredMessage
	local success, errorMessage = pcall(function()
		FilteredMessage = textObject:GetChatForUserAsync(UserId)
	end)
	if success then
		return FilteredMessage
	end
	return nil
end

local function ColorChat(length)
	if length <= 3 then
		return Color3.fromRGB(38, 255, 136)
	elseif length == 4 then
		return Color3.fromRGB(84, 255, 5)
	elseif length == 5 then
		return Color3.fromRGB(227, 255, 83)
	elseif length == 6 then
		return Color3.fromRGB(253, 41, 67)
	elseif length == 7 then
		return Color3.fromRGB(59, 41, 255)
	elseif length == 8 then
		return Color3.fromRGB(220, 19, 255)
	elseif length == 9 then
		return Color3.fromRGB(255, 65, 65)
	elseif length == 10 then
		return Color3.fromRGB(255, 1, 13)
	elseif length == 11 then
		return Color3.fromRGB(28, 255, 161)
	elseif length == 12 then
		return Color3.fromRGB(255, 48, 138)
	elseif length == 13 then
		return Color3.fromRGB(255, 156, 69)
	elseif length == 14 then
		return Color3.fromRGB(17, 0, 255)
	elseif length >= 15 then
		return Color3.fromRGB(0, 255, 17)
	end
	return Color3.fromRGB(255, 65, 65)
end

local function FindLastChat(frame)
	local lastchat = nil
	for i,v in pairs(frame:GetChildren()) do
		if v.Position == UDim2.new(0,0,0.975,0) then
			lastchat = v
		end
	end
	return lastchat
end

game.ReplicatedStorage.Events.RecieveChat.Event:Connect(function(data)
	local chats = script.Parent.ChatBox.Chats
	local chat = game.ReplicatedStorage.Chat:Clone()
	local plr,msg = data[1],data[2]
	if GetFilteredMessage(FilterText(plr,msg),LP.UserId) ~= nil then
		CN = CN + 1
		chat.Name = "Chat"..CN
		local message = GetFilteredMessage(FilterText(plr,msg),LP.UserId)
		if plr == "System" then
			chat.Username.Text = "{"..plr.."}:"
		else
			chat.Username.Text = "["..plr.."]:"
		end
		chat.ChatInfo.Text = message
		chat.Username.TextColor3 = ColorChat(string.len(plr))
		chat.Parent = chats
		if FindLastChat(chats) ~= nil then
			FindLastChat(chats):Destroy()
		end
		for i,v in pairs(chats:GetChildren()) do
			v.Position = UDim2.new(v.Position.X.Scale,v.Position.X.Offset,v.Position.Y.Scale+0.025,v.Position.Y.Offset)
		end
		chat.Position = UDim2.new(0,0,0,0)
	end
end)

SendChat, ServerScript

local cd = script.Parent.Cooldown
local plr = script.Parent.Parent.Parent.Parent

script.Parent.ChatText.ChatSend.MouseButton1Click:Connect(function()
	if cd.Value == 0 then
		game.ReplicatedStorage.Events.SendChat:Fire(script.Parent.GetText:InvokeClient(plr))
		cd.Value = 10
		for i = 1,10 do
			cd.Value = cd.Value - 1
			script.Parent.ChatText.ChatSend.Text = (cd.Value+1).."s"
			wait(1)
		end
		script.Parent.ChatText.ChatSend.Text = "Send"	
	end
end)

If you can see the problem then please reply.