Server RPC

Why doesn’t this run on the server?

    function OnDisconnectedFromServer() {
       var pos = player.transform.position;
       networkView.RPC("Save", RPCMode.Server, PlayerPrefs.GetString("UserID"), pos);
    }
    
    @RPC
    function Save(UID : String, pos : Vector3) {
       Debug.Log("Why doesn't this get executed on the player that runs the server?");
       Debug.Log(UID + "'s location is: " + pos);
    }

I read a couple of times that the server can’t send RPC calls to itself, does this include sending an RPC call from one pc to another on the same network?

OnDisconnectedFromServer() is called when the connection to server was somehow terminated, therefore you can’t send it any messages.

Instead you can detect on server side that someone disconnected by using OnPlayerDisconnected()