The client is firing a remote event and the server is not doing anything about it. It doesn't print 'fired'.
Server
remote.OnServerEvent:Connect(function(plr,key,strings)
print('fired')
if key == 'key123' then
local gui = script:FindFirstChildOfClass("ScreenGui"):Clone()
gui.Parent = plr.PlayerGui
gui.Enabled = true
elseif key == 'key321' then
Loadstring(strings) -- Using Module so its suppose to be a capital L
end
end)
Client
local key = 'key123'
for i, v in pairs(game.Workspace:GetDescendants()) do
if v.ClassName == 'RemoteEvent' then
v:FireServer(key)
print(v.Name)
end
end

1 comment
Not sure what you did differently from my code besides change the variable names. Nothing different happens.