public RecentServer(Server server, DateTime on) { _on = @on; _ipAddress = server.IpAddress; _port = server.Port; _name = server.Name; }
public Server CreateServer() { var server = new Server(_ipAddress, _port); server.Settings = new SortedDictionary<string, string>() { {"hostname",_name} }; return server; }
public string GetNotes(Server server) { var fileName = GetNoteFileName(server); if(!File.Exists(fileName)) return ""; return File.ReadAllText(fileName, Encoding.UTF8); }
public void AddRecent(Server server) { var recentServer = new RecentServer(server, DateTime.Now); if(RecentServers.Count > 50) { var oldest = RecentServers.OrderBy(x => x.On).FirstOrDefault(); RecentServers.Remove(oldest); } RecentServers.Add(recentServer); recentServer.Server = server; App.Events.Publish(new RecentAdded(recentServer)); Save(); }
public void RemoveFavorite(Server server) { var favorite = Favorites.FirstOrDefault(f => f.Matches(server)); if(favorite == null) return; Favorites.Remove(favorite); App.Events.Publish(new FavoritesUpdated(server)); Save(); }
public void AddFavorite(Server server) { if(Favorites.Any(f => f.Matches(server))) return; Favorites.Add(new FavoriteServer(server)); App.Events.Publish(new FavoritesUpdated(server)); Save(); }
public ServerUpdated(Server server, bool supressRefresh) { Server = server; SupressRefresh = supressRefresh; }
public RequestNoteEdit(Server server) { Server = server; }
public bool HasNotes(Server server) { return File.Exists(GetNoteFileName(server)); }
public FavoriteServer(Server server) { _ipAddress = server.IpAddress; _port = server.Port; _name = server.Name; }
public ServerQueryClient(Server server, string ipAddress, int port) { _server = server; _ipAddress = ipAddress; _port = port; }
public void Double_digit_offsets_parse_correctly() { var server = new Server(null, 0); server.Settings["hostname"] = @"DayZ - [GMT+12] dayzmod.com - hosted by LegoDeCom & Hulk"; Assert.That(server.ServerTime.Value.Hour, Is.EqualTo(DateTime.UtcNow.AddHours(+12).Hour)); }
public static void JoinServer(Server server) { var arguments = new StringBuilder(); string exePath; if(UserSettings.Current.GameOptions.LaunchUsingSteam) { exePath = Path.Combine(LocalMachineInfo.Current.SteamPath, "steam.exe"); if(!File.Exists(exePath)) { MessageBox.Show("Could not find Steam, please adjust your options or check your Steam installation."); return; } arguments.Append(" -applaunch 33930"); if(UserSettings.Current.GameOptions.Arma2OASteamUpdate){ string mainEXE = Path.Combine(CalculatedGameSettings.Current.Arma2OAPath, @"arma2oa.exe"); string betaEXE = Path.Combine(CalculatedGameSettings.Current.Arma2OAPath, @"Expansion\beta\arma2oa.exe"); if(File.Exists(mainEXE) && File.Exists(betaEXE)) { var mainExeVersion = FileVersionInfo.GetVersionInfo(mainEXE).ProductVersion; var betaExeVersion = FileVersionInfo.GetVersionInfo(betaEXE).ProductVersion; if (mainExeVersion != betaExeVersion) { File.Copy(mainEXE, mainEXE + "_" + mainExeVersion, true); File.Copy(betaEXE, mainEXE, true); } } } } else { exePath = CalculatedGameSettings.Current.Arma2OAExePath; } if(UserSettings.Current.GameOptions.MultiGpu) { arguments.Append(" -winxp"); } if(UserSettings.Current.GameOptions.WindowedMode) { arguments.Append(" -window"); } if(!string.IsNullOrWhiteSpace(UserSettings.Current.GameOptions.AdditionalStartupParameters)) { arguments.Append(" " + UserSettings.Current.GameOptions.AdditionalStartupParameters); } arguments.Append(" -noSplash -noFilePatching"); arguments.Append(" -connect=" + server.IpAddress); arguments.Append(" -port=" + server.Port); arguments.AppendFormat(" \"-mod={0};expansion;expansion\\beta;expansion\\beta\\expansion;{1}\"", CalculatedGameSettings.Current.Arma2Path, CalculatedGameSettings.Current.DayZPath); try { var p = new Process { StartInfo = { FileName = exePath, Arguments = arguments.ToString(), WorkingDirectory = CalculatedGameSettings.Current.Arma2OAPath, UseShellExecute = true, } }; p.Start(); UserSettings.Current.AddRecent(server); if(UserSettings.Current.GameOptions.CloseDayZCommander){ Thread.Sleep(1000); Environment.Exit(0); } } catch(Exception ex) { //var joinServerException = new JoinServerException(exePath, arguments.ToString(), CalculatedGameSettings.Current.Arma2OAPath, ex); //_logger.Error(joinServerException); } finally { arguments.Clear(); } }
private List<Server> GetAllSync() { ExecuteGSList("-u"); return ExecuteGSList("-n arma2oapc -f \"mod LIKE '%@dayz%'\" -X \\hostname") .Split(new[] {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) .Select(line => { var indexOfFirstSpace = line.IndexOf(" "); var fullIpAddressWithPort = line.Substring(0, indexOfFirstSpace).Split(':'); var server = new Server(fullIpAddressWithPort[0], fullIpAddressWithPort[1].TryInt()); server.Settings = new SortedDictionary<string, string> { { "hostname", line.Substring(indexOfFirstSpace + 11) } }; return server; } ) .ToList(); }
public static void JoinServer(Server server) { var arguments = new StringBuilder(); string exePath; if(UserSettings.Current.GameOptions.LaunchUsingSteam) { exePath = Path.Combine(LocalMachineInfo.SteamPath, "steam.exe"); if(!File.Exists(exePath)) { MessageBox.Show("Could not find Steam, please adjust your options or check your Steam installation."); return; } arguments.Append(" -applaunch 33930"); } else { exePath = GetArma2OAExe(); } if(UserSettings.Current.GameOptions.MultiGpu) { arguments.Append(" -winxp"); } if(UserSettings.Current.GameOptions.WindowedMode) { arguments.Append(" -window"); } if(!string.IsNullOrWhiteSpace(UserSettings.Current.GameOptions.AdditionalStartupParameters)) { arguments.Append(" " + UserSettings.Current.GameOptions.AdditionalStartupParameters); } arguments.Append(" -noSplash -noFilePatching"); arguments.Append(" -connect=" + server.IpAddress); arguments.Append(" -port=" + server.Port); arguments.AppendFormat(" \"-mod={0};expansion;expansion\\beta;expansion\\beta\\expansion;@DayZ\"", GetArma2Path()); try { var p = new Process { StartInfo = { FileName = exePath, Arguments = arguments.ToString(), WorkingDirectory = GetArma2OAPath(), UseShellExecute = true, } }; arguments.Clear(); p.Start(); } catch(Exception ex) { var joinServerException = new JoinServerException(exePath, arguments.ToString(), GetArma2OAPath(), ex); _logger.Error(joinServerException); } }
public void SetNotes(Server server, string text) { var fileName = GetNoteFileName(server); if(string.IsNullOrWhiteSpace(text)) { if(File.Exists(fileName)) File.Delete(fileName); } else { File.WriteAllText(fileName, text, Encoding.UTF8); } }
private static string GetNoteFileName(Server server) { return Path.Combine(new FileInfo(SettingsPath).Directory.FullName, string.Format("Notes_{0}_{1}.txt", server.IpAddress.Replace(".", "_"), server.Port)); }
public bool Matches(Server server) { return server.IpAddress == _ipAddress && server.Port == _port; }
public FavoritesUpdated(Server server) { Server = server; }
public bool IsFavorite(Server server) { return Favorites.Any(f => f.Matches(server)); }
private bool FilterHandler(Server s) { if(MaxPing != null && s.Ping > MaxPing) return false; if(!string.IsNullOrWhiteSpace(Name)) { if(s.Name == null || s.Name.IndexOf(Name, StringComparison.CurrentCultureIgnoreCase) == -1) return false; } if(HideEmpty && s.CurrentPlayers == 0) return false; if(HideFull && s.FreeSlots == 0) return false; if(TimeOfDay == "Night only") { if(s.IsNight == null || s.IsNight == false) return false; } if(TimeOfDay == "Day only") { if(s.IsNight == null || s.IsNight == true) return false; } if(HasArmor != null) { if(HasArmor == true && !s.Info.Armor.Enabled) return false; if(HasArmor == false && s.Info.Armor.Enabled) return false; } if(HasThirdPerson != null) { if(HasThirdPerson == true && !s.Info.ThirdPerson.Enabled) return false; if(HasThirdPerson == false && s.Info.ThirdPerson.Enabled) return false; } if(HasTracers != null) { if(HasTracers == true && !s.Info.Tracers.Enabled) return false; if(HasTracers == false && s.Info.Tracers.Enabled) return false; } if(HasNameplates != null) { if(HasNameplates == true && !s.Info.Nameplates.Enabled) return false; if(HasNameplates == false && s.Info.Nameplates.Enabled) return false; } if(HasCrosshairs != null) { if(HasCrosshairs == true && !s.Info.Crosshairs.Enabled) return false; if(HasCrosshairs == false && s.Info.Crosshairs.Enabled) return false; } if(HasDeathMessages != null) { if(HasDeathMessages == true && !s.Info.DeathMessages.Enabled) return false; if(HasDeathMessages == false && s.Info.DeathMessages.Enabled) return false; } if(HasScores != null) { if(HasScores == true && !s.Info.Scores.Enabled) return false; if(HasScores == false && s.Info.Scores.Enabled) return false; } if(HideUnresponsive && s.LastException != null) { return false; } if(HidePasswordProtected && s.HasPassword) { return false; } // if(HideWrongArma2Version) // { // if(s.Arma2Version == null // || !LocalMachineInfo.EqualsArma2Version(s.Arma2Version)) // { // return false; // } // } // // if(HideWrongDayZVersion) // { // if(s.DayZVersion == null || !s.DayZVersion.Equals(LocalMachineInfo.DayZVersion)) // { // return false; // } // } return true; }
public ServerUpdated(Server server) { Server = server; }