diff --git a/ServCreator/.vs/ServCreator/v16/.suo b/ServCreator/.vs/ServCreator/v16/.suo index a78fc01..731cb0a 100644 Binary files a/ServCreator/.vs/ServCreator/v16/.suo and b/ServCreator/.vs/ServCreator/v16/.suo differ diff --git a/ServCreator/ServCreator/ControlPanelForm.Designer.cs b/ServCreator/ServCreator/ControlPanelForm.Designer.cs index 07bbfa3..9e57dc7 100644 --- a/ServCreator/ServCreator/ControlPanelForm.Designer.cs +++ b/ServCreator/ServCreator/ControlPanelForm.Designer.cs @@ -31,6 +31,11 @@ namespace ServCreator { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlPanelForm)); this.button1 = new System.Windows.Forms.Button(); + this.richTextBox1 = new System.Windows.Forms.RichTextBox(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.button2 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.button4 = new System.Windows.Forms.Button(); this.SuspendLayout(); // // button1 @@ -43,23 +48,78 @@ namespace ServCreator this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click); // + // richTextBox1 + // + this.richTextBox1.Location = new System.Drawing.Point(156, 12); + this.richTextBox1.Name = "richTextBox1"; + this.richTextBox1.Size = new System.Drawing.Size(632, 399); + this.richTextBox1.TabIndex = 1; + this.richTextBox1.Text = ""; + // + // textBox1 + // + this.textBox1.Location = new System.Drawing.Point(156, 417); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(537, 20); + this.textBox1.TabIndex = 2; + // + // button2 + // + this.button2.Location = new System.Drawing.Point(699, 415); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(89, 23); + this.button2.TabIndex = 3; + this.button2.Text = "Sumbit"; + this.button2.UseVisualStyleBackColor = true; + // + // button3 + // + this.button3.Location = new System.Drawing.Point(12, 12); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(75, 23); + this.button3.TabIndex = 4; + this.button3.Text = "Start"; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.button3_Click); + // + // button4 + // + this.button4.Location = new System.Drawing.Point(12, 41); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(75, 23); + this.button4.TabIndex = 5; + this.button4.Text = "Stop"; + this.button4.UseVisualStyleBackColor = true; + // // ControlPanelForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40))))); this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.button4); + this.Controls.Add(this.button3); + this.Controls.Add(this.button2); + this.Controls.Add(this.textBox1); + this.Controls.Add(this.richTextBox1); this.Controls.Add(this.button1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "ControlPanelForm"; this.Text = "Control Panel - ServManager for Minecraft"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ControlPanelForm_FormClosing); this.Load += new System.EventHandler(this.ControlPanelForm_Load); this.ResumeLayout(false); + this.PerformLayout(); } #endregion private System.Windows.Forms.Button button1; + private System.Windows.Forms.RichTextBox richTextBox1; + private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button button4; } } \ No newline at end of file diff --git a/ServCreator/ServCreator/ControlPanelForm.cs b/ServCreator/ServCreator/ControlPanelForm.cs index 9c999c3..3d94f0a 100644 --- a/ServCreator/ServCreator/ControlPanelForm.cs +++ b/ServCreator/ServCreator/ControlPanelForm.cs @@ -9,11 +9,15 @@ using System.Threading.Tasks; using System.Windows.Forms; using Newtonsoft.Json; using System.IO; +using System.Diagnostics; +using System.Threading; namespace ServCreator { public partial class ControlPanelForm : Form { + public Process process; + public string configFilePath; public string config; @@ -64,5 +68,41 @@ namespace ServCreator public string Engine { get; set; } } + + private void button3_Click(object sender, EventArgs e) + { + process = new Process + { + StartInfo = new ProcessStartInfo + { + WorkingDirectory = serverPath, + FileName = serverPath + "\\start.bat", + UseShellExecute = false, + CreateNoWindow = true, + RedirectStandardInput = true, + RedirectStandardOutput = true, + RedirectStandardError = true + } + }; + + Thread thread = new Thread(() => + { + process.Start(); + + while (!process.StandardOutput.EndOfStream) + { + string line = process.StandardOutput.ReadLine(); + richTextBox1.Text += line; + } + }); + + thread.Start(); + } + + private void ControlPanelForm_FormClosing(object sender, FormClosingEventArgs e) + { + process.Kill(); + Application.Exit(); + } } } diff --git a/ServCreator/ServCreator/ControlPanelForm.resx b/ServCreator/ServCreator/ControlPanelForm.resx index 315624f..9c8acf5 100644 --- a/ServCreator/ServCreator/ControlPanelForm.resx +++ b/ServCreator/ServCreator/ControlPanelForm.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + diff --git a/ServCreator/ServCreator/CreateForm.cs b/ServCreator/ServCreator/CreateForm.cs index e9197c3..3b5085f 100644 --- a/ServCreator/ServCreator/CreateForm.cs +++ b/ServCreator/ServCreator/CreateForm.cs @@ -72,24 +72,6 @@ namespace ServCreator configWriter.Write(JsonConvert.SerializeObject(server)); configWriter.Close(); - // Dodawanie wartości do pliku - if(File.Exists(Application.StartupPath + "\\servers.json")) - { - StreamReader serversReader = new StreamReader(Application.StartupPath + "\\servers.json"); - string serversFile = serversReader.ReadToEnd(); - - var servers = JsonConvert.DeserializeObject>(serversFile); - servers.Add(new Server()); - var addedServer = JsonConvert.SerializeObject(servers); - StreamWriter serversWriter = new StreamWriter(Application.StartupPath + "\\servers.json"); - serversWriter.Write(addedServer); - serversWriter.Close(); - } - else - { - - } - MessageBox.Show("Serwer " + serverNameTB.Text + " został utworzony w folderze: " + serverPathTB.Text + ". Za chwilę zostaniesz przekierowany do panelu kontrolnego."); ControlPanelForm controlPanel = new ControlPanelForm(serverPathTB.Text + "\\servmanager.json"); diff --git a/ServCreator/ServCreator/Form1.Designer.cs b/ServCreator/ServCreator/Form1.Designer.cs index bdcfca2..7d41742 100644 --- a/ServCreator/ServCreator/Form1.Designer.cs +++ b/ServCreator/ServCreator/Form1.Designer.cs @@ -35,6 +35,7 @@ namespace ServCreator this.createBtn = new System.Windows.Forms.Button(); this.selectBtn = new System.Windows.Forms.Button(); this.loadBtn = new System.Windows.Forms.Button(); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); this.SuspendLayout(); // // label1 @@ -87,6 +88,11 @@ namespace ServCreator this.loadBtn.TabIndex = 4; this.loadBtn.Text = "Load"; this.loadBtn.UseVisualStyleBackColor = true; + this.loadBtn.Click += new System.EventHandler(this.loadBtn_Click); + // + // openFileDialog1 + // + this.openFileDialog1.FileName = "openFileDialog1"; // // Form1 // @@ -118,6 +124,7 @@ namespace ServCreator private System.Windows.Forms.Button createBtn; private System.Windows.Forms.Button selectBtn; private System.Windows.Forms.Button loadBtn; + private System.Windows.Forms.OpenFileDialog openFileDialog1; } } diff --git a/ServCreator/ServCreator/Form1.cs b/ServCreator/ServCreator/Form1.cs index 4831927..4428a92 100644 --- a/ServCreator/ServCreator/Form1.cs +++ b/ServCreator/ServCreator/Form1.cs @@ -7,6 +7,8 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using System.IO; +using Newtonsoft.Json; namespace ServCreator { @@ -22,5 +24,32 @@ namespace ServCreator CreateForm createFrm = new CreateForm(); createFrm.Show(); } + + private void loadBtn_Click(object sender, EventArgs e) + { + if(openFileDialog1.ShowDialog() == DialogResult.OK) + { + ControlPanelForm controlPanel = new ControlPanelForm(openFileDialog1.FileName); + controlPanel.Show(); + this.Visible = false; + } + } + + [JsonObject(MemberSerialization.OptIn)] + public class Server + { + [JsonProperty] + public string Name { get; set; } + + [JsonProperty] + public string Path { get; set; } + + [JsonProperty] + public string Version { get; set; } + + [JsonProperty] + public string Engine { get; set; } + + } } } diff --git a/ServCreator/ServCreator/Form1.resx b/ServCreator/ServCreator/Form1.resx index 315624f..776cc11 100644 --- a/ServCreator/ServCreator/Form1.resx +++ b/ServCreator/ServCreator/Form1.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + diff --git a/ServCreator/ServCreator/bin/Debug/ServCreator.exe b/ServCreator/ServCreator/bin/Debug/ServCreator.exe index 28623e4..2c74351 100644 Binary files a/ServCreator/ServCreator/bin/Debug/ServCreator.exe and b/ServCreator/ServCreator/bin/Debug/ServCreator.exe differ diff --git a/ServCreator/ServCreator/bin/Debug/ServCreator.pdb b/ServCreator/ServCreator/bin/Debug/ServCreator.pdb index 7536b17..914c0ab 100644 Binary files a/ServCreator/ServCreator/bin/Debug/ServCreator.pdb and b/ServCreator/ServCreator/bin/Debug/ServCreator.pdb differ diff --git a/ServCreator/ServCreator/obj/Debug/ServCreator.csproj.GenerateResource.cache b/ServCreator/ServCreator/obj/Debug/ServCreator.csproj.GenerateResource.cache index d38db79..0a4c9b9 100644 Binary files a/ServCreator/ServCreator/obj/Debug/ServCreator.csproj.GenerateResource.cache and b/ServCreator/ServCreator/obj/Debug/ServCreator.csproj.GenerateResource.cache differ diff --git a/ServCreator/ServCreator/obj/Debug/ServCreator.csprojAssemblyReference.cache b/ServCreator/ServCreator/obj/Debug/ServCreator.csprojAssemblyReference.cache index 2868be1..9011fd2 100644 Binary files a/ServCreator/ServCreator/obj/Debug/ServCreator.csprojAssemblyReference.cache and b/ServCreator/ServCreator/obj/Debug/ServCreator.csprojAssemblyReference.cache differ diff --git a/ServCreator/ServCreator/obj/Debug/ServCreator.exe b/ServCreator/ServCreator/obj/Debug/ServCreator.exe index 28623e4..2c74351 100644 Binary files a/ServCreator/ServCreator/obj/Debug/ServCreator.exe and b/ServCreator/ServCreator/obj/Debug/ServCreator.exe differ diff --git a/ServCreator/ServCreator/obj/Debug/ServCreator.pdb b/ServCreator/ServCreator/obj/Debug/ServCreator.pdb index 7536b17..914c0ab 100644 Binary files a/ServCreator/ServCreator/obj/Debug/ServCreator.pdb and b/ServCreator/ServCreator/obj/Debug/ServCreator.pdb differ