Network discovery on LAN without broadcast
<p><strong>Short version</strong>: How would you recommend going about connecting a client to a server that are on the same local network, without manually entering the ip, when broadcast is disabled?</p>

<hr>

<p><strong>Further details</strong>: I am working on an educational multiplayer game for children. Many schools appear to be blocking broadcasting for security reasons. The children will be rather young, so it could be difficult for them and error-prone to have to enter the IP manually. They will all be in the same room and will all see the server screen. The game is made in Unity (C#).</p>

<hr>

<p><strong>Potential solutions</strong>: Here's what I thought about:</p>

<ul>
<li>Connecting both the local server and clients to an external server, communicating the local server ip through the clients through the external server, then connecting directly and disconnect from the server. Not ideal because of the extra hosting costs.</li>
<li>Send a regular UDP message periodically to all ips on the subnet? This will probably be picked up by any decent firewall and blocked though, right?</li>
<li>Putting a QR code on the server that kids would take a picture of with the client app and have it connect that way? May be more of a hassle.</li>
<li>Having the server play random tones corresponding to numbers that the client is listening for? (Speakers may not always work though)</li>
</ul>

<p>Sounds like the first one is the most sane and easy solution. Do you have any other ideas on what someone in this situation could try?</p>