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); } } } }
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); }
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); }