Prismatic constraint isn't working when the player isn't near

im making a shoving platform and for some odd reason it only works when the player is like less than 3 studs away from it and then it never breaks again

ive tried setting the network ownership to nil and it just makes it not work

return function(model: BasePart)
	local distance = model:GetAttribute("Distance") or 5
	local outSpeed = model:GetAttribute("OutSpeed") or 40
	local inSpeed = model:GetAttribute("InSpeed") or 20
	local outDelay = model:GetAttribute("OutDelay") or 1
	local inDelay = model:GetAttribute("InDelay") or outDelay
	local prismaticConstraint: PrismaticConstraint = model.Base.PrismaticConstraint
	
	prismaticConstraint.UpperLimit = distance
	
	while true do
		task.wait(outDelay)
		print("hi")
		prismaticConstraint.LinearResponsiveness = outSpeed
		prismaticConstraint.Speed = outSpeed
		prismaticConstraint.TargetPosition = distance
		
		print(inDelay)
		task.wait(inDelay)
		prismaticConstraint.LinearResponsiveness = inSpeed
		prismaticConstraint.Speed = inSpeed
		prismaticConstraint.TargetPosition = 0
	end
end

solution: clone the part on the client and delete the original one on the client