public DiscordWebhookEventNamesWindow(ValheimServer server) { InitializeComponent(); Server = server; nameTextBoxes = new(); removeKeys = new(); DefaultNames = ValheimServer.DiscordWebhookDefaultAttackNames; CustomNames = Server.DiscordServerEventNames; var combinedNames = new SortedDictionary <string, string>(); foreach (string key in CustomNames.Keys) { combinedNames.Add(key, CustomNames[key]); } foreach (string key in DefaultNames.Keys) { if (!combinedNames.ContainsKey(key)) { combinedNames.Add(key, DefaultNames[key]); } } foreach (string key in combinedNames.Keys) { addEventRow(key, combinedNames[key]); } }
public ServerLogWindow(ValheimServer server) { InitializeComponent(); _server = server; this.Title = $"{server.LogRawName}"; prevExtentHeight = 0; RefreshLogText(); refreshInterval = 1000; refreshTimer = new(); refreshTimer.AutoReset = false; refreshTimer.Elapsed += RefreshTimer_Elapsed; retryInterval = 4000; retryTimer = new(); retryTimer.AutoReset = false; retryTimer.Elapsed += RetryTimer_Elapsed; logWatcher = new FileSystemWatcher(); // Watch for changes in LastWrite times. logWatcher.NotifyFilter = NotifyFilters.LastWrite; logWatcher.Path = Environment.CurrentDirectory; // Only watch .db files. logWatcher.Filter = $"{server.LogRawName}"; logWatcher.Changed += LogWatcher_Changed; logWatcher.EnableRaisingEvents = true; }
public ServerDetailsWindow(ValheimServer server) { InitializeComponent(); this._server = server; txtServerLog.Document.Blocks.Clear(); foreach (var installmethod in Enum.GetValues(typeof(ValheimServer.ServerInstallMethod))) { cmbServerType.Items.Add(installmethod); } resourceTimer = new(); resourceTimer.Interval = 10000; resourceTimer.AutoReset = true; resourceTimer.Elapsed += ResourceTimer_Elapsed; if (Server.Status == ValheimServer.ServerStatus.Running) { UpdateServerResourcesUsed(); resourceTimer.Enabled = true; } RefreshControls(); attachServerEventHandlers(); ServerToControls(); _steamPath = null; try { string filePath = @"Program Files (x86)\Steam\steam.exe"; DriveInfo[] drives = DriveInfo.GetDrives(); foreach (DriveInfo drive in drives) { string testpath = $@"{drive.Name}{filePath}"; if (File.Exists(testpath)) { _steamPath = testpath; RefreshControls(); break; } } } catch (Exception ex) { Debug.WriteLine("Error searching for Steam path"); Debug.WriteLine(ex); } LoadLists(); foreach (var entry in Server.LogEntries) { if (txtServerLog.Document.Blocks.Count > 0) { txtServerLog.Document.Blocks.InsertBefore(txtServerLog.Document.Blocks.FirstBlock, (Paragraph)entry); } else { txtServerLog.Document.Blocks.Add((Paragraph)entry); } } cmbPriority.Items.Add(ProcessPriorityClass.Normal); cmbPriority.Items.Add(ProcessPriorityClass.AboveNormal); cmbPriority.Items.Add(ProcessPriorityClass.High); }
public DiscordWebhookWindow(ValheimServer server) { InitializeComponent(); WindowStartupLocation = WindowStartupLocation.CenterOwner; _server = server; txtWebhook.Text = _server.DiscordWebhook; var contextMenu = new ContextMenu(); var defaultMenu = new MenuItem(); contextMenu.Items.Add(defaultMenu); defaultMenu.Header = "Reset to default"; defaultMenu.Icon = FindResource("Cancel"); defaultMenu.Click += DefaultMenu_Click; menuEditNames = new MenuItem(); contextMenu.Items.Add(menuEditNames); menuEditNames.Header = "Edit random event names"; menuEditNames.Icon = FindResource("Edit"); menuEditNames.Click += MenuEditNames_Click; messageControls = new(); messageControls.Add(txtOnPlayerConnected); messageControls.Add(txtOnPlayerDisconnected); messageControls.Add(txtOnPlayerDied); messageControls.Add(txtOnFailedPassword); messageControls.Add(txtOnRandomServerEvent); messageControls.Add(txtOnStarted); messageControls.Add(txtOnStartFailed); messageControls.Add(txtOnServerExited); messageControls.Add(txtOnUpdated); foreach (var textBox in messageControls) { textBox.Text = server.GetWebhookMessage(textBox.Tag.ToString()); textBox.ContextMenu = contextMenu; textBox.ContextMenuOpening += TextBox_ContextMenuOpening; } }
public ValheimServerTests() { this.Server = this.GetService <ValheimServer>(); ServerLogger = this.GetService <ValheimServerLogger>(); PlayerDataRepository = this.GetService <IPlayerDataRepository>(); }
public ServerEventArgs(ValheimServer server) { _server = server; }