[Solved] player's bullets colliding with their owner (Unet)

Hello. Now I am working on 3d multiplayer shooting game and I have a problem about some bullet collide the shooter. I added these script to fix this problem.(my game use server-client system)

the first one is attached to the player.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;

public class networkRoot : NetworkBehaviour
{
    // Start is called before the first frame update
    public GameObject[] bullet;
    public GameObject[] Secondary;
    public NetworkInstanceId id;
    public uint IDNumber;
    
    void Start()
    {

        id = transform.GetComponent<NetworkIdentity>().netId;
        IDNumber = id.Value;

    }

    // Update is called once per frame
    void Update()
    {
       
    }
    [Command]
    public void CmdFire(int bulletcode, Vector3 pos, Quaternion rot, float bulletSpeed)
    {
        GameObject b = Instantiate(bullet[bulletcode], pos, rot);
        NetworkServer.Spawn(b);
        b.GetComponent<collider_checker>().spawnedby = id;

    }
}

and the second one is attached to the bullet.

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.Networking;
    
    public class collider_checker : NetworkBehaviour
    {
        public uint nID;
        [SyncVar]
        public NetworkInstanceId spawnedby;
        // Start is called before the first frame update
        void Start()
        {
            nID = spawnedby.Value;
            GameObject obj = ClientScene.FindLocalObject(spawnedby);
            Physics.IgnoreCollision(transform.GetComponent<Collider>(), obj.GetComponentInChildren<Collider>());
        }
}

After I test the game for many time. I see that some bullets have NetId value on them but others remain 0.(I checked it on inspector on client side)
please help me solve this problem
(edit: In my meaning NetId mean nID(NetId of the player that is set to the bullet in start function)

Thank you for every helps. Now I can figure out the problem. The problem is “Clientscene.FindLocalObject” is run on the server. So it cannot find the obj (player’s gameObject). I have added the condition to the script below.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;

public class collider_checker : NetworkBehaviour
{
    public uint nID;
    [SyncVar]
    public NetworkInstanceId spawnedby;
    public GameObject obj;
    // Start is called before the first frame update
    void Start()
    {
        nID = spawnedby.Value;
        /*Debug.Log("(1) New bullet created. Spawnedby=" + spawnedby.Value);
        Debug.Log("(2) object name =" + obj.name);*/
        if (isClient)
        {
            obj = ClientScene.FindLocalObject(spawnedby);
            Physics.IgnoreCollision(transform.GetComponent<Collider>(), obj.GetComponentInChildren<Collider>());
        }
        
      //  Debug.Log("netid : " + spawnedby);
    }
}

Thank you for every helps.