Whats causing this?

No. Theres Tween:Pause() and Tween:Cancel() events for further info read here How can I stop my tween?

Since there’s just a known route, you can use the event tween.Completed to then signal the next waypoint on the path. This object is usually returned after creating a tween. Rather than trying to constantly play a new set of tweens every .2 seconds

...
local tween = TweenService:Create(..., currentGoal)
tween:Play()
tween.Completed:Wait()
-- next goal
...

The tweens are running on the client.

That doesn’t matter. You can still apply the same logic either side. It’s sort of hard to create a solution without the actual code.