Setting up Unity server without graphics for remote connection from external client

Does anyone know how to configure a graphics-less Unity server on a physical server lacking a GPU. My goal is to allow an external client to connect to a virtual machine hosting my Unity program, which communicates with another application on a separate virtual machine within the same server via OPC.

Here are my specific requirements and questions:

  1. The physical server lacks a GPU, necessitating the execution of the Unity server without graphics.
  2. The virtual machine hosting Unity must be accessible to an external client over the network.
  3. I want to ensure that the external client does not have access to the source code of the Unity server due to security and firewall restrictions.
  4. Given that the Unity server connects via OPC to another virtual machine within the same server, how can I ensure that the source code of the Unity server and the external client are different, considering that the server and client need to communicate with each other but not share the same code?

I appreciate any suggestions or advice you can offer. Thank you in advance for your help!