Enabling Media Network automatically turns the instance into a library server, it says that when you enable it, there is no choice. I didn't want this machine to be a server, just a client. But it seems you have to make it into a server in order to use it as a client. The option "show playback zones from server on a client" is available even if the client is not a server and that's how it should work, but it doesn't as shown in the screengrab. There should be no reason to turn the client into a server in order to see zones from the server.
Enabling media network is the only way I know of to get the functionality you want; the remote zones show up when media network is enabled, and don't when it isn't.
The Server/Controller/Renderer options are something separate and for DLNA only.
Yes, that's what I was trying to say above, but you might need to enable those, nonetheless, to achieve certain types of remote playback configurations. For example, if you want to control an MC client from a second MC client (rather than controlling a server from a client) you need to enable DLNA options.
Then you have turned your client box into a server!
My clients do have access keys and are accessible through gizmo within my LAN, but they don't serve any local content to gizmo. Library clients only "serve" what's on the library server they're logged into (at least to gizmo anyway). So in that context they're not independent servers, they're just access points for the content the original library server is serving. I prefer having them available for remote control in Gizmo (which also doesn't work if media network is disabled).
If you don't run the media server widget, the clients aren't available even in that limited capacity unless there's a JRiver window currently open on them. If you have security concerns, enable authentication and no one will be able to log in without a password (you can set different passwords per box). If you don't enable port forwarding on your router, nothing should be reachable from outside your LAN in any event.
I'm not aware of another way to do it right now. If the current status quo is unacceptable, you might want to make a feature request.
[edited for accuracy]