Teleporting messes up character placement in server

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    I am simply trying to make a teleport ability

  2. What is the issue? Include screenshots / videos if possible!
    It looks fine on the client but on the server, the character is severely displaced

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    No topics I have seen have this problem or something close to it.

After that, you should include more details if you have any. Try to make your topic as descriptive as possible, so that it’s easier for people to help you!

if (c.HumanoidRootPart.Position - h.Position).Magnitude <= 50 then
			local es1,ed1,es2,ed2 = Enum.EasingStyle.Circular,Enum.EasingDirection.In,Enum.EasingStyle.Circular,Enum.EasingDirection.Out
			for i,v in pairs(c:GetDescendants()) do
				if (v:IsA('BasePart') or v:IsA('UnionOperation')) and v.Name ~= "HumanoidRootPart" then
					local k = v:Clone()
					k:ClearAllChildren()
					k.Material = Enum.Material.Neon
					k.Transparency = 0.25
					k.Color = BrickColor.Yellow().Color
					k.Anchored = true
					k.CanCollide = false
					print(k == v)
					k.Parent = c.HumanoidRootPart["Anoobis"]
					local a = tS:Create(k,TweenInfo.new(1,es1,ed1),{Size = v.Size*1.25,Transparency = 1})
					a:Play()
					game:GetService("Debris"):AddItem(k,1)
					local k2 = v:Clone()
					k2:ClearAllChildren()
					k2.Material = Enum.Material.Neon
					k2.Transparency = 0.25
					k2.Anchored = true
					k2.CanCollide = false
					k2.Color = BrickColor.Blue().Color
					k2.Parent = c.HumanoidRootPart["Anoobis"]
					local b = tS:Create(k2,TweenInfo.new(1,es1,ed1),{Size = Vector3.new(0,0,0),Transparency = 1})
					b:Play()
					game:GetService("Debris"):AddItem(k2,1)
					local c = tS:Create(v,TweenInfo.new(1,es1,ed1),{Transparency = 1})
					c:Play()
				end
			end
			c.HumanoidRootPart.Position = h.Position
			for i,v in pairs(c:GetDescendants()) do
				if (v:IsA('BasePart') or v:IsA('UnionOperation')) and v.Name ~= "HumanoidRootPart" then
					local k = v:Clone()
					k:ClearAllChildren()
					k.Material = Enum.Material.Neon
					k.Anchored = true
					k.Size = v.Size*1.25
					k.CanCollide = false
					k.Transparency = 1
					k.Color = BrickColor.Yellow().Color
					k.Parent = c.HumanoidRootPart["Anoobis"]
					local a = tS:Create(k,TweenInfo.new(1 ,es1,ed1),{Size = v.Size*0.75,Transparency = 0.25})
					a:Play()
					game:GetService("Debris"):AddItem(k,1 )
					local k2 = v:Clone()
					k2:ClearAllChildren()
					k2.Material = Enum.Material.Neon
					k2.Transparency = 0.25
					k2.Anchored = true
					k2.CanCollide = false
					k2.Size = Vector3.new(0,0,0)
					k2.Color = BrickColor.Blue().Color
					k2.Parent = c.HumanoidRootPart["Anoobis"]
					local b = tS:Create(k2,TweenInfo.new(1 ,es1,ed1),{Size = v.Size*1.25,Transparency = 1})
					b:Play()
					game:GetService("Debris"):AddItem(k2,1 )
					local c = tS:Create(v,TweenInfo.new(1 ,es1,ed1),{Transparency = 0})
					c:Play()
				end
			end
		end

Server

Screenshot 2021-06-05 111656 !

Client

Screenshot 2021-06-05 111716

Are you teleporting the player with a local script?

No, I am using a function inside a module that is fired by a server script