How can i patch this RemoteEvent FireServer exploit?

Hello there! I want to create a simulator. So in my tool (sword) when you click it fires an event and adds +1 swings (in my case). So I there are better swords that give more swings, for example, +500 swings on a click. So I was wondering can an exploiter do this:

while wait (0) do
local Event = game:GetService("Workspace").MainEvents.MainEvent1.AddSwing
Event:FireServer()
end

So this really worried me can this be patched? Should I put RemoteEvents into ServerStorage or is there a script that can detect that and kick players upon script is executed?

Your remotes should be rate limited anyway, so something like you should only be able to fire 3 times max per second. If it goes beyond that just ignore any subsequent requests until another second passes.

if your sword is a tool you can use .Activated event on a server script and a local script too, without needing to use a remote event