Laravel.io
using ExitGames.Logging;
using Photon.SocketServer;
using PhotonHostRuntimeInterfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OHAGameServer
{
    class UnityClient : ClientPeer
    {
        private readonly ILogger Log = LogManager.GetCurrentClassLogger();

        public UnityClient(InitRequest initRequest) : base(initRequest)
        {
            Log.Info("Player Client ip: " + this.RemoteIP);
        }

        protected override void OnOperationRequest(OperationRequest operationRequest, SendParameters sendParameters)
        {
            switch (operationRequest.OperationCode)
            {
                case 1:
                    if (operationRequest.Parameters.ContainsKey(1))
                    {
                        Log.Info("recv:" + operationRequest.Parameters[1]);
                        OperationResponse response = new OperationResponse(operationRequest.OperationCode);
                        response.Parameters = new Dictionary<byte, object> { { 1, "response message" } };
                        SendOperationResponse(response, sendParameters);
                    }
                    break;
                case 2:
                    if (operationRequest.Parameters.ContainsKey(1))
                    {
                        Log.Info("recv:" + operationRequest.Parameters[1]);
                        EventData eventData = new EventData(1);
                        eventData.Parameters = new Dictionary<byte, object> { { 1, "response for event" } };
                        SendEvent(eventData, sendParameters);
                    }
                    break;
                default:
                    Log.Info("Unknown OperationRequest received!:" + operationRequest.OperationCode);
                    break;
            }
        }

        protected override void OnDisconnect(DisconnectReason reasonCode, string reasonDetail)
        {
            Log.Info("Disconnected!");
        }
    }
}

Please note that all pasted data is publicly available.