Script not recognizing attachment within player

Hello persons!

I’m trying to create a sphere that attracts players with the LineForce constraint, similar to how a planet attracts things with gravity.

I have a server script

local players = game:GetService("Players")
players.PlayerAdded:Connect(function(player)
	local character = player.Character
	local gravityPoint0 = character.LowerTorso.gravityObject.gravityPoint0
	if game.ReplicatedStorage.playerJoined.OnServerEvent then
		local gravity = Instance.new("LineForce", script.Parent)
		local gravityPoint1 = Instance.new("Attachment", script.Parent)
		gravity.Name = "gravity"
		gravity.Attachment0 = gravityPoint0
		gravity.Attachment1 = gravityPoint1
		gravity.ApplyAtCenterOfMass = true
		gravity.Magnitude = 1000
		gravityPoint1.Name = "gravityPoint1"
	end
end)

a local script

local players = game:GetService("Players")
local player = players.LocalPlayer
local gravityObject = Instance.new("Part", script.Parent.LowerTorso)
gravityObject.Name = "gravityObject"
gravityObject.Transparency = 1
gravityObject.Anchored = false
gravityObject.Position = script.Parent.HumanoidRootPart.Position
gravityObject.Size = Vector3.new(2, 2, 2)
gravityObject.CanCollide = false
local gravityPoint0 = Instance.new("Attachment", gravityObject)
gravityPoint0.Name = "gravityPoint0"
local gravityObjectWeld = Instance.new("WeldConstraint", script.Parent.LowerTorso)
gravityObjectWeld.Name = "gravityObjectWeld"
gravityObjectWeld.Part0 = script.Parent.LowerTorso
gravityObjectWeld.Part1 = gravityObject
if player then
	game.ReplicatedStorage.playerJoined:FireServer()
end

and a remote event in replicated storage named ‘playerJoined’. My problem is, the script has a hard time finding the descendants of characters, so I can’t even get LowerTorso! I already tried the ‘FindFirstChild’ method, and that will neither find the attachment I’m looking for, nor assign the attachment to the LineForce.

Any alternative methods?