123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using Mirror;
- using UnityEngine;
- /*
- Documentation: https://mirror-networking.gitbook.io/docs/components/network-authenticators
- API Reference: https://mirror-networking.com/docs/api/Mirror.NetworkAuthenticator.html
- */
- public class #SCRIPTNAME# : NetworkAuthenticator
- {
- #region Messages
- public struct AuthRequestMessage : NetworkMessage { }
- public struct AuthResponseMessage : NetworkMessage { }
- #endregion
- #region Server
- /// <summary>
- /// Called on server from StartServer to initialize the Authenticator
- /// <para>Server message handlers should be registered in this method.</para>
- /// </summary>
- public override void OnStartServer()
- {
- // register a handler for the authentication request we expect from client
- NetworkServer.RegisterHandler<AuthRequestMessage>(OnAuthRequestMessage, false);
- }
- /// <summary>
- /// Called on server from OnServerConnectInternal when a client needs to authenticate
- /// </summary>
- /// <param name="conn">Connection to client.</param>
- public override void OnServerAuthenticate(NetworkConnectionToClient conn) { }
- /// <summary>
- /// Called on server when the client's AuthRequestMessage arrives
- /// </summary>
- /// <param name="conn">Connection to client.</param>
- /// <param name="msg">The message payload</param>
- public void OnAuthRequestMessage(NetworkConnectionToClient conn, AuthRequestMessage msg)
- {
- AuthResponseMessage authResponseMessage = new AuthResponseMessage();
- conn.Send(authResponseMessage);
- // Accept the successful authentication
- ServerAccept(conn);
- }
- #endregion
- #region Client
- /// <summary>
- /// Called on client from StartClient to initialize the Authenticator
- /// <para>Client message handlers should be registered in this method.</para>
- /// </summary>
- public override void OnStartClient()
- {
- // register a handler for the authentication response we expect from server
- NetworkClient.RegisterHandler<AuthResponseMessage>(OnAuthResponseMessage, false);
- }
- /// <summary>
- /// Called on client from OnClientConnectInternal when a client needs to authenticate
- /// </summary>
- public override void OnClientAuthenticate()
- {
- AuthRequestMessage authRequestMessage = new AuthRequestMessage();
- NetworkClient.Send(authRequestMessage);
- }
- /// <summary>
- /// Called on client when the server's AuthResponseMessage arrives
- /// </summary>
- /// <param name="msg">The message payload</param>
- public void OnAuthResponseMessage(AuthResponseMessage msg)
- {
- // Authentication has been accepted
- ClientAccept();
- }
- #endregion
- }
|