Delete ServerLauncher/MainWindow.xaml.cs
This commit is contained in:
parent
9d0a834e47
commit
2b6c8d58c8
1 changed files with 0 additions and 206 deletions
|
@ -1,206 +0,0 @@
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Windows;
|
|
||||||
using System.Windows.Media;
|
|
||||||
using System.Windows.Threading;
|
|
||||||
|
|
||||||
namespace ServerLauncher
|
|
||||||
{
|
|
||||||
public partial class MainWindow : Window
|
|
||||||
{
|
|
||||||
private DispatcherTimer timer;
|
|
||||||
public MainWindow()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
|
|
||||||
// 初始化定时器
|
|
||||||
timer = new DispatcherTimer();
|
|
||||||
timer.Interval = TimeSpan.FromSeconds(5); // 每 5 秒检测一次
|
|
||||||
timer.Tick += Timer_Tick;
|
|
||||||
timer.Start();
|
|
||||||
|
|
||||||
// 初始检测
|
|
||||||
CheckTslGameProcess();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//启动服务器进程
|
|
||||||
private static void StartTSLServer()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Process.Start(new ProcessStartInfo
|
|
||||||
{
|
|
||||||
FileName = "TslGame.exe",
|
|
||||||
Arguments = "/Game/Maps/Erangel/Erangel_Main?listen?game=/Game/Blueprints/TSLGameMode.TSLGameMode_C -nullrhi -nosound -AllowJoinAnyMatchState -Server -port=8888 -NoVerifyGC -NoEAC -NoBattleEye",
|
|
||||||
UseShellExecute = true,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
MessageBox.Show($"An error was encountered while starting TslGame Server:{ex.Message}", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//结束服务器进程
|
|
||||||
private static void KillTSLProcess()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
// 获取所有名为 "TslGame" 的进程
|
|
||||||
Process[] processes = Process.GetProcessesByName("TslGame");
|
|
||||||
|
|
||||||
if (processes.Length > 0)
|
|
||||||
{
|
|
||||||
foreach (var process in processes)
|
|
||||||
{
|
|
||||||
process.Kill(); // 强制结束进程
|
|
||||||
process.WaitForExit(); // 等待进程完全退出
|
|
||||||
}
|
|
||||||
|
|
||||||
MessageBox.Show("TslGame Server was successfully closed.", "Message", MessageBoxButton.OK, MessageBoxImage.Information);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MessageBox.Show("TslGame Server Not running!", "Message", MessageBoxButton.OK, MessageBoxImage.Warning);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
MessageBox.Show($"Failed to end process TslGame Server: {ex.Message}", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//启动游戏进程
|
|
||||||
private static void StartTSLGame()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Process.Start(new ProcessStartInfo
|
|
||||||
{
|
|
||||||
FileName = "TslGame.exe",
|
|
||||||
Arguments = "127.0.0.1:8888 -NoVerifyGC -NoEAC -NoBattleEye",
|
|
||||||
UseShellExecute = true,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
MessageBox.Show($"An error was encountered while starting TslGame:{ex.Message}", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//监测 TslGame Server 是否正在运行(自动逻辑)
|
|
||||||
private void Timer_Tick(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
// 定时检测进程状态
|
|
||||||
CheckTslGameProcess();
|
|
||||||
}
|
|
||||||
private void CheckTslGameProcess()
|
|
||||||
{
|
|
||||||
// 获取所有名为 "TslGame" 的进程
|
|
||||||
Process[] processes = Process.GetProcessesByName("TslGame");
|
|
||||||
|
|
||||||
if (processes.Length > 0)
|
|
||||||
{
|
|
||||||
// 如果进程存在,更新界面为“运行”
|
|
||||||
StatusText.Text = "Running";
|
|
||||||
StatusText.Foreground = new SolidColorBrush(Colors.Green);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// 如果进程不存在,更新界面为“未运行”
|
|
||||||
StatusText.Text = "Not running";
|
|
||||||
StatusText.Foreground = new SolidColorBrush(Colors.Red);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//界面上的按钮事件
|
|
||||||
//启动 TslGame 服务器
|
|
||||||
private async void Button_StartTSLServer_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
// 启动TslGame.exe
|
|
||||||
MessageBoxResult result = MessageBox.Show(
|
|
||||||
"Are you sure?",
|
|
||||||
"Message",
|
|
||||||
MessageBoxButton.YesNo,
|
|
||||||
MessageBoxImage.Question);
|
|
||||||
|
|
||||||
if (result == MessageBoxResult.Yes)
|
|
||||||
{
|
|
||||||
await Task.Delay(3000);
|
|
||||||
StartTSLServer();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
MessageBox.Show($"An error was encountered while starting TslGame Server: {ex.Message}", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//结束 TslGame 服务器
|
|
||||||
private void Button_KillTSLServer_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
MessageBoxResult result = MessageBox.Show(
|
|
||||||
"Are you sure?",
|
|
||||||
"Message",
|
|
||||||
MessageBoxButton.YesNo,
|
|
||||||
MessageBoxImage.Question);
|
|
||||||
|
|
||||||
if (result == MessageBoxResult.Yes)
|
|
||||||
{
|
|
||||||
KillTSLProcess();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
MessageBox.Show($"Failed to end process TslGame Server: {ex.Message}", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//启动 TslGame
|
|
||||||
private void Button_Start_TslGame(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
MessageBoxResult result = MessageBox.Show(
|
|
||||||
"Are you sure?",
|
|
||||||
"Message",
|
|
||||||
MessageBoxButton.YesNo,
|
|
||||||
MessageBoxImage.Question);
|
|
||||||
|
|
||||||
if (result == MessageBoxResult.Yes)
|
|
||||||
{
|
|
||||||
StartTSLGame();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
MessageBox.Show($"An error was encountered while starting TslGame {ex.Message}", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//退出应用
|
|
||||||
private void Button_Exit_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
Application.Current.Shutdown();
|
|
||||||
}
|
|
||||||
|
|
||||||
//关于我们
|
|
||||||
private void Button_OpenNewWindow_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
// 创建新窗口的实例
|
|
||||||
Window2 newWindow = new Window2();
|
|
||||||
// 显示新窗口
|
|
||||||
newWindow.Show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue