It is important to ensure that each PC that is a potential server for a service has a consistent list of potential servers. Failure to observe this practice will result in sporadic service synchronization failure.
Note the wording of the following statement: A PC that can never be a server (i.e. can only be a client), may have a server list different from that of the potential servers. This method is used to implement clients-of-clients; however, a PC that is a potential server must have a consistent list of servers specified for that service. Once again, note the careful wording; consistent does not mean identical, but if a server has a list of PCs different from that of another server, they are only allowed to be different by omitting some PCs from the tail of the list.
For example, one server [GONZOSPC] could be configured:
[Sample-Servers]
Name = FREDSPC
Name = JOESPC
Name = GONZOSPC
and another two [FREDSPC and JOESPC] configured:
[Sample-Servers]
Name = FREDSPC
Name = JOESPC
You may wish to use such a configuration if GONZOSPC was in a remote location from FREDSPC and JOESPC. Then, if the communication medium between the two locations is broken, the area without GONZOSPC [the second list above] will use the higher available server of FREDSPC and JOESPC, whereas the area with GONZOSPC will lose communication with FREDSPC and JOESPC and so will fall back to GONZOSPC.
Of course, precisely the same effect would be obtained by having each workstation use the first list, but this method reduces communication traffic between the two areas slightly, by not having to have FREDSPC and JOESPC examine the server status of GONZOSPC. It also prevents FREDSPC and JOESPC from ever synchronizing to GONZOSPC. If GONZOSPC is isolated from the other two higher servers, it will re-synchronize to the higher order servers when communication is restored, destroying the local state of the service on GONZOSPC.
Note: As of VTS 7.5, the \RPCManager\Register subroutine features two new parameters: ServerList and Sticky. ServerList is an optional parameter that is an array of server names for the service. If used, it overrides any server list configuration that has been done in the .INI files. If not used, the usual method of determining the server list is used (see Config.ini [RPCMANAGER-SERVERS] Section Variables and RPC Manager Configuration).