private void ReloadCMD_Button_Click(object sender, RoutedEventArgs e) { if (!PasswordCheck()) { return; } int i = SelectedServer.SelectedIndex; switch (SSH.Servers[i].name) { case "生存服": if (((ListBoxItem)operationSelection.SelectedItem).Content.ToString() == "Announcement") { try { DoBgTask("发送命令 reload_cmd\n请稍候...", () => { SSH.ScreenCommand(ref SSH.Servers[i], "reload_cmd"); SSH.ScreenCommand(ref SSH.Servers[i], "reload_cmd"); }); } catch (Exception) { } } break; default: break; } }
private void SaveButton_Click(object sender, RoutedEventArgs e) { if (!PasswordCheck()) { return; } int i = SelectedServer.SelectedIndex; switch (SSH.Servers[i].name) { case "生存服": if (((ListBoxItem)operationSelection.SelectedItem).Content.ToString() == "Announcement") { string localpath = dataPath + SSH.Servers[i].name + "\\cmd.json"; DoBgTask("保存中\n请稍候...", () => { JArray json = JArray.Parse(File.ReadAllText(localpath)); Dispatcher.Invoke(new Action(() => json.First(lambda => FindJToken((JObject)lambda, "name", "announcement"))["text"] = EditTextbox.Text.Replace("\r", null))); File.WriteAllText(localpath, json.ToString()); DoBgTask("正在上传到服务器\n请稍候...", () => { SSH.UploadFile(ref SSH.Servers[i], localpath, $"/mc/{SSH.Servers[i].dirPath}/config/", "cmd.json"); }); }); } break; default: break; } }
private void SelectedServer_SelectionChanged(object sender, SelectionChangedEventArgs e) { for (int i = 0; i < SSH.Servers.Length; i++) { SSH.DisConnect(ref SSH.Servers[i]); } if (SelectedServer.SelectedIndex != -1) { int i = SelectedServer.SelectedIndex; OperationAreaSet(); } }
private void OperationAreaSet() { EditTextbox.Clear(); if (SelectedServer.SelectedIndex != -1) { if (!PasswordCheck()) { return; } int i = SelectedServer.SelectedIndex; switch (((ListBoxItem)operationSelection.SelectedItem).Content) { case "player.log": DoBgTask("正在从服务器上下载player.log\n请稍候...", () => { string get = SSH.RunShell(ref SSH.Servers[i], $"cat /mc/{SSH.Servers[i].dirPath}/player.log"); Dispatcher.Invoke(new Action(() => EditTextbox.Text = get)); }); break; case "screenlog.0": DoBgTask("正在从服务器上下载screenlog.0\n请稍候...", () => { string get = SSH.RunShell(ref SSH.Servers[i], $"cat /mc/{SSH.Servers[i].dirPath}/screenlog.0"); Dispatcher.Invoke(new Action(() => EditTextbox.Text = get)); }); break; case "/config/cmd.json": SSH.DownloadFile(ref SSH.Servers[i], $"/mc/{SSH.Servers[i].dirPath}/config/cmd.json", dataPath + SSH.Servers[i].name + "\\cmd.json"); EditTextbox.Text = null; break; case "Announcement": DoBgTask("正在从服务器上获取数据Announcement\n请稍候...", () => { SSH.DownloadFile(ref SSH.Servers[i], $"/mc/{SSH.Servers[i].dirPath}/config/cmd.json", dataPath + SSH.Servers[i].name + "\\cmd.json"); try { string get = JArray.Parse(File.ReadAllText(dataPath + SSH.Servers[i].name + "\\cmd.json")).First(lambda => FindJToken((JObject)lambda, "name", "announcement"))["text"].ToString(); Dispatcher.Invoke(new Action(() => EditTextbox.Text = get)); } catch (Exception) { } }); break; default: break; } } }