예제 #1
0
        public bool StartServer()
        {
            MyServer = new Server(Controller.GetDefaultServerSettings());

            StartListenerResult ListenerResult = MyServer.StartListener();

            if (ListenerResult.IsOperationSuccess)
            {
                Controller.Update(new LogModel(ListenerResult.Message, "Networking", DateTime.Now, LogColors.OnNews));
                StartAcceptorResult AcceptorResult = MyServer.StartAcceptor();
                if (AcceptorResult.IsOperationSuccess)
                {
                    Controller.Update(new LogModel(AcceptorResult.Message, "Networking", DateTime.Now, LogColors.OnNews));
                    MyPacketRegister = new PacketRegister(MyServer.PacketManager);
                    MyPacketRegister.RegisterUserPackets();
                    MyServer.LoadBlackListedIPS();
                    MyServer.OnClientConnect       += MyServer_OnClientConnect;
                    MyServer.OnClientDisconnect    += Server_OnClientDisconnect;
                    MyServer.OnClientAuthenticated += Server_OnClientVerified;
                    MyServer.OnClientReceive       += Server_OnClientReceive;
                    MyServer.OnClientSend          += Server_OnClientSend;
                    MyServer.OnClientBlackList     += Server_OnConnectionBlackList;
                    MyServer.OnException           += Server_OnException;
                    return(true);
                }
                else
                {
                    Controller.Update(new LogModel(AcceptorResult.Message, "Networking", DateTime.Now, LogColors.OnError));
                    return(false);
                }
            }
            else
            {
                Controller.Update(new LogModel(ListenerResult.Message, "Networking", DateTime.Now, LogColors.OnError));
            }
            return(false);
        }