Sending Damage To Server

Hello, I am currently trying to cast the effects of guns to the server via RemoteEvents, by doing:

bullet.Touched:Connect(function(otherPart)
		print(otherPart.Name, " touched")
		if otherPart:IsDescendantOf(script.Parent.Parent.Parent) == false then
			Damage:FireServer(Player, otherPart, DamageValue)
		end
	end)

Player is the local player, the otherPart is the part that the bullet touched, the DamageValue is the amount of damage the gun does.

I received it with:

DamageEvent.onServerEvent:Connect(function(Player, otherPart, DamageValue)
    print(Player.Name, "shot at", otherPart.Name
end)

But when it was ran, this shows up:
console
How do I fix this?

Thank you.

Here, also you should let the server handle the damage and do sanity check or else a exploiter can just kill everyone and destroy your game.

if otherPart:IsDescendantOf(script.Parent.Parent.Parent) == false then
	Damage:FireServer(otherPart, DamageValue)
end

Thank you for introducing me the sanity check, but it still gives the target as the player who is shooting the gun.

H-Here.

if not otherPart:IsDescendantOf(game.Players.LocalPlayer.Character) then
	Damage:FireServer(otherPart, DamageValue)
end

When you do Damage:FireServer(...) from the client you don’t need to pass the player that’s automatically passed since the game knows which client you’re firing from.

That said the bullets being touched and damage being sent should be entirely handled on the server it’s extremely unsafe to handle this on the client.