Mirror/doc/Components/NetworkDiscovery.md

18 lines
895 B
Markdown
Raw Normal View History

feat: LAN Network discovery (#1453) * Fix typo * Updated Changelog * first commit * Add example for discovery * NetworkDiscovery component should be added * fixed UI * Fix some warnings * refactor: network discovery reimplemented * Remove unused GUIstyle * Fix namespaces * Just send to the broadcast address * Fix indentation * Log errors in ClientListen * Code formatting cleanup, HelpURL's fixed, comments revised. (#38) * Transport can now provide server uri * work with any transport by passing uri * Move discovery initialization to start * feat: Discovery can now be easily customized per game * Use generics to simplify api * Renamed ServerInfo -> ServerResponse * Rename method * Moved up one folder * Move ServerId to NetworkDiscovery * tests now reference Mirror.Discovery * Cleaned up blank space * Disable GUID apparently fixes it * Use UnityEvents for ease of use * Remove noisy log * remove blank spaces * Process request receives the client endpoint * use consistent name for parameters * Remove white space * Keep it minimalistic, we don't need age or totalPlayers * Comment non obvious property * Don't break transports * Documentation and image * Code formatting * removed privates * Added Range attribute * Rename ActiveDiscoverySecondInterval * Revised NetworkDiscovery doc * Swapped field order (Cosmetics) * Added ScriptTemplate * Update ProjectSettings/ProjectVersion.txt * Updated ScriptTemplate * Updated xml comment and ScriptTemplate * Updated ScriptTemplate * Improve xmldocs * Improve xmldocs * Remove leftover comment * Renamed event * Moved discovery inside components * Keep parameter names consistent * Provide a guide for network discovery * XML Comments and ScriptTemplate * Moved Credits * fixed template * Removed comment * removed comment * xml comments and template * fixed method name * fixed method and template * removed semicolon * fixed template * fixed method and template * fixed template * fixed template * Fix copypasta error * Show error if no url is available Network Discovery now shows an error if the transport does not support providing Url * Grammar fix * Extended Template * fixed template * Added guide link to template * New image * Update NetworkDiscovery.md * Updated Guid Doc and Template * fixed bullets * Remove unnecessary using * Make it like Mirror's * Update ScriptTemplates Image & Zip * Removed from Deprecations * Updated ChangeLog * Updated ChangeLog * Update NetworkDiscovery.md Remove last line...this was copied to the paragraph above the code block Co-authored-by: MrGadget <chris@clevertech.net>
2020-01-29 08:56:29 +00:00
# NetworkDiscovery
Network Discovery uses a UDP broadcast on the LAN enabling clients to find the running server and connect to it.
2020-01-29 18:23:12 +00:00
See also our extended [guide document](../Guides/NetworkDiscovery.md).
feat: LAN Network discovery (#1453) * Fix typo * Updated Changelog * first commit * Add example for discovery * NetworkDiscovery component should be added * fixed UI * Fix some warnings * refactor: network discovery reimplemented * Remove unused GUIstyle * Fix namespaces * Just send to the broadcast address * Fix indentation * Log errors in ClientListen * Code formatting cleanup, HelpURL's fixed, comments revised. (#38) * Transport can now provide server uri * work with any transport by passing uri * Move discovery initialization to start * feat: Discovery can now be easily customized per game * Use generics to simplify api * Renamed ServerInfo -> ServerResponse * Rename method * Moved up one folder * Move ServerId to NetworkDiscovery * tests now reference Mirror.Discovery * Cleaned up blank space * Disable GUID apparently fixes it * Use UnityEvents for ease of use * Remove noisy log * remove blank spaces * Process request receives the client endpoint * use consistent name for parameters * Remove white space * Keep it minimalistic, we don't need age or totalPlayers * Comment non obvious property * Don't break transports * Documentation and image * Code formatting * removed privates * Added Range attribute * Rename ActiveDiscoverySecondInterval * Revised NetworkDiscovery doc * Swapped field order (Cosmetics) * Added ScriptTemplate * Update ProjectSettings/ProjectVersion.txt * Updated ScriptTemplate * Updated xml comment and ScriptTemplate * Updated ScriptTemplate * Improve xmldocs * Improve xmldocs * Remove leftover comment * Renamed event * Moved discovery inside components * Keep parameter names consistent * Provide a guide for network discovery * XML Comments and ScriptTemplate * Moved Credits * fixed template * Removed comment * removed comment * xml comments and template * fixed method name * fixed method and template * removed semicolon * fixed template * fixed method and template * fixed template * fixed template * Fix copypasta error * Show error if no url is available Network Discovery now shows an error if the transport does not support providing Url * Grammar fix * Extended Template * fixed template * Added guide link to template * New image * Update NetworkDiscovery.md * Updated Guid Doc and Template * fixed bullets * Remove unnecessary using * Make it like Mirror's * Update ScriptTemplates Image & Zip * Removed from Deprecations * Updated ChangeLog * Updated ChangeLog * Update NetworkDiscovery.md Remove last line...this was copied to the paragraph above the code block Co-authored-by: MrGadget <chris@clevertech.net>
2020-01-29 08:56:29 +00:00
![Inspector](NetworkDiscovery.png)
NetworkDiscovery and NetworkDiscoveryHUD components are included, or you can make your own from a [ScriptTemplate](../General/ScriptTemplates.md).
When a server is started, it listens on the UDP Broadcast Listen Port for requests from clients and returns a connection URI that clients apply to their transport.
You can adjust how often the clients send their requests out to find a server in seconds with the Active Discovery Interval.
The Server Found event must be assigned to a handler method, e.g. the OnDiscoveredServer method of NetworkDiscoveryHUD.
In the NetworkDiscoveryHUD, the NetworkDiscovery component should be assigned automatically.