How to make the camera look from up top?

I want the camera to be above the player and look down to the player, and I want the mouse camera controls to be disabled so the player won't be able to move their character using the camera.

So far this gets the camera view to look at the player from above

local camera = script.parent ---@type Camera
local player = Game.GetLocalPlayer()

camera.rotationMode = 1
camera.hasFreeControl = false

camera:SetRotationOffset(Rotation.New(-Vector3.UP, Vector3.FORWARD))
camera:SetPositionOffset(Vector3.New(-500, 0, 0))


Client:

local camera = script.parent ---@type Camera
local camHeight = 500

camera.rotationMode = RotationMode.CAMERA
camera.hasFreeControl = false

camera:SetRotationOffset(Rotation.New(-Vector3.UP, Vector3.FORWARD))
camera:SetPositionOffset(Vector3.New(-camHeight, 0, 0))

Server:

Game.playerJoinedEvent:Connect(function(player)
    player.lookControlMode = LookControlMode.NONE
    print(player.lookControlMode)
end)