Пример #1
0
 public static bool Check(this RecoveryGame data)
 {
     return(data.Trace != null &&
            data.Trace.Length >= 1 &&
            IsValidUsername(data.Username) &&
            IsValidReportTime(data.ReportTime) &&
            CheckLobbyService(data.Service) &&
            CheckLobbyCharacter(data.Character) &&
            CheckOnlineCharacterBinding(data.Service.ServiceId, data.Character.CharacterItems));
 }
Пример #2
0
        public int Step1(string username, LobbyServiceResult service, LobbyCharacterResult character, long[] trace)
        {
            if (CheckVendor.NotValidUsername(username) ||
                CheckVendor.NotValidService(service) ||
                CheckVendor.NotValidCharacter(character) ||
                CheckVendor.NotValidTrace(trace))
            {
                return(03_0010);
            }

            _username = username;
            var recoveryGame = new RecoveryGame();

            recoveryGame.Username = username;

            recoveryGame.Service = service;

            recoveryGame.Character = character;

            recoveryGame.Trace = trace;

            recoveryGame.ReportTime = DateTime.Now;

            for (var i = 0; i < 3; i++)
            {
                var result = ApiCall.AccountRecoveryGame.Call(null, new MilvanethProtocol {
                    Context = null, Data = recoveryGame
                });

                if (!(result.Data is ServerResponse sr))
                {
                    return(02_0007);
                }

                if (!CheckVendor.NotValidResponse(sr))
                {
                    _serverResponse = sr;
                }

                if (sr.Message != 01_0003) // retry with pow
                {
                    return(sr.Message);
                }

                recoveryGame.ProofOfWork = ProofOfWorkVendor.CalculateProofOfWork(sr.AuthToken);
            }

            return(01_0002);
        }
Пример #3
0
        public static void Main(string[] args)
        {
            if (!ValidateConnectioToSqlServer())
            {
                Log.ErrorLog("Error on conneting to sql server");
                Console.WriteLine("Error on conneting to sql server, please try again!");
                Console.WriteLine("Prees any key to exit.");
                Console.ReadKey();
                return;
            }

            InitData();

            //try to restore backup if there are a crash
            RecoveryGame.RestoreBackupGames();

            Console.WriteLine("Multi-Threaded TCP Server Starting On IP:" + GetLocalIPAddress() + "...");
            Log.InfoLog("Multi-Threaded TCP Server Starting On IP:" + GetLocalIPAddress() + "...");
            TcpServer server = new TcpServer(5555);
        }