示例#1
0
    //账号登录
    private void OnClickLogin()
    {
        text.text = "";
        waitTip.SetActive(true);
        string acc = inputField_Acc.text;
        string pas = inputField_Pas.text;

        if (acc == "" || pas == "")
        {
            text.text = "账号密码请输入完整";
            waitTip.SetActive(false);
            return;
        }
        TcpLogin _loginInfo = new TcpLogin
        {
            Account  = acc,
            Password = pas,
            Token    = ""
        };

        byte[]        bytes   = ProtoTransfer.SerializeProtoBuf3 <TcpLogin>(_loginInfo);
        MessageBuffer message = new MessageBuffer((int)ClientToServerID.TcpLogin, bytes, 0);

        Network.ClientService.GetSingleton().SendTcp(message);
    }
示例#2
0
 public void Start(IPAddress IP, int Port)
 {
     try
     {
         if (ServerType == ServerTypeEnum.Login)
         {
             TcpLogin.Connect(IP, Port);
             OnClient = TcpLogin;
         }
         else if (ServerType == ServerTypeEnum.Game)
         {
             TcpGame.Connect(IP, Port);
             OnClient = TcpGame;
         }
         else if (ServerType == ServerTypeEnum.Message)
         {
             TcpMessenge.Connect(IP, Port);
             OnClient = TcpMessenge;
         }
         running = true;
         //Inicia Thread para escuta de OnClientes
         var WaitConnectionsThread = new Thread(new ThreadStart(HandleClient));
         WaitConnectionsThread.Start();
     }
     catch
     {
         WriteConsole.WriteLine("[BOT_EXCEPTION]: SERVER OFFLINE", ConsoleColor.Red);
         Console.ReadKey();
         Environment.Exit(0);
     }
 }
示例#3
0
 public void Start()
 {
     try
     {
         TcpLogin.Connect(this.LoginServerIP, LoginServerPort);
         OnClient = TcpLogin;
         running  = true;
         //Inicia Thread para escuta de OnClientes
         var WaitConnectionsThread = new Thread(new ThreadStart(HandleClient));
         WaitConnectionsThread.Start();
     }
     catch
     {
         WriteConsole.WriteLine("[BOT_EXCEPTION]: SERVER OFFLINE", ConsoleColor.Red);
         Console.ReadKey();
         Environment.Exit(0);
     }
 }
示例#4
0
    public void AnalyzeMessage(PBCommon.CSID messageId, byte[] bodyData, string _socketIp)
    {
        switch (messageId)
        {
        case CSID.TCP_LOGIN:
        {
            TcpLogin _info = CSData.DeserializeData <TcpLogin> (bodyData);


            int _uid = UserManage.Instance.UserLogin(_info.token, _socketIp);
            TcpResponseLogin _result = new TcpResponseLogin();
            _result.result  = true;
            _result.uid     = _uid;
            _result.udpPort = UdpManager.Instance.recvPort;

            ServerTcp.Instance.SendMessage(_socketIp, CSData.GetSendMessage <TcpResponseLogin>(_result, SCID.TCP_RESPONSE_LOGIN));
        }
        break;

        case CSID.TCP_REQUEST_MATCH:
        {
            TcpRequestMatch _mes = CSData.DeserializeData <TcpRequestMatch> (bodyData);
            MatchManage.Instance.NewMatchUser(_mes.uid, _mes.roleID);

            TcpResponseRequestMatch rmRes = new TcpResponseRequestMatch();
            ServerTcp.Instance.SendMessage(_socketIp, CSData.GetSendMessage <TcpResponseRequestMatch>(rmRes, SCID.TCP_RESPONSE_REQUEST_MATCH));
        }
        break;

        case CSID.TCP_CANCEL_MATCH:
        {
            TcpCancelMatch _mes = CSData.DeserializeData <TcpCancelMatch> (bodyData);
            MatchManage.Instance.CancleMatch(_mes.uid);

            TcpResponseCancelMatch cmRes = new TcpResponseCancelMatch();
            ServerTcp.Instance.SendMessage(_socketIp, CSData.GetSendMessage <TcpResponseCancelMatch>(cmRes, SCID.TCP_RESPONSE_CANCEL_MATCH));
        }
        break;

        default:
            break;
        }
    }
示例#5
0
    public void OnClickLogin()
    {
        Debug.Log(inputField.text);

        waitTip.SetActive(true);

        string _ip = inputField.text;

        MarsTcp.Instance.ConnectServer(_ip, (_result) => {
            if (_result)
            {
                Debug.Log("连接成功~~");
                NetGlobal.Instance().serverIP = _ip;
                TcpLogin _loginInfo           = new TcpLogin();
                _loginInfo.token = SystemInfo.deviceUniqueIdentifier;
                MarsTcp.Instance.SendMessage(CSData.GetSendMessage <TcpLogin>(_loginInfo, CSID.TCP_LOGIN));
            }
            else
            {
                Debug.Log("连接失败~~");
                waitTip.SetActive(false);
            }
        });
    }
        public void InitServer()
        {
            Configuration.Open();
            Configuration.GetGeneralConfig();
            Configuration.GetDatabaseConfig();
            Configuration.Close();

            Configuration.ShowConfigInLog();
            Configuration.CheckDatabaseConnection();

            // Cria a instância e registra o delegate.
            DeleteRequest = new CharacterDeleteRequest();
            DeleteRequest.DeleteCharacter += DeleteCharacter;

            IpBlockList.Initialize();

            IpFiltering = new IpFiltering()
            {
                CheckAccessTime  = Configuration.CheckAccessTime,
                IpLifetime       = Configuration.IpLifetime,
                IpMaxAccessCount = Configuration.IpMaxAccessCount,
                IpMaxAttempt     = Configuration.IpMaxAttempt
            };

            WriteLog(LogType.System, "Initializing scripts", LogColor.Blue);
            var lua = new LuaScript();

            lua.InitializeScript();

            WriteLog(LogType.System, "Initializing prohibited names", LogColor.Blue);
            lua.LoadProhibitedNames();

            WriteLog(LogType.System, "Initializing character config", LogColor.Blue);
            lua.LoadCharacterConfiguration();
            Configuration.ShowCharacterConfigInLog();

            WriteLog(LogType.System, "Initializing game config", LogColor.Blue);
            lua.LoadGameConfiguration();

            WriteLog(LogType.System, "Initializing classes", LogColor.Blue);
            lua.LoadClasses();

            DataManagement.InitializeData();

            WriteLog(LogType.System, "Initializing map instances", LogColor.Blue);
            InitializeMaps();

            OpCode.Initialize();

            Login = new TcpLogin()
            {
                Port = Configuration.LoginPort
            };

            Login.InitServer();

            WriteLog(LogType.System, "Waiting for Login Server conenction", LogColor.Black);

            Server = new TcpServer()
            {
                Port        = Configuration.Port,
                IpFiltering = IpFiltering
            };

            Server.InitServer();
            WriteLog(LogType.System, "Game Server started", LogColor.Green);

            Initialized = true;
        }