private void ConnectRA() { TCManager manager = TCManager.Instance; if (manager.RAClient != null) { ((TCPClient)manager.RAClient).Dispose(); } manager.RAClient = new TCPClient(Settings.Default.RAHost, Settings.Default.RAPort); TCPClient client = (TCPClient)manager.RAClient; try { client.Connect(); client.TCConnected += _raClient_TCConnected; client.TCDisconnected += _raClient_TCDisconnected; client.TCMessageReceived += _raClient_TCMessageReceived; } catch (Exception ex) { client.Dispose(); MessageBoxEx.Show(this, "Could not connect to RA! (" + ex.Message + ")", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void startServerButton_Click(object sender, EventArgs e) { TCManager inst = TCManager.Instance; if (!File.Exists(Path.Combine(Settings.Default.ServerFolder, "authserver.exe"))) { MessageBoxEx.Show(this, "The file authserver.exe does not exist!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (!File.Exists(Path.Combine(Settings.Default.ServerFolder, "worldserver.exe"))) { MessageBoxEx.Show(this, "The file worldserver.exe does not exist!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (inst.AuthClient != null) { if (inst.AuthClient.IsOnline) { if (MessageBoxEx.Show(this, "Authserver is already running! Kill it?", "Already running", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No) { return; } ProcessHelper.KillProcess(((LocalClient)inst.AuthClient).UnderlyingProcessId); } } if (inst.WorldClient != null) { if (inst.WorldClient.IsOnline) { if (MessageBoxEx.Show(this, "Worldserver is already running! Kill it?", "Already running", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No) { return; } ProcessHelper.KillProcess(((LocalClient)inst.WorldClient).UnderlyingProcessId); } } consoleTextBox.Text = String.Empty; var authClient = new LocalClient(Path.Combine(Settings.Default.ServerFolder, "authserver.exe")); var worldClient = new LocalClient(Path.Combine(Settings.Default.ServerFolder, "worldserver.exe")); inst.AuthClient = authClient; inst.WorldClient = worldClient; inst.AuthClient.Start(); inst.WorldClient.Start(); stopServerButton.Enabled = true; startServerButton.Enabled = false; var authProc = authClient.UnderlyingProcess; var worldProc = worldClient.UnderlyingProcess; worldProc.Exited += worldProc_Exited; authProc.Exited += authProc_Exited; worldProc.BeginErrorReadLine(); worldProc.BeginOutputReadLine(); worldProc.ErrorDataReceived += worldProc_DataReceived; worldProc.OutputDataReceived += worldProc_OutputDataReceived; authServerLabel.Image = Resources.agt_action_success_16; worldServerLabel.Image = Resources.agt_action_success_16; }