Exemplo n.º 1
0
 private void UpdatePlayerCount(AuthServer.ServiceModel.ServerInfoDto serverInfo)
 {
     if (File.Exists(Config.Instance.Count.Countfile))
     {
         File.WriteAllText(Config.Instance.Count.Countfile, Convert.ToString(serverInfo.PlayerOnline));
         if (Config.Instance.Count.Url != null || Config.Instance.Count.Username != "")
         {
             using (WebClient client = new WebClient())
             {
                 client.Credentials = new NetworkCredential(Config.Instance.Count.Username, Config.Instance.Count.Password);
                 client.UploadFile(Config.Instance.Count.Url, WebRequestMethods.Ftp.UploadFile, Config.Instance.Count.Countfile);
             }
         }
     }
 }
Exemplo n.º 2
0
        public bool Update(AuthServer.ServiceModel.ServerInfoDto serverInfo)
        {
            if (!ServerList.TryGetValue(serverInfo.Id, out var entry))
            {
                return(false);
            }

            entry.Game.PlayerLimit  = serverInfo.PlayerLimit;
            entry.Game.PlayerOnline = serverInfo.PlayerOnline;

            entry.Chat.PlayerLimit  = serverInfo.PlayerLimit;
            entry.Chat.PlayerOnline = serverInfo.PlayerOnline;

            entry.LastUpdate = DateTimeOffset.Now;

            return(true);
        }
Exemplo n.º 3
0
        public byte Add(AuthServer.ServiceModel.ServerInfoDto serverInfo)
        {
            if (serverInfo.ApiKey == null || serverInfo.ApiKey != Config.Instance.API.ApiKey)
            {
                Logger.Information($"Refused server request: {serverInfo.Name}({serverInfo.Id}) - invalid apikey!");
                return(2);
            }

            var chat = new ServerInfoDto
            {
                IsEnabled    = true,
                Id           = serverInfo.Id,
                GroupId      = serverInfo.Id,
                Type         = ServerType.Chat,
                Name         = "S4_Chat",
                PlayerLimit  = serverInfo.PlayerLimit,
                PlayerOnline = serverInfo.PlayerOnline,
                EndPoint     = serverInfo.ChatEndPoint
            };
            var game = new ServerInfoDto
            {
                IsEnabled    = true,
                Id           = serverInfo.Id,
                GroupId      = serverInfo.Id,
                Type         = ServerType.Game,
                Name         = serverInfo.Name,
                PlayerLimit  = serverInfo.PlayerLimit,
                PlayerOnline = serverInfo.PlayerOnline,
                EndPoint     = serverInfo.EndPoint
            };

            if (ServerList.TryAdd(serverInfo.Id, new ServerEntry(game, chat)))
            {
                Logger.Information($"Added server with valid apikey: {serverInfo.Name}({serverInfo.Id})");
                Network.AuthServer.Instance.Broadcast(new ServerListAckMessage(GetServers()));
                return(0);
            }

            return(1);
        }