Argument 1 missing or nil

A really simple script that just doesn’t work

local EI = game.ReplicatedStorage:WaitForChild("eventIce") 
EI.OnServerEvent:Connect(function() 
EI:FireClient() 
end) 

That’s the code, Here’s what I get:
Screenshot 2022-07-06 123128
Here’s my explorer:
Screenshot 2022-07-06 122656

CameraCode is the script that fires the server event.

local player = game.Players.LocalPlayer
local ownsGamepassGrass = game:GetService("MarketplaceService"):UserOwnsGamePassAsync(player.UserId,58268972)
local ownsGamepassIce = game:GetService("MarketplaceService"):UserOwnsGamePassAsync(player.UserId,58269084)
local eveIce = game.ReplicatedStorage:WaitForChild("eventIce")
local eveGrass = game.ReplicatedStorage:WaitForChild("eventGrass")

if ownsGamepassIce then
	eveIce:FireServer()
end

I don’t know why, but I keep getting the error: " Argument 1 missing or nil" from the server script and I don’t know how to fix it, if anyone knows how to fix this I wish if you could also explain why the error happned in the first place. Thanks.

you need to provide the player.

You need to tell the script which client you wish to fire it to

Right that worked, thanks for your help!