Beacons
The discovery of the sites of a local network, whatever the way their beacons travel (UDP multicast on the JVM and on Node.js): each discovering site announces itself, every interval milliseconds, with its name, the port of its WebSocket server (port) and whether it requires a code (see Site.requiresCode); the sites it hears, of its version, are its nearby ones (see Site.nearby), until they are heard no more.
A site connects to the sites it hears that are not its peers yet, unless one of the two requires a code: those it is paired with (Site.pairedSites) alone then, presenting the token of their pairing, the others waiting to be paired by hand. Of two sites hearing each other, the one with the lower identifier connects; the other connects as well if no link came after a few beacons (if its own beacons do not reach the first, say). A site that left and comes back is linked to again.