Why can't I get on this Seat?

I am trying to make a spaceship spawner, I already have made the script for the ship before so I know the thing is working. My issue is for some reason in the place I am in I can’t seem to get on the seat. There are no disabled properties. I am cloning it from replicated storage but I’m cloning it from the client. Is this because I only replicate it to the client? Do I need to replicate it to the server? I have tried checking the properties to make sure nothing was disabled but everything looked exactly the same from the one that worked and still works in the starting place.
I couldn’t supply video footage due to it not being able to upload on youtube and here, however it is just what you imagine it is

local function buttonPressed(plr)
	local spaceship = game:GetService("ReplicatedStorage").Spaceship:Clone()
	spaceship.Parent = workspace.Spaceships
	local raycastParams = RaycastParams.new()
	raycastParams.FilterType = Enum.RaycastFilterType.Blacklist
	raycastParams.FilterDescendantsInstances = plr.Character:GetDescendants()
	raycastParams.IgnoreWater = false
	local ray = workspace:Raycast(plr.Character.PrimaryPart.Position, plr.Character.PrimaryPart.CFrame.LookVector*50, raycastParams)
	if ray then
		spaceship.Body.CFrame = CFrame.new(ray.Position)
	else
		spaceship:Destroy()
	end
end

script.Parent.Parent.SpawnShip.MouseButton1Click:Connect(function()
	buttonPressed(game.Players.LocalPlayer)
end)

UPDATE, I disabled the server script and made it enabled when it was instanced to workspace but the problem still persists, so that question is out of the window

Thank the guys at scripting helpers, they assured me that my theory was correct. The lesson here? Always instance everything on the server.