51-Mirror__Network Authenticator-NewNetworkAuthenticator.cs.txt 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using UnityEngine;
  2. using UnityEngine.SceneManagement;
  3. using Mirror;
  4. /*
  5. Documentation: https://mirror-networking.gitbook.io/docs/components/network-authenticators
  6. API Reference: https://mirror-networking.com/docs/api/Mirror.NetworkAuthenticator.html
  7. */
  8. public class #SCRIPTNAME# : NetworkAuthenticator
  9. {
  10. #region Messages
  11. public struct AuthRequestMessage : NetworkMessage { }
  12. public struct AuthResponseMessage : NetworkMessage { }
  13. #endregion
  14. #region Server
  15. /// <summary>
  16. /// Called on server from StartServer to initialize the Authenticator
  17. /// <para>Server message handlers should be registered in this method.</para>
  18. /// </summary>
  19. public override void OnStartServer()
  20. {
  21. // register a handler for the authentication request we expect from client
  22. NetworkServer.RegisterHandler<AuthRequestMessage>(OnAuthRequestMessage, false);
  23. }
  24. /// <summary>
  25. /// Called on server from OnServerAuthenticateInternal when a client needs to authenticate
  26. /// </summary>
  27. /// <param name="conn">Connection to client.</param>
  28. public override void OnServerAuthenticate(NetworkConnection conn) { }
  29. /// <summary>
  30. /// Called on server when the client's AuthRequestMessage arrives
  31. /// </summary>
  32. /// <param name="conn">Connection to client.</param>
  33. /// <param name="msg">The message payload</param>
  34. public void OnAuthRequestMessage(NetworkConnection conn, AuthRequestMessage msg)
  35. {
  36. AuthResponseMessage authResponseMessage = new AuthResponseMessage();
  37. conn.Send(authResponseMessage);
  38. // Accept the successful authentication
  39. ServerAccept(conn);
  40. }
  41. #endregion
  42. #region Client
  43. /// <summary>
  44. /// Called on client from StartClient to initialize the Authenticator
  45. /// <para>Client message handlers should be registered in this method.</para>
  46. /// </summary>
  47. public override void OnStartClient()
  48. {
  49. // register a handler for the authentication response we expect from server
  50. NetworkClient.RegisterHandler<AuthResponseMessage>(OnAuthResponseMessage, false);
  51. }
  52. /// <summary>
  53. /// Called on client from OnClientAuthenticateInternal when a client needs to authenticate
  54. /// </summary>
  55. public override void OnClientAuthenticate()
  56. {
  57. AuthRequestMessage authRequestMessage = new AuthRequestMessage();
  58. NetworkClient.Send(authRequestMessage);
  59. }
  60. /// <summary>
  61. /// Called on client when the server's AuthResponseMessage arrives
  62. /// </summary>
  63. /// <param name="msg">The message payload</param>
  64. public void OnAuthResponseMessage(AuthResponseMessage msg)
  65. {
  66. // Authentication has been accepted
  67. ClientAccept();
  68. }
  69. #endregion
  70. }