Connecting Genservers on different nodes

I am implemeting a client server application. The server is a single Genserver process and the client can simulate multiple Genservers each of which can send requests to the server. The server and client are on different nodes. However the client Genserver is not able to call the server. I am getting the following error:

** (exit) exited in: GenServer.call({:global, :server}, {:register, {“user1”}}, :infinity)
** (EXIT) no process: the process is not alive or there’s no process currently associated with the given name, possibly because its application isn’t started

I have registered the server globally
GenServer.start_link( MODULE , [], [name: {:global, :server}] )
:global.sync()

The clients are also registered globally
GenServer.start_link(MODULE , [] , [name: { :global, String.to_atom(user_name)}] )
:global.sync()

Am i missing something ?

Are the nodes connected?

yes through node.connect

What do you get if you call :global.registered_names() and Node.list() on each node?