How to make a wall that only effects parts

I wanted to make a spiral mountain that you have to climb but there rocks rolling down the sides how would I make it so that the rocks don’t fall of the sides of the mountains but the players still can

maybe try adding the walls in the server sided and then destroy the walls in the client after it is loaded

Physics Service

local PhysicsService = game:GetService("PhysicsService")
PhysicsService:CreateCollisionGroup("Players")
PhysicsService:CreateCollisionGroup("PartOnly")
PhysicsService:CollisionGroupSetCollidable("Players","PartOnly",false)


local Part = workspace.Terrain -- Part That you want here
	
PhysicsService:SetPartCollisionGroup(Part,"PartOnly")

game.Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAppearanceLoaded:Connect(function(char)
		for _,v in pairs(char:GetDescendants()) do
			if v:IsA("BasePart") then
				PhysicsService:SetPartCollisionGroup(v,"Players")
			end
		end
 	end)
end)

where would i put this script?