├── .github └── FUNDING.yml ├── .gitignore ├── CS2ServerCreator ├── .vs │ └── CS2ServerCreator │ │ ├── FileContentIndex │ │ └── b9b1f400-fc70-4cb3-a9ca-ff1da2bfc672.vsidx │ │ └── v17 │ │ └── .suo ├── About.Designer.cs ├── About.cs ├── About.resx ├── App.config ├── AppConfiguration.cs ├── CS2ServerCreator.csproj ├── CS2ServerCreator.csproj.user ├── CS2ServerCreator.sln ├── CS2ServerCreator_TemporaryKey.pfx ├── Main.Designer.cs ├── Main.cs ├── Main.resx ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── README.md ├── Resources │ ├── icon.png │ └── save.png ├── bin │ └── Debug │ │ ├── CS2ServerCreator.application │ │ ├── CS2ServerCreator.exe │ │ ├── CS2ServerCreator.exe.config │ │ ├── CS2ServerCreator.exe.manifest │ │ ├── CS2ServerCreator.pdb │ │ └── app.publish │ │ └── CS2ServerCreator.exe ├── icon.ico ├── icon.png └── obj │ └── Debug │ ├── .NETFramework,Version=v4.8.AssemblyAttributes.cs │ ├── CS2ServerCreator.About.resources │ ├── CS2ServerCreator.Main.resources │ ├── CS2ServerCreator.Properties.Resources.resources │ ├── CS2ServerCreator.application │ ├── CS2ServerCreator.csproj.AssemblyReference.cache │ ├── CS2ServerCreator.csproj.CoreCompileInputs.cache │ ├── CS2ServerCreator.csproj.FileListAbsolute.txt │ ├── CS2ServerCreator.csproj.GenerateResource.cache │ ├── CS2ServerCreator.exe │ ├── CS2ServerCreator.exe.manifest │ ├── CS2ServerCreator.pdb │ ├── DesignTimeResolveAssemblyReferences.cache │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ └── TempPE │ └── Properties.Resources.Designer.cs.dll ├── Doc └── ES_es.txt ├── Media ├── Cap1.png ├── Cap2.png └── icon.png └── README.md /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | custom: 2 | - 'https://www.paypal.com/paypalme/Natxo09' 3 | - 'https://steamcommunity.com/tradeoffer/new/?partner=1150310295&token=kEVCw_53' 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | update.bat 2 | release.py 3 | README.md 4 | ServerScriptConfig.xml -------------------------------------------------------------------------------- /CS2ServerCreator/.vs/CS2ServerCreator/FileContentIndex/b9b1f400-fc70-4cb3-a9ca-ff1da2bfc672.vsidx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/.vs/CS2ServerCreator/FileContentIndex/b9b1f400-fc70-4cb3-a9ca-ff1da2bfc672.vsidx -------------------------------------------------------------------------------- /CS2ServerCreator/.vs/CS2ServerCreator/v17/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/.vs/CS2ServerCreator/v17/.suo -------------------------------------------------------------------------------- /CS2ServerCreator/About.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace CS2ServerCreator 2 | { 3 | partial class About 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.pictureBox1 = new System.Windows.Forms.PictureBox(); 32 | this.label1 = new System.Windows.Forms.Label(); 33 | this.label2 = new System.Windows.Forms.Label(); 34 | this.label3 = new System.Windows.Forms.Label(); 35 | this.labelGitHub = new System.Windows.Forms.Label(); 36 | this.label5 = new System.Windows.Forms.Label(); 37 | this.panel1 = new System.Windows.Forms.Panel(); 38 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); 39 | this.panel1.SuspendLayout(); 40 | this.SuspendLayout(); 41 | // 42 | // pictureBox1 43 | // 44 | this.pictureBox1.Image = global::CS2ServerCreator.Properties.Resources.icon1; 45 | this.pictureBox1.Location = new System.Drawing.Point(-2, 10); 46 | this.pictureBox1.Name = "pictureBox1"; 47 | this.pictureBox1.Size = new System.Drawing.Size(146, 136); 48 | this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; 49 | this.pictureBox1.TabIndex = 0; 50 | this.pictureBox1.TabStop = false; 51 | // 52 | // label1 53 | // 54 | this.label1.AutoSize = true; 55 | this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 56 | this.label1.Location = new System.Drawing.Point(155, 4); 57 | this.label1.Name = "label1"; 58 | this.label1.Size = new System.Drawing.Size(140, 16); 59 | this.label1.TabIndex = 1; 60 | this.label1.Text = "CS2 Server Creator"; 61 | // 62 | // label2 63 | // 64 | this.label2.AutoSize = true; 65 | this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 66 | this.label2.Location = new System.Drawing.Point(13, 39); 67 | this.label2.Name = "label2"; 68 | this.label2.Size = new System.Drawing.Size(55, 16); 69 | this.label2.TabIndex = 2; 70 | this.label2.Text = "Author:"; 71 | // 72 | // label3 73 | // 74 | this.label3.AutoSize = true; 75 | this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 76 | this.label3.Location = new System.Drawing.Point(72, 39); 77 | this.label3.Name = "label3"; 78 | this.label3.Size = new System.Drawing.Size(42, 16); 79 | this.label3.TabIndex = 3; 80 | this.label3.Text = "Natxo"; 81 | // 82 | // labelGitHub 83 | // 84 | this.labelGitHub.AutoSize = true; 85 | this.labelGitHub.Cursor = System.Windows.Forms.Cursors.Hand; 86 | this.labelGitHub.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 87 | this.labelGitHub.ForeColor = System.Drawing.Color.Blue; 88 | this.labelGitHub.Location = new System.Drawing.Point(72, 78); 89 | this.labelGitHub.Name = "labelGitHub"; 90 | this.labelGitHub.Size = new System.Drawing.Size(82, 16); 91 | this.labelGitHub.TabIndex = 5; 92 | this.labelGitHub.Text = "github.com"; 93 | this.labelGitHub.Click += new System.EventHandler(this.labelGitHub_Click); 94 | // 95 | // label5 96 | // 97 | this.label5.AutoSize = true; 98 | this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 99 | this.label5.Location = new System.Drawing.Point(14, 78); 100 | this.label5.Name = "label5"; 101 | this.label5.Size = new System.Drawing.Size(58, 16); 102 | this.label5.TabIndex = 4; 103 | this.label5.Text = "GitHub:"; 104 | // 105 | // panel1 106 | // 107 | this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 108 | this.panel1.Controls.Add(this.label3); 109 | this.panel1.Controls.Add(this.labelGitHub); 110 | this.panel1.Controls.Add(this.label2); 111 | this.panel1.Controls.Add(this.label5); 112 | this.panel1.Location = new System.Drawing.Point(147, 8); 113 | this.panel1.Name = "panel1"; 114 | this.panel1.Size = new System.Drawing.Size(161, 138); 115 | this.panel1.TabIndex = 6; 116 | // 117 | // About 118 | // 119 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 120 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 121 | this.ClientSize = new System.Drawing.Size(314, 151); 122 | this.Controls.Add(this.label1); 123 | this.Controls.Add(this.pictureBox1); 124 | this.Controls.Add(this.panel1); 125 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; 126 | this.Name = "About"; 127 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; 128 | this.Text = "About"; 129 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); 130 | this.panel1.ResumeLayout(false); 131 | this.panel1.PerformLayout(); 132 | this.ResumeLayout(false); 133 | this.PerformLayout(); 134 | 135 | } 136 | 137 | #endregion 138 | 139 | private System.Windows.Forms.PictureBox pictureBox1; 140 | private System.Windows.Forms.Label label1; 141 | private System.Windows.Forms.Label label2; 142 | private System.Windows.Forms.Label label3; 143 | private System.Windows.Forms.Label labelGitHub; 144 | private System.Windows.Forms.Label label5; 145 | private System.Windows.Forms.Panel panel1; 146 | } 147 | } -------------------------------------------------------------------------------- /CS2ServerCreator/About.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace CS2ServerCreator 12 | { 13 | public partial class About : Form 14 | { 15 | public About() 16 | { 17 | InitializeComponent(); 18 | } 19 | 20 | private void labelGitHub_Click(object sender, EventArgs e) 21 | { 22 | System.Diagnostics.Process.Start("https://github.com/Natxo09"); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /CS2ServerCreator/About.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /CS2ServerCreator/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /CS2ServerCreator/AppConfiguration.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Web; 7 | 8 | namespace CS2ServerCreator 9 | { 10 | public class AppConfiguration 11 | { 12 | public string SelectedDirectory { get; set; } 13 | public string SelectedMap { get; set; } 14 | public string GameMode { get; set; } 15 | public int MaxPlayers { get; set; } 16 | public int Port { get; set; } 17 | public bool IsAutoexecChecked { get; set; } 18 | public bool IsInsecureChecked { get; set; } 19 | public bool IsDisableBotsChecked { get; set; } 20 | public string CustomParameters { get; set; } 21 | public string ServerName { get; set; } 22 | public string ServerPassword { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /CS2ServerCreator/CS2ServerCreator.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {DB40B6BE-C7BB-42AF-A340-E096EB1A2329} 8 | WinExe 9 | CS2ServerCreator 10 | CS2ServerCreator 11 | v4.8 12 | 512 13 | true 14 | true 15 | false 16 | C:\Users\Natxo\Desktop\ 17 | true 18 | Disk 19 | false 20 | Foreground 21 | 7 22 | Days 23 | false 24 | false 25 | true 26 | 1 27 | 1.0.0.%2a 28 | false 29 | true 30 | true 31 | 32 | 33 | AnyCPU 34 | true 35 | full 36 | false 37 | bin\Debug\ 38 | DEBUG;TRACE 39 | prompt 40 | 4 41 | 42 | 43 | AnyCPU 44 | pdbonly 45 | true 46 | bin\Release\ 47 | TRACE 48 | prompt 49 | 4 50 | 51 | 52 | icon.ico 53 | 54 | 55 | 26A89B57C6D8BA96827AD9915D576927D693A3A9 56 | 57 | 58 | CS2ServerCreator_TemporaryKey.pfx 59 | 60 | 61 | true 62 | 63 | 64 | true 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | Form 82 | 83 | 84 | About.cs 85 | 86 | 87 | 88 | Form 89 | 90 | 91 | Main.cs 92 | 93 | 94 | 95 | 96 | About.cs 97 | 98 | 99 | Main.cs 100 | 101 | 102 | ResXFileCodeGenerator 103 | Resources.Designer.cs 104 | Designer 105 | 106 | 107 | True 108 | Resources.resx 109 | True 110 | 111 | 112 | 113 | SettingsSingleFileGenerator 114 | Settings.Designer.cs 115 | 116 | 117 | True 118 | Settings.settings 119 | True 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | False 138 | Microsoft .NET Framework 4.8 %28x86 y x64%29 139 | true 140 | 141 | 142 | False 143 | .NET Framework 3.5 SP1 144 | false 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /CS2ServerCreator/CS2ServerCreator.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | es-ES 11 | false 12 | 13 | 14 | false 15 | 16 | -------------------------------------------------------------------------------- /CS2ServerCreator/CS2ServerCreator.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.7.34024.191 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CS2ServerCreator", "CS2ServerCreator.csproj", "{DB40B6BE-C7BB-42AF-A340-E096EB1A2329}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {DB40B6BE-C7BB-42AF-A340-E096EB1A2329}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {DB40B6BE-C7BB-42AF-A340-E096EB1A2329}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {DB40B6BE-C7BB-42AF-A340-E096EB1A2329}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {DB40B6BE-C7BB-42AF-A340-E096EB1A2329}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {387BB104-1080-4AE4-AD38-B747CC6C8B0B} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /CS2ServerCreator/CS2ServerCreator_TemporaryKey.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/CS2ServerCreator_TemporaryKey.pfx -------------------------------------------------------------------------------- /CS2ServerCreator/Main.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace CS2ServerCreator 2 | { 3 | partial class Main 4 | { 5 | /// 6 | /// Variable del diseñador necesaria. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Limpiar los recursos que se estén usando. 12 | /// 13 | /// true si los recursos administrados se deben desechar; false en caso contrario. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Código generado por el Diseñador de Windows Forms 24 | 25 | /// 26 | /// Método necesario para admitir el Diseñador. No se puede modificar 27 | /// el contenido de este método con el editor de código. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main)); 32 | this.btnSteamCmd = new System.Windows.Forms.Button(); 33 | this.label3 = new System.Windows.Forms.Label(); 34 | this.btnUpdate = new System.Windows.Forms.Button(); 35 | this.button4 = new System.Windows.Forms.Button(); 36 | this.btnMetamod = new System.Windows.Forms.Button(); 37 | this.btnAbout = new System.Windows.Forms.Button(); 38 | this.btnExit = new System.Windows.Forms.Button(); 39 | this.txtStatus = new System.Windows.Forms.TextBox(); 40 | this.textExternalIp = new System.Windows.Forms.TextBox(); 41 | this.panel2 = new System.Windows.Forms.Panel(); 42 | this.btnCounterStrikeSharp = new System.Windows.Forms.Button(); 43 | this.label12 = new System.Windows.Forms.Label(); 44 | this.label4 = new System.Windows.Forms.Label(); 45 | this.panel3 = new System.Windows.Forms.Panel(); 46 | this.menuStrip1 = new System.Windows.Forms.MenuStrip(); 47 | this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); 48 | this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 49 | this.loadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 50 | this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 51 | this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 52 | this.commoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 53 | this.servercfgToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 54 | this.autoexeccfgToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 55 | this.gamemodecasualcfgToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 56 | this.gamemodecompetitivecfgToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 57 | this.gamemodecompetitive2v2cfgToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 58 | this.gamemodedeathmatchcfgToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 59 | this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 60 | this.githubToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 61 | this.textInternalIp = new System.Windows.Forms.TextBox(); 62 | this.tabControl = new System.Windows.Forms.TabControl(); 63 | this.tabPage1 = new System.Windows.Forms.TabPage(); 64 | this.panel1 = new System.Windows.Forms.Panel(); 65 | this.label10 = new System.Windows.Forms.Label(); 66 | this.panel5 = new System.Windows.Forms.Panel(); 67 | this.btnInfoParam = new System.Windows.Forms.Button(); 68 | this.label16 = new System.Windows.Forms.Label(); 69 | this.label15 = new System.Windows.Forms.Label(); 70 | this.textCustomParameters = new System.Windows.Forms.TextBox(); 71 | this.textPassword = new System.Windows.Forms.TextBox(); 72 | this.label14 = new System.Windows.Forms.Label(); 73 | this.checkAutoexec = new System.Windows.Forms.CheckBox(); 74 | this.btnAutoexecCfg = new System.Windows.Forms.Button(); 75 | this.btnCreateAutoexecCfg = new System.Windows.Forms.Button(); 76 | this.comboGamemode = new System.Windows.Forms.ComboBox(); 77 | this.label13 = new System.Windows.Forms.Label(); 78 | this.label11 = new System.Windows.Forms.Label(); 79 | this.textBox1 = new System.Windows.Forms.TextBox(); 80 | this.comboBox3 = new System.Windows.Forms.ComboBox(); 81 | this.numericUpDownPort = new System.Windows.Forms.NumericUpDown(); 82 | this.btnServerCfg = new System.Windows.Forms.Button(); 83 | this.btnStart = new System.Windows.Forms.Button(); 84 | this.checkInsecure = new System.Windows.Forms.CheckBox(); 85 | this.checkDisBots = new System.Windows.Forms.CheckBox(); 86 | this.label9 = new System.Windows.Forms.Label(); 87 | this.numericUpDownPlayers = new System.Windows.Forms.NumericUpDown(); 88 | this.label8 = new System.Windows.Forms.Label(); 89 | this.comboBox2 = new System.Windows.Forms.ComboBox(); 90 | this.label7 = new System.Windows.Forms.Label(); 91 | this.comboMap = new System.Windows.Forms.ComboBox(); 92 | this.label6 = new System.Windows.Forms.Label(); 93 | this.textSvName = new System.Windows.Forms.TextBox(); 94 | this.label5 = new System.Windows.Forms.Label(); 95 | this.btnDirExplorer = new System.Windows.Forms.Button(); 96 | this.textDir = new System.Windows.Forms.TextBox(); 97 | this.label2 = new System.Windows.Forms.Label(); 98 | this.label1 = new System.Windows.Forms.Label(); 99 | this.panel4 = new System.Windows.Forms.Panel(); 100 | this.tabConsole = new System.Windows.Forms.TabPage(); 101 | this.btnSave = new System.Windows.Forms.PictureBox(); 102 | this.btnClearConsole = new System.Windows.Forms.Button(); 103 | this.textInputConsole = new System.Windows.Forms.TextBox(); 104 | this.richTextBoxConsole = new System.Windows.Forms.RichTextBox(); 105 | this.tabTask = new System.Windows.Forms.TabPage(); 106 | this.label22 = new System.Windows.Forms.Label(); 107 | this.label18 = new System.Windows.Forms.Label(); 108 | this.panel7 = new System.Windows.Forms.Panel(); 109 | this.comboBox4 = new System.Windows.Forms.ComboBox(); 110 | this.label21 = new System.Windows.Forms.Label(); 111 | this.comboBox1 = new System.Windows.Forms.ComboBox(); 112 | this.label20 = new System.Windows.Forms.Label(); 113 | this.checkBox1 = new System.Windows.Forms.CheckBox(); 114 | this.button2 = new System.Windows.Forms.Button(); 115 | this.button1 = new System.Windows.Forms.Button(); 116 | this.textBox2 = new System.Windows.Forms.TextBox(); 117 | this.label19 = new System.Windows.Forms.Label(); 118 | this.label17 = new System.Windows.Forms.Label(); 119 | this.panel6 = new System.Windows.Forms.Panel(); 120 | this.dateTimePickerDate = new System.Windows.Forms.DateTimePicker(); 121 | this.checkDate = new System.Windows.Forms.CheckBox(); 122 | this.checkMinutes = new System.Windows.Forms.CheckBox(); 123 | this.numericUpDownMinutes = new System.Windows.Forms.NumericUpDown(); 124 | this.checkBoxConsole = new System.Windows.Forms.CheckBox(); 125 | this.panel2.SuspendLayout(); 126 | this.menuStrip1.SuspendLayout(); 127 | this.tabControl.SuspendLayout(); 128 | this.tabPage1.SuspendLayout(); 129 | this.panel1.SuspendLayout(); 130 | this.panel5.SuspendLayout(); 131 | ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPort)).BeginInit(); 132 | ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPlayers)).BeginInit(); 133 | this.tabConsole.SuspendLayout(); 134 | ((System.ComponentModel.ISupportInitialize)(this.btnSave)).BeginInit(); 135 | this.tabTask.SuspendLayout(); 136 | this.panel7.SuspendLayout(); 137 | this.panel6.SuspendLayout(); 138 | ((System.ComponentModel.ISupportInitialize)(this.numericUpDownMinutes)).BeginInit(); 139 | this.SuspendLayout(); 140 | // 141 | // btnSteamCmd 142 | // 143 | this.btnSteamCmd.Location = new System.Drawing.Point(646, 106); 144 | this.btnSteamCmd.Name = "btnSteamCmd"; 145 | this.btnSteamCmd.Size = new System.Drawing.Size(182, 23); 146 | this.btnSteamCmd.TabIndex = 4; 147 | this.btnSteamCmd.Text = "Download SteamCMD"; 148 | this.btnSteamCmd.UseVisualStyleBackColor = true; 149 | this.btnSteamCmd.Click += new System.EventHandler(this.btnSteamCmd_Click); 150 | // 151 | // label3 152 | // 153 | this.label3.AutoSize = true; 154 | this.label3.Location = new System.Drawing.Point(643, 72); 155 | this.label3.Name = "label3"; 156 | this.label3.Size = new System.Drawing.Size(33, 13); 157 | this.label3.TabIndex = 5; 158 | this.label3.Text = "Tools"; 159 | // 160 | // btnUpdate 161 | // 162 | this.btnUpdate.Location = new System.Drawing.Point(646, 155); 163 | this.btnUpdate.Name = "btnUpdate"; 164 | this.btnUpdate.Size = new System.Drawing.Size(182, 23); 165 | this.btnUpdate.TabIndex = 6; 166 | this.btnUpdate.Text = "Check for Updates"; 167 | this.btnUpdate.UseVisualStyleBackColor = true; 168 | this.btnUpdate.Click += new System.EventHandler(this.btnUpdate_Click); 169 | // 170 | // button4 171 | // 172 | this.button4.Enabled = false; 173 | this.button4.Location = new System.Drawing.Point(9, 26); 174 | this.button4.Name = "button4"; 175 | this.button4.Size = new System.Drawing.Size(182, 23); 176 | this.button4.TabIndex = 8; 177 | this.button4.Text = "SourceMod"; 178 | this.button4.UseVisualStyleBackColor = true; 179 | // 180 | // btnMetamod 181 | // 182 | this.btnMetamod.Location = new System.Drawing.Point(9, 101); 183 | this.btnMetamod.Name = "btnMetamod"; 184 | this.btnMetamod.Size = new System.Drawing.Size(182, 23); 185 | this.btnMetamod.TabIndex = 9; 186 | this.btnMetamod.Text = "Metadmod"; 187 | this.btnMetamod.UseVisualStyleBackColor = true; 188 | this.btnMetamod.Click += new System.EventHandler(this.btnMetamod_Click); 189 | // 190 | // btnAbout 191 | // 192 | this.btnAbout.Location = new System.Drawing.Point(646, 408); 193 | this.btnAbout.Name = "btnAbout"; 194 | this.btnAbout.Size = new System.Drawing.Size(86, 23); 195 | this.btnAbout.TabIndex = 10; 196 | this.btnAbout.Text = "About"; 197 | this.btnAbout.UseVisualStyleBackColor = true; 198 | this.btnAbout.Click += new System.EventHandler(this.btnAbout_Click); 199 | // 200 | // btnExit 201 | // 202 | this.btnExit.Location = new System.Drawing.Point(743, 408); 203 | this.btnExit.Name = "btnExit"; 204 | this.btnExit.Size = new System.Drawing.Size(86, 23); 205 | this.btnExit.TabIndex = 11; 206 | this.btnExit.Text = "Exit"; 207 | this.btnExit.UseVisualStyleBackColor = true; 208 | this.btnExit.Click += new System.EventHandler(this.btnExit_Click); 209 | // 210 | // txtStatus 211 | // 212 | this.txtStatus.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 213 | this.txtStatus.Location = new System.Drawing.Point(12, 511); 214 | this.txtStatus.Name = "txtStatus"; 215 | this.txtStatus.ReadOnly = true; 216 | this.txtStatus.Size = new System.Drawing.Size(605, 20); 217 | this.txtStatus.TabIndex = 12; 218 | this.txtStatus.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; 219 | // 220 | // textExternalIp 221 | // 222 | this.textExternalIp.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 223 | this.textExternalIp.Location = new System.Drawing.Point(738, 511); 224 | this.textExternalIp.Name = "textExternalIp"; 225 | this.textExternalIp.ReadOnly = true; 226 | this.textExternalIp.Size = new System.Drawing.Size(91, 20); 227 | this.textExternalIp.TabIndex = 13; 228 | this.textExternalIp.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; 229 | // 230 | // panel2 231 | // 232 | this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 233 | this.panel2.Controls.Add(this.btnCounterStrikeSharp); 234 | this.panel2.Controls.Add(this.label12); 235 | this.panel2.Controls.Add(this.button4); 236 | this.panel2.Controls.Add(this.btnMetamod); 237 | this.panel2.Location = new System.Drawing.Point(637, 209); 238 | this.panel2.Name = "panel2"; 239 | this.panel2.Size = new System.Drawing.Size(200, 138); 240 | this.panel2.TabIndex = 14; 241 | // 242 | // btnCounterStrikeSharp 243 | // 244 | this.btnCounterStrikeSharp.Location = new System.Drawing.Point(8, 63); 245 | this.btnCounterStrikeSharp.Name = "btnCounterStrikeSharp"; 246 | this.btnCounterStrikeSharp.Size = new System.Drawing.Size(182, 23); 247 | this.btnCounterStrikeSharp.TabIndex = 17; 248 | this.btnCounterStrikeSharp.Text = "CounterStrikeSharp"; 249 | this.btnCounterStrikeSharp.UseVisualStyleBackColor = true; 250 | this.btnCounterStrikeSharp.Click += new System.EventHandler(this.btnCounterStrikeSharp_Click); 251 | // 252 | // label12 253 | // 254 | this.label12.AutoSize = true; 255 | this.label12.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 256 | this.label12.ForeColor = System.Drawing.Color.Green; 257 | this.label12.Location = new System.Drawing.Point(69, 5); 258 | this.label12.Name = "label12"; 259 | this.label12.Size = new System.Drawing.Size(59, 13); 260 | this.label12.TabIndex = 16; 261 | this.label12.Text = "Available"; 262 | // 263 | // label4 264 | // 265 | this.label4.AutoSize = true; 266 | this.label4.Location = new System.Drawing.Point(643, 202); 267 | this.label4.Name = "label4"; 268 | this.label4.Size = new System.Drawing.Size(43, 13); 269 | this.label4.TabIndex = 15; 270 | this.label4.Text = "Addons"; 271 | // 272 | // panel3 273 | // 274 | this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 275 | this.panel3.Location = new System.Drawing.Point(637, 78); 276 | this.panel3.Name = "panel3"; 277 | this.panel3.Size = new System.Drawing.Size(200, 112); 278 | this.panel3.TabIndex = 16; 279 | // 280 | // menuStrip1 281 | // 282 | this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { 283 | this.toolStripMenuItem1, 284 | this.editToolStripMenuItem, 285 | this.helpToolStripMenuItem}); 286 | this.menuStrip1.Location = new System.Drawing.Point(0, 0); 287 | this.menuStrip1.Name = "menuStrip1"; 288 | this.menuStrip1.Size = new System.Drawing.Size(849, 24); 289 | this.menuStrip1.TabIndex = 17; 290 | this.menuStrip1.Text = "menuStrip1"; 291 | // 292 | // toolStripMenuItem1 293 | // 294 | this.toolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { 295 | this.saveToolStripMenuItem, 296 | this.loadToolStripMenuItem, 297 | this.exitToolStripMenuItem}); 298 | this.toolStripMenuItem1.Name = "toolStripMenuItem1"; 299 | this.toolStripMenuItem1.Size = new System.Drawing.Size(37, 20); 300 | this.toolStripMenuItem1.Text = "File"; 301 | // 302 | // saveToolStripMenuItem 303 | // 304 | this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; 305 | this.saveToolStripMenuItem.Size = new System.Drawing.Size(100, 22); 306 | this.saveToolStripMenuItem.Text = "Save"; 307 | this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); 308 | // 309 | // loadToolStripMenuItem 310 | // 311 | this.loadToolStripMenuItem.Name = "loadToolStripMenuItem"; 312 | this.loadToolStripMenuItem.Size = new System.Drawing.Size(100, 22); 313 | this.loadToolStripMenuItem.Text = "Load"; 314 | this.loadToolStripMenuItem.Click += new System.EventHandler(this.loadToolStripMenuItem_Click); 315 | // 316 | // exitToolStripMenuItem 317 | // 318 | this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; 319 | this.exitToolStripMenuItem.Size = new System.Drawing.Size(100, 22); 320 | this.exitToolStripMenuItem.Text = "Exit"; 321 | this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); 322 | // 323 | // editToolStripMenuItem 324 | // 325 | this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { 326 | this.commoToolStripMenuItem}); 327 | this.editToolStripMenuItem.Name = "editToolStripMenuItem"; 328 | this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20); 329 | this.editToolStripMenuItem.Text = "Edit"; 330 | // 331 | // commoToolStripMenuItem 332 | // 333 | this.commoToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { 334 | this.servercfgToolStripMenuItem, 335 | this.autoexeccfgToolStripMenuItem, 336 | this.gamemodecasualcfgToolStripMenuItem, 337 | this.gamemodecompetitivecfgToolStripMenuItem, 338 | this.gamemodecompetitive2v2cfgToolStripMenuItem, 339 | this.gamemodedeathmatchcfgToolStripMenuItem}); 340 | this.commoToolStripMenuItem.Name = "commoToolStripMenuItem"; 341 | this.commoToolStripMenuItem.Size = new System.Drawing.Size(151, 22); 342 | this.commoToolStripMenuItem.Text = "Common Files"; 343 | // 344 | // servercfgToolStripMenuItem 345 | // 346 | this.servercfgToolStripMenuItem.Name = "servercfgToolStripMenuItem"; 347 | this.servercfgToolStripMenuItem.Size = new System.Drawing.Size(241, 22); 348 | this.servercfgToolStripMenuItem.Text = "server.cfg"; 349 | this.servercfgToolStripMenuItem.Click += new System.EventHandler(this.servercfgToolStripMenuItem_Click); 350 | // 351 | // autoexeccfgToolStripMenuItem 352 | // 353 | this.autoexeccfgToolStripMenuItem.Name = "autoexeccfgToolStripMenuItem"; 354 | this.autoexeccfgToolStripMenuItem.Size = new System.Drawing.Size(241, 22); 355 | this.autoexeccfgToolStripMenuItem.Text = "autoexec.cfg"; 356 | this.autoexeccfgToolStripMenuItem.Click += new System.EventHandler(this.autoexeccfgToolStripMenuItem_Click); 357 | // 358 | // gamemodecasualcfgToolStripMenuItem 359 | // 360 | this.gamemodecasualcfgToolStripMenuItem.Name = "gamemodecasualcfgToolStripMenuItem"; 361 | this.gamemodecasualcfgToolStripMenuItem.Size = new System.Drawing.Size(241, 22); 362 | this.gamemodecasualcfgToolStripMenuItem.Text = "gamemode_casual.cfg"; 363 | this.gamemodecasualcfgToolStripMenuItem.Click += new System.EventHandler(this.gamemodecasualcfgToolStripMenuItem_Click); 364 | // 365 | // gamemodecompetitivecfgToolStripMenuItem 366 | // 367 | this.gamemodecompetitivecfgToolStripMenuItem.Name = "gamemodecompetitivecfgToolStripMenuItem"; 368 | this.gamemodecompetitivecfgToolStripMenuItem.Size = new System.Drawing.Size(241, 22); 369 | this.gamemodecompetitivecfgToolStripMenuItem.Text = "gamemode_competitive.cfg"; 370 | this.gamemodecompetitivecfgToolStripMenuItem.Click += new System.EventHandler(this.gamemodecompetitivecfgToolStripMenuItem_Click); 371 | // 372 | // gamemodecompetitive2v2cfgToolStripMenuItem 373 | // 374 | this.gamemodecompetitive2v2cfgToolStripMenuItem.Name = "gamemodecompetitive2v2cfgToolStripMenuItem"; 375 | this.gamemodecompetitive2v2cfgToolStripMenuItem.Size = new System.Drawing.Size(241, 22); 376 | this.gamemodecompetitive2v2cfgToolStripMenuItem.Text = "gamemode_competitive2v2.cfg"; 377 | this.gamemodecompetitive2v2cfgToolStripMenuItem.Click += new System.EventHandler(this.gamemodecompetitive2v2cfgToolStripMenuItem_Click); 378 | // 379 | // gamemodedeathmatchcfgToolStripMenuItem 380 | // 381 | this.gamemodedeathmatchcfgToolStripMenuItem.Name = "gamemodedeathmatchcfgToolStripMenuItem"; 382 | this.gamemodedeathmatchcfgToolStripMenuItem.Size = new System.Drawing.Size(241, 22); 383 | this.gamemodedeathmatchcfgToolStripMenuItem.Text = "gamemode_deathmatch.cfg"; 384 | this.gamemodedeathmatchcfgToolStripMenuItem.Click += new System.EventHandler(this.gamemodedeathmatchcfgToolStripMenuItem_Click); 385 | // 386 | // helpToolStripMenuItem 387 | // 388 | this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { 389 | this.githubToolStripMenuItem}); 390 | this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; 391 | this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); 392 | this.helpToolStripMenuItem.Text = "Help"; 393 | // 394 | // githubToolStripMenuItem 395 | // 396 | this.githubToolStripMenuItem.Name = "githubToolStripMenuItem"; 397 | this.githubToolStripMenuItem.Size = new System.Drawing.Size(112, 22); 398 | this.githubToolStripMenuItem.Text = "GitHub"; 399 | this.githubToolStripMenuItem.Click += new System.EventHandler(this.githubToolStripMenuItem_Click); 400 | // 401 | // textInternalIp 402 | // 403 | this.textInternalIp.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 404 | this.textInternalIp.Location = new System.Drawing.Point(646, 511); 405 | this.textInternalIp.Name = "textInternalIp"; 406 | this.textInternalIp.ReadOnly = true; 407 | this.textInternalIp.Size = new System.Drawing.Size(91, 20); 408 | this.textInternalIp.TabIndex = 18; 409 | this.textInternalIp.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; 410 | // 411 | // tabControl 412 | // 413 | this.tabControl.Controls.Add(this.tabPage1); 414 | this.tabControl.Controls.Add(this.tabConsole); 415 | this.tabControl.Controls.Add(this.tabTask); 416 | this.tabControl.Location = new System.Drawing.Point(12, 27); 417 | this.tabControl.Name = "tabControl"; 418 | this.tabControl.SelectedIndex = 0; 419 | this.tabControl.Size = new System.Drawing.Size(619, 478); 420 | this.tabControl.TabIndex = 19; 421 | // 422 | // tabPage1 423 | // 424 | this.tabPage1.Controls.Add(this.panel1); 425 | this.tabPage1.Location = new System.Drawing.Point(4, 22); 426 | this.tabPage1.Name = "tabPage1"; 427 | this.tabPage1.Padding = new System.Windows.Forms.Padding(3); 428 | this.tabPage1.Size = new System.Drawing.Size(611, 452); 429 | this.tabPage1.TabIndex = 0; 430 | this.tabPage1.Text = "Configuration"; 431 | this.tabPage1.UseVisualStyleBackColor = true; 432 | // 433 | // panel1 434 | // 435 | this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 436 | this.panel1.Controls.Add(this.label10); 437 | this.panel1.Controls.Add(this.panel5); 438 | this.panel1.Controls.Add(this.btnDirExplorer); 439 | this.panel1.Controls.Add(this.textDir); 440 | this.panel1.Controls.Add(this.label2); 441 | this.panel1.Controls.Add(this.label1); 442 | this.panel1.Controls.Add(this.panel4); 443 | this.panel1.Location = new System.Drawing.Point(0, 0); 444 | this.panel1.Name = "panel1"; 445 | this.panel1.Size = new System.Drawing.Size(611, 452); 446 | this.panel1.TabIndex = 1; 447 | // 448 | // label10 449 | // 450 | this.label10.AutoSize = true; 451 | this.label10.Location = new System.Drawing.Point(25, 109); 452 | this.label10.Name = "label10"; 453 | this.label10.Size = new System.Drawing.Size(100, 13); 454 | this.label10.TabIndex = 6; 455 | this.label10.Text = "Game Configuration"; 456 | // 457 | // panel5 458 | // 459 | this.panel5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 460 | this.panel5.Controls.Add(this.btnInfoParam); 461 | this.panel5.Controls.Add(this.label16); 462 | this.panel5.Controls.Add(this.label15); 463 | this.panel5.Controls.Add(this.textCustomParameters); 464 | this.panel5.Controls.Add(this.textPassword); 465 | this.panel5.Controls.Add(this.label14); 466 | this.panel5.Controls.Add(this.checkAutoexec); 467 | this.panel5.Controls.Add(this.btnAutoexecCfg); 468 | this.panel5.Controls.Add(this.btnCreateAutoexecCfg); 469 | this.panel5.Controls.Add(this.comboGamemode); 470 | this.panel5.Controls.Add(this.label13); 471 | this.panel5.Controls.Add(this.label11); 472 | this.panel5.Controls.Add(this.textBox1); 473 | this.panel5.Controls.Add(this.comboBox3); 474 | this.panel5.Controls.Add(this.numericUpDownPort); 475 | this.panel5.Controls.Add(this.btnServerCfg); 476 | this.panel5.Controls.Add(this.btnStart); 477 | this.panel5.Controls.Add(this.checkInsecure); 478 | this.panel5.Controls.Add(this.checkDisBots); 479 | this.panel5.Controls.Add(this.label9); 480 | this.panel5.Controls.Add(this.numericUpDownPlayers); 481 | this.panel5.Controls.Add(this.label8); 482 | this.panel5.Controls.Add(this.comboBox2); 483 | this.panel5.Controls.Add(this.label7); 484 | this.panel5.Controls.Add(this.comboMap); 485 | this.panel5.Controls.Add(this.label6); 486 | this.panel5.Controls.Add(this.textSvName); 487 | this.panel5.Controls.Add(this.label5); 488 | this.panel5.Location = new System.Drawing.Point(11, 116); 489 | this.panel5.Name = "panel5"; 490 | this.panel5.Size = new System.Drawing.Size(589, 315); 491 | this.panel5.TabIndex = 5; 492 | // 493 | // btnInfoParam 494 | // 495 | this.btnInfoParam.FlatStyle = System.Windows.Forms.FlatStyle.Popup; 496 | this.btnInfoParam.Location = new System.Drawing.Point(519, 131); 497 | this.btnInfoParam.Name = "btnInfoParam"; 498 | this.btnInfoParam.Size = new System.Drawing.Size(42, 21); 499 | this.btnInfoParam.TabIndex = 30; 500 | this.btnInfoParam.Text = "?"; 501 | this.btnInfoParam.UseVisualStyleBackColor = true; 502 | this.btnInfoParam.Click += new System.EventHandler(this.btnInfoParam_Click); 503 | // 504 | // label16 505 | // 506 | this.label16.AutoSize = true; 507 | this.label16.Location = new System.Drawing.Point(411, 111); 508 | this.label16.Name = "label16"; 509 | this.label16.Size = new System.Drawing.Size(98, 13); 510 | this.label16.TabIndex = 29; 511 | this.label16.Text = "Custom Parameters"; 512 | // 513 | // label15 514 | // 515 | this.label15.AutoSize = true; 516 | this.label15.Location = new System.Drawing.Point(428, 9); 517 | this.label15.Name = "label15"; 518 | this.label15.Size = new System.Drawing.Size(60, 13); 519 | this.label15.TabIndex = 28; 520 | this.label15.Text = "Parameters"; 521 | // 522 | // textCustomParameters 523 | // 524 | this.textCustomParameters.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 525 | this.textCustomParameters.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 526 | this.textCustomParameters.Location = new System.Drawing.Point(358, 131); 527 | this.textCustomParameters.Name = "textCustomParameters"; 528 | this.textCustomParameters.Size = new System.Drawing.Size(159, 21); 529 | this.textCustomParameters.TabIndex = 27; 530 | // 531 | // textPassword 532 | // 533 | this.textPassword.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 534 | this.textPassword.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 535 | this.textPassword.Location = new System.Drawing.Point(88, 91); 536 | this.textPassword.Name = "textPassword"; 537 | this.textPassword.Size = new System.Drawing.Size(235, 21); 538 | this.textPassword.TabIndex = 26; 539 | this.textPassword.TextChanged += new System.EventHandler(this.textPassword_TextChanged); 540 | // 541 | // label14 542 | // 543 | this.label14.AutoSize = true; 544 | this.label14.Location = new System.Drawing.Point(1, 95); 545 | this.label14.Name = "label14"; 546 | this.label14.Size = new System.Drawing.Size(87, 13); 547 | this.label14.TabIndex = 25; 548 | this.label14.Text = "Server Password"; 549 | // 550 | // checkAutoexec 551 | // 552 | this.checkAutoexec.AutoSize = true; 553 | this.checkAutoexec.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 554 | this.checkAutoexec.Location = new System.Drawing.Point(381, 63); 555 | this.checkAutoexec.Name = "checkAutoexec"; 556 | this.checkAutoexec.Size = new System.Drawing.Size(76, 19); 557 | this.checkAutoexec.TabIndex = 24; 558 | this.checkAutoexec.Text = "Autoexec"; 559 | this.checkAutoexec.UseVisualStyleBackColor = true; 560 | // 561 | // btnAutoexecCfg 562 | // 563 | this.btnAutoexecCfg.Location = new System.Drawing.Point(497, 179); 564 | this.btnAutoexecCfg.Name = "btnAutoexecCfg"; 565 | this.btnAutoexecCfg.Size = new System.Drawing.Size(42, 23); 566 | this.btnAutoexecCfg.TabIndex = 23; 567 | this.btnAutoexecCfg.Text = "Open"; 568 | this.btnAutoexecCfg.UseVisualStyleBackColor = true; 569 | this.btnAutoexecCfg.Click += new System.EventHandler(this.btnAutoexecCfg_Click); 570 | // 571 | // btnCreateAutoexecCfg 572 | // 573 | this.btnCreateAutoexecCfg.Location = new System.Drawing.Point(384, 179); 574 | this.btnCreateAutoexecCfg.Name = "btnCreateAutoexecCfg"; 575 | this.btnCreateAutoexecCfg.Size = new System.Drawing.Size(116, 23); 576 | this.btnCreateAutoexecCfg.TabIndex = 22; 577 | this.btnCreateAutoexecCfg.Text = "Create autoexec.cfg"; 578 | this.btnCreateAutoexecCfg.UseVisualStyleBackColor = true; 579 | this.btnCreateAutoexecCfg.Click += new System.EventHandler(this.btnCreateAutoexecCfg_Click); 580 | // 581 | // comboGamemode 582 | // 583 | this.comboGamemode.FormattingEnabled = true; 584 | this.comboGamemode.Items.AddRange(new object[] { 585 | "Casual", 586 | "Competitive", 587 | "Deathmatch"}); 588 | this.comboGamemode.Location = new System.Drawing.Point(89, 218); 589 | this.comboGamemode.Name = "comboGamemode"; 590 | this.comboGamemode.Size = new System.Drawing.Size(236, 21); 591 | this.comboGamemode.TabIndex = 21; 592 | // 593 | // label13 594 | // 595 | this.label13.AutoSize = true; 596 | this.label13.Location = new System.Drawing.Point(13, 221); 597 | this.label13.Name = "label13"; 598 | this.label13.Size = new System.Drawing.Size(61, 13); 599 | this.label13.TabIndex = 20; 600 | this.label13.Text = "Gamemode"; 601 | // 602 | // label11 603 | // 604 | this.label11.AutoSize = true; 605 | this.label11.Location = new System.Drawing.Point(233, 13); 606 | this.label11.Name = "label11"; 607 | this.label11.Size = new System.Drawing.Size(18, 13); 608 | this.label11.TabIndex = 19; 609 | this.label11.Text = "ID"; 610 | // 611 | // textBox1 612 | // 613 | this.textBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 614 | this.textBox1.Location = new System.Drawing.Point(258, 9); 615 | this.textBox1.Name = "textBox1"; 616 | this.textBox1.ReadOnly = true; 617 | this.textBox1.Size = new System.Drawing.Size(65, 21); 618 | this.textBox1.TabIndex = 18; 619 | this.textBox1.Text = "730"; 620 | this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; 621 | // 622 | // comboBox3 623 | // 624 | this.comboBox3.Enabled = false; 625 | this.comboBox3.FormattingEnabled = true; 626 | this.comboBox3.Items.AddRange(new object[] { 627 | "Counter-Strike 2"}); 628 | this.comboBox3.Location = new System.Drawing.Point(15, 11); 629 | this.comboBox3.Name = "comboBox3"; 630 | this.comboBox3.Size = new System.Drawing.Size(192, 21); 631 | this.comboBox3.TabIndex = 17; 632 | this.comboBox3.Text = "Counter-Strike 2"; 633 | // 634 | // numericUpDownPort 635 | // 636 | this.numericUpDownPort.Location = new System.Drawing.Point(88, 263); 637 | this.numericUpDownPort.Maximum = new decimal(new int[] { 638 | 80000, 639 | 0, 640 | 0, 641 | 0}); 642 | this.numericUpDownPort.Name = "numericUpDownPort"; 643 | this.numericUpDownPort.Size = new System.Drawing.Size(81, 20); 644 | this.numericUpDownPort.TabIndex = 16; 645 | this.numericUpDownPort.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; 646 | this.numericUpDownPort.Value = new decimal(new int[] { 647 | 27015, 648 | 0, 649 | 0, 650 | 0}); 651 | // 652 | // btnServerCfg 653 | // 654 | this.btnServerCfg.Location = new System.Drawing.Point(384, 225); 655 | this.btnServerCfg.Name = "btnServerCfg"; 656 | this.btnServerCfg.Size = new System.Drawing.Size(155, 23); 657 | this.btnServerCfg.TabIndex = 15; 658 | this.btnServerCfg.Text = "Open Server.cfg"; 659 | this.btnServerCfg.UseVisualStyleBackColor = true; 660 | this.btnServerCfg.Click += new System.EventHandler(this.btnServerCfg_Click); 661 | // 662 | // btnStart 663 | // 664 | this.btnStart.Location = new System.Drawing.Point(453, 276); 665 | this.btnStart.Name = "btnStart"; 666 | this.btnStart.Size = new System.Drawing.Size(86, 23); 667 | this.btnStart.TabIndex = 14; 668 | this.btnStart.Text = "Start"; 669 | this.btnStart.UseVisualStyleBackColor = true; 670 | this.btnStart.Click += new System.EventHandler(this.btnStart_Click); 671 | // 672 | // checkInsecure 673 | // 674 | this.checkInsecure.AutoSize = true; 675 | this.checkInsecure.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 676 | this.checkInsecure.Location = new System.Drawing.Point(381, 30); 677 | this.checkInsecure.Name = "checkInsecure"; 678 | this.checkInsecure.Size = new System.Drawing.Size(73, 19); 679 | this.checkInsecure.TabIndex = 13; 680 | this.checkInsecure.Text = "Insecure"; 681 | this.checkInsecure.UseVisualStyleBackColor = true; 682 | // 683 | // checkDisBots 684 | // 685 | this.checkDisBots.AutoSize = true; 686 | this.checkDisBots.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 687 | this.checkDisBots.Location = new System.Drawing.Point(463, 30); 688 | this.checkDisBots.Name = "checkDisBots"; 689 | this.checkDisBots.Size = new System.Drawing.Size(95, 19); 690 | this.checkDisBots.TabIndex = 12; 691 | this.checkDisBots.Text = "Disable Bots"; 692 | this.checkDisBots.UseVisualStyleBackColor = true; 693 | // 694 | // label9 695 | // 696 | this.label9.AutoSize = true; 697 | this.label9.Location = new System.Drawing.Point(213, 265); 698 | this.label9.Name = "label9"; 699 | this.label9.Size = new System.Drawing.Size(64, 13); 700 | this.label9.TabIndex = 11; 701 | this.label9.Text = "Max Players"; 702 | // 703 | // numericUpDownPlayers 704 | // 705 | this.numericUpDownPlayers.Location = new System.Drawing.Point(287, 263); 706 | this.numericUpDownPlayers.Maximum = new decimal(new int[] { 707 | 64, 708 | 0, 709 | 0, 710 | 0}); 711 | this.numericUpDownPlayers.Name = "numericUpDownPlayers"; 712 | this.numericUpDownPlayers.Size = new System.Drawing.Size(45, 20); 713 | this.numericUpDownPlayers.TabIndex = 10; 714 | this.numericUpDownPlayers.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; 715 | this.numericUpDownPlayers.Value = new decimal(new int[] { 716 | 16, 717 | 0, 718 | 0, 719 | 0}); 720 | // 721 | // label8 722 | // 723 | this.label8.AutoSize = true; 724 | this.label8.Location = new System.Drawing.Point(13, 265); 725 | this.label8.Name = "label8"; 726 | this.label8.Size = new System.Drawing.Size(52, 13); 727 | this.label8.TabIndex = 8; 728 | this.label8.Text = "UDP Port"; 729 | // 730 | // comboBox2 731 | // 732 | this.comboBox2.Enabled = false; 733 | this.comboBox2.FormattingEnabled = true; 734 | this.comboBox2.Items.AddRange(new object[] { 735 | "LAN", 736 | "Internet"}); 737 | this.comboBox2.Location = new System.Drawing.Point(88, 173); 738 | this.comboBox2.Name = "comboBox2"; 739 | this.comboBox2.Size = new System.Drawing.Size(236, 21); 740 | this.comboBox2.TabIndex = 7; 741 | // 742 | // label7 743 | // 744 | this.label7.AutoSize = true; 745 | this.label7.Location = new System.Drawing.Point(12, 176); 746 | this.label7.Name = "label7"; 747 | this.label7.Size = new System.Drawing.Size(47, 13); 748 | this.label7.TabIndex = 6; 749 | this.label7.Text = "Network"; 750 | // 751 | // comboMap 752 | // 753 | this.comboMap.FormattingEnabled = true; 754 | this.comboMap.Items.AddRange(new object[] { 755 | "", 756 | "de_dust2", 757 | "de_mirage", 758 | "de_inferno", 759 | "de_nuke", 760 | "cs_italy", 761 | "cs_office", 762 | "de_anubis", 763 | "de_vertigo", 764 | "de_ancient", 765 | "de_overpass"}); 766 | this.comboMap.Location = new System.Drawing.Point(88, 132); 767 | this.comboMap.Name = "comboMap"; 768 | this.comboMap.Size = new System.Drawing.Size(236, 21); 769 | this.comboMap.TabIndex = 5; 770 | // 771 | // label6 772 | // 773 | this.label6.AutoSize = true; 774 | this.label6.Location = new System.Drawing.Point(12, 135); 775 | this.label6.Name = "label6"; 776 | this.label6.Size = new System.Drawing.Size(28, 13); 777 | this.label6.TabIndex = 4; 778 | this.label6.Text = "Map"; 779 | // 780 | // textSvName 781 | // 782 | this.textSvName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 783 | this.textSvName.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 784 | this.textSvName.Location = new System.Drawing.Point(88, 48); 785 | this.textSvName.Name = "textSvName"; 786 | this.textSvName.Size = new System.Drawing.Size(235, 21); 787 | this.textSvName.TabIndex = 3; 788 | this.textSvName.TextChanged += new System.EventHandler(this.textSvName_TextChanged); 789 | // 790 | // label5 791 | // 792 | this.label5.AutoSize = true; 793 | this.label5.Location = new System.Drawing.Point(12, 53); 794 | this.label5.Name = "label5"; 795 | this.label5.Size = new System.Drawing.Size(69, 13); 796 | this.label5.TabIndex = 1; 797 | this.label5.Text = "Server Name"; 798 | // 799 | // btnDirExplorer 800 | // 801 | this.btnDirExplorer.Location = new System.Drawing.Point(384, 48); 802 | this.btnDirExplorer.Name = "btnDirExplorer"; 803 | this.btnDirExplorer.Size = new System.Drawing.Size(75, 23); 804 | this.btnDirExplorer.TabIndex = 3; 805 | this.btnDirExplorer.Text = "Browser"; 806 | this.btnDirExplorer.UseVisualStyleBackColor = true; 807 | this.btnDirExplorer.Click += new System.EventHandler(this.btnDirExplorer_Click); 808 | // 809 | // textDir 810 | // 811 | this.textDir.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 812 | this.textDir.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 813 | this.textDir.Location = new System.Drawing.Point(143, 49); 814 | this.textDir.Name = "textDir"; 815 | this.textDir.ReadOnly = true; 816 | this.textDir.Size = new System.Drawing.Size(235, 21); 817 | this.textDir.TabIndex = 2; 818 | // 819 | // label2 820 | // 821 | this.label2.AutoSize = true; 822 | this.label2.Location = new System.Drawing.Point(38, 52); 823 | this.label2.Name = "label2"; 824 | this.label2.Size = new System.Drawing.Size(99, 13); 825 | this.label2.TabIndex = 1; 826 | this.label2.Text = "Srcds Configuration"; 827 | // 828 | // label1 829 | // 830 | this.label1.AutoSize = true; 831 | this.label1.Location = new System.Drawing.Point(23, 5); 832 | this.label1.Name = "label1"; 833 | this.label1.Size = new System.Drawing.Size(99, 13); 834 | this.label1.TabIndex = 0; 835 | this.label1.Text = "Srcds Configuration"; 836 | // 837 | // panel4 838 | // 839 | this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 840 | this.panel4.Location = new System.Drawing.Point(11, 11); 841 | this.panel4.Name = "panel4"; 842 | this.panel4.Size = new System.Drawing.Size(518, 88); 843 | this.panel4.TabIndex = 4; 844 | // 845 | // tabConsole 846 | // 847 | this.tabConsole.Controls.Add(this.btnSave); 848 | this.tabConsole.Controls.Add(this.btnClearConsole); 849 | this.tabConsole.Controls.Add(this.textInputConsole); 850 | this.tabConsole.Controls.Add(this.richTextBoxConsole); 851 | this.tabConsole.Location = new System.Drawing.Point(4, 22); 852 | this.tabConsole.Name = "tabConsole"; 853 | this.tabConsole.Padding = new System.Windows.Forms.Padding(3); 854 | this.tabConsole.Size = new System.Drawing.Size(611, 452); 855 | this.tabConsole.TabIndex = 1; 856 | this.tabConsole.Text = "Console"; 857 | this.tabConsole.UseVisualStyleBackColor = true; 858 | // 859 | // btnSave 860 | // 861 | this.btnSave.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 862 | this.btnSave.Image = global::CS2ServerCreator.Properties.Resources.save; 863 | this.btnSave.Location = new System.Drawing.Point(580, 424); 864 | this.btnSave.Name = "btnSave"; 865 | this.btnSave.Size = new System.Drawing.Size(25, 25); 866 | this.btnSave.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; 867 | this.btnSave.TabIndex = 12; 868 | this.btnSave.TabStop = false; 869 | this.btnSave.Click += new System.EventHandler(this.btnSave_Click); 870 | // 871 | // btnClearConsole 872 | // 873 | this.btnClearConsole.Location = new System.Drawing.Point(491, 425); 874 | this.btnClearConsole.Name = "btnClearConsole"; 875 | this.btnClearConsole.Size = new System.Drawing.Size(86, 23); 876 | this.btnClearConsole.TabIndex = 11; 877 | this.btnClearConsole.Text = "Clear"; 878 | this.btnClearConsole.UseVisualStyleBackColor = true; 879 | this.btnClearConsole.Click += new System.EventHandler(this.btnClearConsole_Click); 880 | // 881 | // textInputConsole 882 | // 883 | this.textInputConsole.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 884 | this.textInputConsole.Location = new System.Drawing.Point(7, 427); 885 | this.textInputConsole.Name = "textInputConsole"; 886 | this.textInputConsole.ReadOnly = true; 887 | this.textInputConsole.Size = new System.Drawing.Size(480, 20); 888 | this.textInputConsole.TabIndex = 1; 889 | // 890 | // richTextBoxConsole 891 | // 892 | this.richTextBoxConsole.Location = new System.Drawing.Point(7, 7); 893 | this.richTextBoxConsole.Name = "richTextBoxConsole"; 894 | this.richTextBoxConsole.ReadOnly = true; 895 | this.richTextBoxConsole.Size = new System.Drawing.Size(594, 413); 896 | this.richTextBoxConsole.TabIndex = 0; 897 | this.richTextBoxConsole.Text = ""; 898 | // 899 | // tabTask 900 | // 901 | this.tabTask.Controls.Add(this.label22); 902 | this.tabTask.Controls.Add(this.label18); 903 | this.tabTask.Controls.Add(this.panel7); 904 | this.tabTask.Controls.Add(this.label17); 905 | this.tabTask.Controls.Add(this.panel6); 906 | this.tabTask.Location = new System.Drawing.Point(4, 22); 907 | this.tabTask.Name = "tabTask"; 908 | this.tabTask.Padding = new System.Windows.Forms.Padding(3); 909 | this.tabTask.Size = new System.Drawing.Size(611, 452); 910 | this.tabTask.TabIndex = 2; 911 | this.tabTask.Text = "Schedule Task"; 912 | this.tabTask.UseVisualStyleBackColor = true; 913 | // 914 | // label22 915 | // 916 | this.label22.AutoSize = true; 917 | this.label22.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 918 | this.label22.ForeColor = System.Drawing.Color.Red; 919 | this.label22.Location = new System.Drawing.Point(218, 213); 920 | this.label22.Name = "label22"; 921 | this.label22.Size = new System.Drawing.Size(96, 13); 922 | this.label22.TabIndex = 17; 923 | this.label22.Text = "Not Avaible Yet"; 924 | // 925 | // label18 926 | // 927 | this.label18.AutoSize = true; 928 | this.label18.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 929 | this.label18.Location = new System.Drawing.Point(29, 210); 930 | this.label18.Name = "label18"; 931 | this.label18.Size = new System.Drawing.Size(53, 16); 932 | this.label18.TabIndex = 15; 933 | this.label18.Text = "Backup"; 934 | // 935 | // panel7 936 | // 937 | this.panel7.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 938 | this.panel7.Controls.Add(this.comboBox4); 939 | this.panel7.Controls.Add(this.label21); 940 | this.panel7.Controls.Add(this.comboBox1); 941 | this.panel7.Controls.Add(this.label20); 942 | this.panel7.Controls.Add(this.checkBox1); 943 | this.panel7.Controls.Add(this.button2); 944 | this.panel7.Controls.Add(this.button1); 945 | this.panel7.Controls.Add(this.textBox2); 946 | this.panel7.Controls.Add(this.label19); 947 | this.panel7.Location = new System.Drawing.Point(6, 221); 948 | this.panel7.Name = "panel7"; 949 | this.panel7.Size = new System.Drawing.Size(595, 225); 950 | this.panel7.TabIndex = 14; 951 | // 952 | // comboBox4 953 | // 954 | this.comboBox4.Enabled = false; 955 | this.comboBox4.FormattingEnabled = true; 956 | this.comboBox4.Items.AddRange(new object[] { 957 | "", 958 | "00:00 (12:00 AM)", 959 | "00:15", 960 | "00:30", 961 | "00:45", 962 | "01:00 (01:00 AM)", 963 | "01:15", 964 | "01:30", 965 | "01:45", 966 | "02:00 (02:00 AM)", 967 | "02:15", 968 | "02:30", 969 | "02:45", 970 | "03:00 (03:00 AM)", 971 | "03:15", 972 | "03:30", 973 | "03:45", 974 | "04:00 (04:00 AM)", 975 | "04:15", 976 | "04:30", 977 | "04:45", 978 | "05:00 (05:00 AM)", 979 | "05:15", 980 | "05:30", 981 | "05:45", 982 | "06:00 (06:00 AM)", 983 | "06:15", 984 | "06:30", 985 | "06:45", 986 | "07:00 (07:00 AM)", 987 | "07:15", 988 | "07:30", 989 | "07:45", 990 | "08:00 (08:00 AM)", 991 | "08:15", 992 | "08:30", 993 | "08:45", 994 | "09:00 (09:00 AM)", 995 | "09:15", 996 | "09:30", 997 | "09:45", 998 | "10:00 (10:00 AM)", 999 | "10:15", 1000 | "10:30", 1001 | "10:45", 1002 | "11:00 (11:00 AM)", 1003 | "11:15", 1004 | "11:30", 1005 | "11:45", 1006 | "12:00 (12:00 PM)", 1007 | "12:15", 1008 | "12:30", 1009 | "12:45", 1010 | "13:00 (01:00 PM)", 1011 | "13:15", 1012 | "13:30", 1013 | "13:45", 1014 | "14:00 (02:00 PM)", 1015 | "14:15", 1016 | "14:30", 1017 | "14:45", 1018 | "15:00 (03:00 PM)", 1019 | "15:15", 1020 | "15:30", 1021 | "15:45", 1022 | "16:00 (04:00 PM)", 1023 | "16:15", 1024 | "16:30", 1025 | "16:45", 1026 | "17:00 (05:00 PM)", 1027 | "17:15", 1028 | "17:30", 1029 | "17:45", 1030 | "18:00 (06:00 PM)", 1031 | "18:15", 1032 | "18:30", 1033 | "18:45", 1034 | "19:00 (07:00 PM)", 1035 | "19:15", 1036 | "19:30", 1037 | "19:45", 1038 | "20:00 (08:00 PM)", 1039 | "20:15", 1040 | "20:30", 1041 | "20:45", 1042 | "21:00 (09:00 PM)", 1043 | "21:15", 1044 | "21:30", 1045 | "21:45", 1046 | "22:00 (10:00 PM)", 1047 | "22:15", 1048 | "22:30", 1049 | "22:45", 1050 | "23:00 (11:00 PM)", 1051 | "23:15", 1052 | "23:30", 1053 | "23:45"}); 1054 | this.comboBox4.Location = new System.Drawing.Point(127, 169); 1055 | this.comboBox4.Name = "comboBox4"; 1056 | this.comboBox4.Size = new System.Drawing.Size(236, 21); 1057 | this.comboBox4.TabIndex = 12; 1058 | // 1059 | // label21 1060 | // 1061 | this.label21.AutoSize = true; 1062 | this.label21.Location = new System.Drawing.Point(22, 172); 1063 | this.label21.Name = "label21"; 1064 | this.label21.Size = new System.Drawing.Size(94, 13); 1065 | this.label21.TabIndex = 11; 1066 | this.label21.Text = "Schedule BackUp"; 1067 | // 1068 | // comboBox1 1069 | // 1070 | this.comboBox1.Enabled = false; 1071 | this.comboBox1.FormattingEnabled = true; 1072 | this.comboBox1.Items.AddRange(new object[] { 1073 | "ZIP", 1074 | "RAR"}); 1075 | this.comboBox1.Location = new System.Drawing.Point(126, 104); 1076 | this.comboBox1.Name = "comboBox1"; 1077 | this.comboBox1.Size = new System.Drawing.Size(236, 21); 1078 | this.comboBox1.TabIndex = 10; 1079 | // 1080 | // label20 1081 | // 1082 | this.label20.AutoSize = true; 1083 | this.label20.Location = new System.Drawing.Point(124, 88); 1084 | this.label20.Name = "label20"; 1085 | this.label20.Size = new System.Drawing.Size(50, 13); 1086 | this.label20.TabIndex = 9; 1087 | this.label20.Text = "File Type"; 1088 | // 1089 | // checkBox1 1090 | // 1091 | this.checkBox1.AutoSize = true; 1092 | this.checkBox1.Enabled = false; 1093 | this.checkBox1.Location = new System.Drawing.Point(25, 106); 1094 | this.checkBox1.Name = "checkBox1"; 1095 | this.checkBox1.Size = new System.Drawing.Size(72, 17); 1096 | this.checkBox1.TabIndex = 8; 1097 | this.checkBox1.Text = "Compress"; 1098 | this.checkBox1.UseVisualStyleBackColor = true; 1099 | // 1100 | // button2 1101 | // 1102 | this.button2.Enabled = false; 1103 | this.button2.Location = new System.Drawing.Point(503, 190); 1104 | this.button2.Name = "button2"; 1105 | this.button2.Size = new System.Drawing.Size(75, 23); 1106 | this.button2.TabIndex = 7; 1107 | this.button2.Text = "Backup"; 1108 | this.button2.UseVisualStyleBackColor = true; 1109 | // 1110 | // button1 1111 | // 1112 | this.button1.Enabled = false; 1113 | this.button1.Location = new System.Drawing.Point(368, 43); 1114 | this.button1.Name = "button1"; 1115 | this.button1.Size = new System.Drawing.Size(75, 23); 1116 | this.button1.TabIndex = 6; 1117 | this.button1.Text = "Browser"; 1118 | this.button1.UseVisualStyleBackColor = true; 1119 | // 1120 | // textBox2 1121 | // 1122 | this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1123 | this.textBox2.Enabled = false; 1124 | this.textBox2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 1125 | this.textBox2.Location = new System.Drawing.Point(127, 44); 1126 | this.textBox2.Name = "textBox2"; 1127 | this.textBox2.ReadOnly = true; 1128 | this.textBox2.Size = new System.Drawing.Size(235, 21); 1129 | this.textBox2.TabIndex = 5; 1130 | // 1131 | // label19 1132 | // 1133 | this.label19.AutoSize = true; 1134 | this.label19.Location = new System.Drawing.Point(7, 47); 1135 | this.label19.Name = "label19"; 1136 | this.label19.Size = new System.Drawing.Size(118, 13); 1137 | this.label19.TabIndex = 4; 1138 | this.label19.Text = "BackUp Save Location"; 1139 | // 1140 | // label17 1141 | // 1142 | this.label17.AutoSize = true; 1143 | this.label17.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 1144 | this.label17.Location = new System.Drawing.Point(29, 15); 1145 | this.label17.Name = "label17"; 1146 | this.label17.Size = new System.Drawing.Size(112, 16); 1147 | this.label17.TabIndex = 13; 1148 | this.label17.Text = "Automatic Restart"; 1149 | // 1150 | // panel6 1151 | // 1152 | this.panel6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1153 | this.panel6.Controls.Add(this.dateTimePickerDate); 1154 | this.panel6.Controls.Add(this.checkDate); 1155 | this.panel6.Controls.Add(this.checkMinutes); 1156 | this.panel6.Controls.Add(this.numericUpDownMinutes); 1157 | this.panel6.Location = new System.Drawing.Point(6, 23); 1158 | this.panel6.Name = "panel6"; 1159 | this.panel6.Size = new System.Drawing.Size(338, 158); 1160 | this.panel6.TabIndex = 12; 1161 | // 1162 | // dateTimePickerDate 1163 | // 1164 | this.dateTimePickerDate.Enabled = false; 1165 | this.dateTimePickerDate.Location = new System.Drawing.Point(106, 100); 1166 | this.dateTimePickerDate.Name = "dateTimePickerDate"; 1167 | this.dateTimePickerDate.Size = new System.Drawing.Size(200, 20); 1168 | this.dateTimePickerDate.TabIndex = 13; 1169 | // 1170 | // checkDate 1171 | // 1172 | this.checkDate.AutoSize = true; 1173 | this.checkDate.Enabled = false; 1174 | this.checkDate.Location = new System.Drawing.Point(25, 100); 1175 | this.checkDate.Name = "checkDate"; 1176 | this.checkDate.Size = new System.Drawing.Size(49, 17); 1177 | this.checkDate.TabIndex = 12; 1178 | this.checkDate.Text = "Date"; 1179 | this.checkDate.UseVisualStyleBackColor = true; 1180 | // 1181 | // checkMinutes 1182 | // 1183 | this.checkMinutes.AutoSize = true; 1184 | this.checkMinutes.Location = new System.Drawing.Point(25, 40); 1185 | this.checkMinutes.Name = "checkMinutes"; 1186 | this.checkMinutes.Size = new System.Drawing.Size(63, 17); 1187 | this.checkMinutes.TabIndex = 0; 1188 | this.checkMinutes.Text = "Minutes"; 1189 | this.checkMinutes.UseVisualStyleBackColor = true; 1190 | // 1191 | // numericUpDownMinutes 1192 | // 1193 | this.numericUpDownMinutes.Location = new System.Drawing.Point(106, 39); 1194 | this.numericUpDownMinutes.Maximum = new decimal(new int[] { 1195 | 43800, 1196 | 0, 1197 | 0, 1198 | 0}); 1199 | this.numericUpDownMinutes.Minimum = new decimal(new int[] { 1200 | 1, 1201 | 0, 1202 | 0, 1203 | 0}); 1204 | this.numericUpDownMinutes.Name = "numericUpDownMinutes"; 1205 | this.numericUpDownMinutes.Size = new System.Drawing.Size(45, 20); 1206 | this.numericUpDownMinutes.TabIndex = 11; 1207 | this.numericUpDownMinutes.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; 1208 | this.numericUpDownMinutes.Value = new decimal(new int[] { 1209 | 1, 1210 | 0, 1211 | 0, 1212 | 0}); 1213 | // 1214 | // checkBoxConsole 1215 | // 1216 | this.checkBoxConsole.AutoSize = true; 1217 | this.checkBoxConsole.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 1218 | this.checkBoxConsole.Location = new System.Drawing.Point(669, 370); 1219 | this.checkBoxConsole.Name = "checkBoxConsole"; 1220 | this.checkBoxConsole.Size = new System.Drawing.Size(143, 19); 1221 | this.checkBoxConsole.TabIndex = 25; 1222 | this.checkBoxConsole.Text = "Open console on app"; 1223 | this.checkBoxConsole.UseVisualStyleBackColor = true; 1224 | // 1225 | // Main 1226 | // 1227 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 1228 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 1229 | this.ClientSize = new System.Drawing.Size(849, 543); 1230 | this.Controls.Add(this.checkBoxConsole); 1231 | this.Controls.Add(this.tabControl); 1232 | this.Controls.Add(this.textInternalIp); 1233 | this.Controls.Add(this.label4); 1234 | this.Controls.Add(this.textExternalIp); 1235 | this.Controls.Add(this.txtStatus); 1236 | this.Controls.Add(this.btnExit); 1237 | this.Controls.Add(this.btnAbout); 1238 | this.Controls.Add(this.btnUpdate); 1239 | this.Controls.Add(this.label3); 1240 | this.Controls.Add(this.btnSteamCmd); 1241 | this.Controls.Add(this.panel2); 1242 | this.Controls.Add(this.panel3); 1243 | this.Controls.Add(this.menuStrip1); 1244 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; 1245 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 1246 | this.MainMenuStrip = this.menuStrip1; 1247 | this.Name = "Main"; 1248 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; 1249 | this.Text = "CS2 Server Creator"; 1250 | this.panel2.ResumeLayout(false); 1251 | this.panel2.PerformLayout(); 1252 | this.menuStrip1.ResumeLayout(false); 1253 | this.menuStrip1.PerformLayout(); 1254 | this.tabControl.ResumeLayout(false); 1255 | this.tabPage1.ResumeLayout(false); 1256 | this.panel1.ResumeLayout(false); 1257 | this.panel1.PerformLayout(); 1258 | this.panel5.ResumeLayout(false); 1259 | this.panel5.PerformLayout(); 1260 | ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPort)).EndInit(); 1261 | ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPlayers)).EndInit(); 1262 | this.tabConsole.ResumeLayout(false); 1263 | this.tabConsole.PerformLayout(); 1264 | ((System.ComponentModel.ISupportInitialize)(this.btnSave)).EndInit(); 1265 | this.tabTask.ResumeLayout(false); 1266 | this.tabTask.PerformLayout(); 1267 | this.panel7.ResumeLayout(false); 1268 | this.panel7.PerformLayout(); 1269 | this.panel6.ResumeLayout(false); 1270 | this.panel6.PerformLayout(); 1271 | ((System.ComponentModel.ISupportInitialize)(this.numericUpDownMinutes)).EndInit(); 1272 | this.ResumeLayout(false); 1273 | this.PerformLayout(); 1274 | 1275 | } 1276 | 1277 | #endregion 1278 | private System.Windows.Forms.Button btnSteamCmd; 1279 | private System.Windows.Forms.Label label3; 1280 | private System.Windows.Forms.Button btnUpdate; 1281 | private System.Windows.Forms.Button button4; 1282 | private System.Windows.Forms.Button btnMetamod; 1283 | private System.Windows.Forms.Button btnAbout; 1284 | private System.Windows.Forms.Button btnExit; 1285 | private System.Windows.Forms.TextBox txtStatus; 1286 | private System.Windows.Forms.TextBox textExternalIp; 1287 | private System.Windows.Forms.Panel panel2; 1288 | private System.Windows.Forms.Label label4; 1289 | private System.Windows.Forms.Panel panel3; 1290 | private System.Windows.Forms.MenuStrip menuStrip1; 1291 | private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; 1292 | private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem; 1293 | private System.Windows.Forms.ToolStripMenuItem loadToolStripMenuItem; 1294 | private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem; 1295 | private System.Windows.Forms.ToolStripMenuItem commoToolStripMenuItem; 1296 | private System.Windows.Forms.ToolStripMenuItem servercfgToolStripMenuItem; 1297 | private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem; 1298 | private System.Windows.Forms.ToolStripMenuItem githubToolStripMenuItem; 1299 | private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; 1300 | private System.Windows.Forms.Label label12; 1301 | private System.Windows.Forms.ToolStripMenuItem autoexeccfgToolStripMenuItem; 1302 | private System.Windows.Forms.TextBox textInternalIp; 1303 | private System.Windows.Forms.TabControl tabControl; 1304 | private System.Windows.Forms.TabPage tabPage1; 1305 | private System.Windows.Forms.Panel panel1; 1306 | private System.Windows.Forms.Label label10; 1307 | private System.Windows.Forms.Panel panel5; 1308 | private System.Windows.Forms.Button btnInfoParam; 1309 | private System.Windows.Forms.Label label16; 1310 | private System.Windows.Forms.Label label15; 1311 | private System.Windows.Forms.TextBox textCustomParameters; 1312 | private System.Windows.Forms.TextBox textPassword; 1313 | private System.Windows.Forms.Label label14; 1314 | private System.Windows.Forms.CheckBox checkAutoexec; 1315 | private System.Windows.Forms.Button btnAutoexecCfg; 1316 | private System.Windows.Forms.Button btnCreateAutoexecCfg; 1317 | private System.Windows.Forms.ComboBox comboGamemode; 1318 | private System.Windows.Forms.Label label13; 1319 | private System.Windows.Forms.Label label11; 1320 | private System.Windows.Forms.TextBox textBox1; 1321 | private System.Windows.Forms.ComboBox comboBox3; 1322 | private System.Windows.Forms.NumericUpDown numericUpDownPort; 1323 | private System.Windows.Forms.Button btnServerCfg; 1324 | private System.Windows.Forms.Button btnStart; 1325 | private System.Windows.Forms.CheckBox checkInsecure; 1326 | private System.Windows.Forms.CheckBox checkDisBots; 1327 | private System.Windows.Forms.Label label9; 1328 | private System.Windows.Forms.NumericUpDown numericUpDownPlayers; 1329 | private System.Windows.Forms.Label label8; 1330 | private System.Windows.Forms.ComboBox comboBox2; 1331 | private System.Windows.Forms.Label label7; 1332 | private System.Windows.Forms.ComboBox comboMap; 1333 | private System.Windows.Forms.Label label6; 1334 | private System.Windows.Forms.TextBox textSvName; 1335 | private System.Windows.Forms.Label label5; 1336 | private System.Windows.Forms.Button btnDirExplorer; 1337 | private System.Windows.Forms.TextBox textDir; 1338 | private System.Windows.Forms.Label label2; 1339 | private System.Windows.Forms.Label label1; 1340 | private System.Windows.Forms.Panel panel4; 1341 | private System.Windows.Forms.TabPage tabConsole; 1342 | private System.Windows.Forms.TextBox textInputConsole; 1343 | private System.Windows.Forms.RichTextBox richTextBoxConsole; 1344 | private System.Windows.Forms.CheckBox checkBoxConsole; 1345 | private System.Windows.Forms.Button btnClearConsole; 1346 | private System.Windows.Forms.TabPage tabTask; 1347 | private System.Windows.Forms.ToolStripMenuItem gamemodecasualcfgToolStripMenuItem; 1348 | private System.Windows.Forms.ToolStripMenuItem gamemodecompetitivecfgToolStripMenuItem; 1349 | private System.Windows.Forms.ToolStripMenuItem gamemodecompetitive2v2cfgToolStripMenuItem; 1350 | private System.Windows.Forms.ToolStripMenuItem gamemodedeathmatchcfgToolStripMenuItem; 1351 | private System.Windows.Forms.PictureBox btnSave; 1352 | private System.Windows.Forms.Panel panel6; 1353 | private System.Windows.Forms.CheckBox checkMinutes; 1354 | private System.Windows.Forms.NumericUpDown numericUpDownMinutes; 1355 | private System.Windows.Forms.Label label17; 1356 | private System.Windows.Forms.DateTimePicker dateTimePickerDate; 1357 | private System.Windows.Forms.CheckBox checkDate; 1358 | private System.Windows.Forms.Label label18; 1359 | private System.Windows.Forms.Panel panel7; 1360 | private System.Windows.Forms.Button button1; 1361 | private System.Windows.Forms.TextBox textBox2; 1362 | private System.Windows.Forms.Label label19; 1363 | private System.Windows.Forms.ComboBox comboBox1; 1364 | private System.Windows.Forms.Label label20; 1365 | private System.Windows.Forms.CheckBox checkBox1; 1366 | private System.Windows.Forms.Button button2; 1367 | private System.Windows.Forms.ComboBox comboBox4; 1368 | private System.Windows.Forms.Label label21; 1369 | private System.Windows.Forms.Label label22; 1370 | private System.Windows.Forms.Button btnCounterStrikeSharp; 1371 | } 1372 | } 1373 | 1374 | -------------------------------------------------------------------------------- /CS2ServerCreator/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Diagnostics; 6 | using System.Drawing; 7 | using System.Linq; 8 | using System.Text; 9 | using System.Threading.Tasks; 10 | using System.Windows.Forms; 11 | using System.IO; 12 | using System.Runtime.InteropServices.WindowsRuntime; 13 | using System.Security.Cryptography; 14 | using System.Xml.Serialization; 15 | using System.Net; 16 | using System.Net.Sockets; 17 | using static System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox; 18 | 19 | namespace CS2ServerCreator 20 | { 21 | public partial class Main : Form 22 | { 23 | private string selectedDirectory = ""; 24 | private Process cs2Process = null; 25 | private Timer restartTimer; 26 | private Timer checkServerStatusTimer; 27 | public Main() 28 | { 29 | InitializeComponent(); 30 | DisplayInternalIP(); 31 | DisplayExternalIP(); 32 | 33 | // Inicialización del Timer de reinicio 34 | restartTimer = new Timer(); 35 | restartTimer.Tick += TimerTick; 36 | 37 | // Inicialización del Timer de comprobación del estado del servidor 38 | checkServerStatusTimer = new Timer(); 39 | checkServerStatusTimer.Interval = 10 * 1000; // 10 segundos 40 | checkServerStatusTimer.Tick += CheckServerStatusTick; 41 | } 42 | 43 | private void btnDirExplorer_Click(object sender, EventArgs e) 44 | { 45 | using (OpenFileDialog openFileDialog = new OpenFileDialog()) 46 | { 47 | openFileDialog.ValidateNames = false; 48 | openFileDialog.CheckFileExists = false; 49 | openFileDialog.CheckPathExists = true; 50 | openFileDialog.FileName = "Select a folder"; 51 | openFileDialog.Title = "Select a directory"; 52 | 53 | if (openFileDialog.ShowDialog() == DialogResult.OK) 54 | { 55 | selectedDirectory = System.IO.Path.GetDirectoryName(openFileDialog.FileName); 56 | textDir.Text = selectedDirectory; 57 | //MessageBox.Show($"Selected directory: {selectedDirectory}"); 58 | } 59 | } 60 | } 61 | 62 | private void AppendTextToConsole(string text) 63 | { 64 | if (this.InvokeRequired) 65 | { 66 | this.Invoke(new Action(AppendTextToConsole), new object[] { text }); 67 | return; 68 | } 69 | richTextBoxConsole.AppendText(text + Environment.NewLine); 70 | } 71 | 72 | private void Cs2Process_OutputDataReceived(object sender, DataReceivedEventArgs e) 73 | { 74 | if (e.Data != null) 75 | { 76 | Invoke(new Action(() => 77 | { 78 | richTextBoxConsole.AppendText(e.Data + Environment.NewLine); 79 | richTextBoxConsole.SelectionStart = richTextBoxConsole.Text.Length; 80 | richTextBoxConsole.ScrollToCaret(); 81 | })); 82 | } 83 | } 84 | 85 | private void btnClearConsole_Click(object sender, EventArgs e) 86 | { 87 | richTextBoxConsole.Clear(); 88 | } 89 | 90 | private void btnStart_Click(object sender, EventArgs e) 91 | { 92 | if (cs2Process == null || cs2Process.HasExited) // Si el proceso no está en ejecución 93 | { 94 | if (!string.IsNullOrEmpty(selectedDirectory)) 95 | { 96 | string exePath = System.IO.Path.Combine(selectedDirectory, "cs2.exe"); 97 | 98 | if (System.IO.File.Exists(exePath)) 99 | { 100 | // Argumentos base 101 | string args = "-dedicated"; 102 | string customArgs = textCustomParameters.Text.Trim(); 103 | 104 | // Determinar los argumentos basados en comboGamemode: 105 | if (comboGamemode.SelectedItem != null) 106 | { 107 | string selectedMode = comboGamemode.SelectedItem.ToString(); 108 | switch (selectedMode) 109 | { 110 | case "Casual": 111 | args += " +game_type 0 +game_mode 0"; 112 | break; 113 | case "Competitive": 114 | args += " +game_type 0 +game_mode 1"; 115 | break; 116 | case "Deathmatch": 117 | args += " +game_type 1 +game_mode 2"; 118 | break; 119 | } 120 | } 121 | 122 | // Añadir el mapa seleccionado 123 | if (comboMap.SelectedItem != null) 124 | { 125 | string selectedMap = comboMap.SelectedItem.ToString(); 126 | args += " +map " + selectedMap; 127 | } 128 | 129 | // Añadir -insercure o -secure a args 130 | if (checkInsecure.Checked) 131 | { 132 | args += " -insecure"; 133 | } 134 | else 135 | { 136 | args += " -secure"; 137 | } 138 | 139 | // Añadir Custom args 140 | if (!string.IsNullOrEmpty(customArgs)) 141 | { 142 | args += " " + customArgs; 143 | } 144 | 145 | // Añadir el número de jugadores máximo basado en numericUpDownPlayers 146 | int numPlayers = (int)numericUpDownPlayers.Value; 147 | args += " -maxplayers " + numPlayers; 148 | 149 | // Verificar si checkAutoexec está marcado 150 | if (checkAutoexec.Checked) 151 | { 152 | args += " +exec autoexec.cfg"; 153 | } 154 | if (checkDisBots.Checked) 155 | { 156 | args += " -nobots"; 157 | } 158 | 159 | int port = (int)numericUpDownPort.Value; 160 | args += " -port " + port; 161 | 162 | // Si el checkbox de minutos está marcado, inicia el Timer de reinicio 163 | if (checkMinutes.Checked) 164 | { 165 | restartTimer.Interval = (int)numericUpDownMinutes.Value * 60 * 1000; // Convertir minutos a milisegundos 166 | restartTimer.Start(); 167 | } 168 | 169 | checkServerStatusTimer.Start(); // Inicia el Timer de comprobación de estado 170 | 171 | ProcessStartInfo startInfo = new ProcessStartInfo 172 | { 173 | FileName = exePath, 174 | Arguments = args, 175 | WorkingDirectory = selectedDirectory 176 | }; 177 | 178 | if (checkBoxConsole.Checked) // Si el checkBox está marcado 179 | { 180 | args += " -hideconsole"; 181 | startInfo.RedirectStandardOutput = true; 182 | //startInfo.RedirectStandardInput = true; 183 | startInfo.UseShellExecute = false; 184 | startInfo.CreateNoWindow = true; 185 | startInfo.WindowStyle = ProcessWindowStyle.Hidden; // Esta línea evita que se muestre la consola. 186 | 187 | cs2Process = Process.Start(startInfo); 188 | 189 | cs2Process.OutputDataReceived += Cs2Process_OutputDataReceived; 190 | cs2Process.BeginOutputReadLine(); 191 | } 192 | else 193 | { 194 | cs2Process = Process.Start(startInfo); 195 | } 196 | 197 | //btnStart.Text = "Stop"; // Cambiar el texto del botón a "Stop" 198 | //txtStatus.Text = "Running ......"; 199 | } 200 | else 201 | { 202 | MessageBox.Show("cs2.exe was not found in the selected directory."); 203 | } 204 | } 205 | else 206 | { 207 | MessageBox.Show("Please, Select the right directory."); 208 | } 209 | } 210 | //else // Si el proceso ya está en ejecución 211 | //{ 212 | // cs2Process.Kill(); // Terminar el proceso 213 | // cs2Process = null; // Restablecer la variable 214 | // btnStart.Text = "Start"; // Cambiar el texto del botón de nuevo a "Start" 215 | // txtStatus.Text = "Stopped ......"; 216 | //} 217 | } 218 | 219 | private void AppendTextAndScroll(RichTextBox box, string text) 220 | { 221 | if (box.InvokeRequired) 222 | { 223 | box.Invoke(new Action(() => AppendTextAndScroll(box, text))); 224 | } 225 | else 226 | { 227 | box.AppendText(text); 228 | box.SelectionStart = box.Text.Length; 229 | box.ScrollToCaret(); 230 | } 231 | } 232 | 233 | private void btnExit_Click(object sender, EventArgs e) 234 | { 235 | Application.Exit(); 236 | } 237 | 238 | private void btnServerCfg_Click(object sender, EventArgs e) 239 | { 240 | if (!string.IsNullOrEmpty(selectedDirectory)) 241 | { 242 | int gameIndex = selectedDirectory.IndexOf("\\game\\"); 243 | 244 | if (gameIndex >= 0) 245 | { 246 | string cfgPath = selectedDirectory.Substring(0, gameIndex) + "\\game\\csgo\\cfg\\server.cfg"; 247 | 248 | if (File.Exists(cfgPath)) 249 | { 250 | Process.Start(cfgPath); 251 | } 252 | else 253 | { 254 | MessageBox.Show($"El archivo {cfgPath} no se encontró."); 255 | } 256 | } 257 | else 258 | { 259 | DialogResult result = MessageBox.Show("The filee 'game' was not found in the current directory. ¿Do you want to select the folder manually?", "Folder was not found", MessageBoxButtons.YesNo); 260 | 261 | if (result == DialogResult.Yes) 262 | { 263 | using (FolderBrowserDialog folderDialog = new FolderBrowserDialog()) 264 | { 265 | folderDialog.Description = "Select the folder 'game'"; 266 | 267 | if (folderDialog.ShowDialog() == DialogResult.OK) 268 | { 269 | selectedDirectory = folderDialog.SelectedPath; 270 | textDir.Text = selectedDirectory; 271 | 272 | string cfgPath = Path.Combine(selectedDirectory, "csgo\\cfg\\server.cfg"); 273 | 274 | if (File.Exists(cfgPath)) 275 | { 276 | Process.Start(cfgPath); 277 | } 278 | else 279 | { 280 | MessageBox.Show($"The filee {cfgPath} was not found."); 281 | } 282 | } 283 | } 284 | } 285 | } 286 | } 287 | else 288 | { 289 | MessageBox.Show("Please, select the directory first."); 290 | } 291 | } 292 | 293 | private void btnAbout_Click(object sender, EventArgs e) 294 | { 295 | About aboutForm = new About(); // Crea una nueva instancia del formulario About. 296 | aboutForm.Show(); // Muestra el formulario. 297 | } 298 | 299 | private void btnCreateAutoexecCfg_Click(object sender, EventArgs e) 300 | { 301 | if (!string.IsNullOrEmpty(selectedDirectory)) 302 | { 303 | string baseDir = selectedDirectory; 304 | int gameIndex = baseDir.IndexOf("\\game\\"); 305 | 306 | if (gameIndex != -1) 307 | { 308 | baseDir = baseDir.Substring(0, gameIndex + "\\game\\".Length); 309 | string cfgPath = Path.Combine(baseDir, "csgo", "cfg", "autoexec.cfg"); 310 | 311 | if (!File.Exists(cfgPath)) 312 | { 313 | try 314 | { 315 | // Contenido para autoexec.cfg 316 | string content = @" 317 | hostname ""Counter-Strike 2 Dedicated Server"" 318 | rcon_password ""yourrconpassword"" 319 | sv_password """" 320 | sv_cheats 0 321 | sv_lan 0 322 | exec banned_user.cfg 323 | exec banned_ip.cfg 324 | "; 325 | // Crear el archivo autoexec.cfg 326 | File.WriteAllText(cfgPath, content); 327 | checkAutoexec.Checked = true; 328 | MessageBox.Show("autoexec.cfg created successfully!"); 329 | } 330 | catch (Exception ex) 331 | { 332 | MessageBox.Show("An error occurred while creating autoexec.cfg: " + ex.Message); 333 | } 334 | } 335 | else 336 | { 337 | MessageBox.Show("autoexec.cfg already exists."); 338 | } 339 | } 340 | else 341 | { 342 | MessageBox.Show("The folder 'game' was not found in the selected directory path."); 343 | } 344 | } 345 | else 346 | { 347 | MessageBox.Show("Please, select the right directory."); 348 | } 349 | 350 | } 351 | 352 | private void UpdateAutoexecHostname() 353 | { 354 | if (!string.IsNullOrEmpty(selectedDirectory)) 355 | { 356 | string baseDir = selectedDirectory; 357 | int gameIndex = baseDir.IndexOf("\\game\\"); 358 | 359 | if (gameIndex != -1) 360 | { 361 | baseDir = baseDir.Substring(0, gameIndex + "\\game\\".Length); 362 | string cfgPath = Path.Combine(baseDir, "csgo", "cfg", "autoexec.cfg"); 363 | 364 | if (File.Exists(cfgPath)) 365 | { 366 | try 367 | { 368 | // Leer todas las líneas del archivo 369 | string[] lines = File.ReadAllLines(cfgPath); 370 | 371 | for (int i = 0; i < lines.Length; i++) 372 | { 373 | if (lines[i].StartsWith("hostname ")) 374 | { 375 | lines[i] = $"hostname \"{textSvName.Text}\""; 376 | break; // Salir del bucle una vez se haya actualizado la línea 377 | } 378 | } 379 | 380 | // Guardar las líneas modificadas de vuelta en el archivo 381 | File.WriteAllLines(cfgPath, lines); 382 | } 383 | catch (Exception ex) 384 | { 385 | MessageBox.Show("An error occurred while updating autoexec.cfg: " + ex.Message); 386 | } 387 | } 388 | else 389 | { 390 | MessageBox.Show("autoexec.cfg does not exist. Please create it first."); 391 | } 392 | } 393 | else 394 | { 395 | MessageBox.Show("The folder 'game' was not found in the selected directory path."); 396 | } 397 | } 398 | else 399 | { 400 | MessageBox.Show("Please, select the right directory."); 401 | } 402 | } 403 | 404 | private void textSvName_TextChanged(object sender, EventArgs e) 405 | { 406 | UpdateAutoexecHostname(); 407 | } 408 | 409 | private void UpdateAutoexecPassword() 410 | { 411 | if (!string.IsNullOrEmpty(selectedDirectory)) 412 | { 413 | string baseDir = selectedDirectory; 414 | int gameIndex = baseDir.IndexOf("\\game\\"); 415 | 416 | if (gameIndex != -1) 417 | { 418 | baseDir = baseDir.Substring(0, gameIndex + "\\game\\".Length); 419 | string cfgPath = Path.Combine(baseDir, "csgo", "cfg", "autoexec.cfg"); 420 | 421 | if (File.Exists(cfgPath)) 422 | { 423 | try 424 | { 425 | // Leer todas las líneas del archivo 426 | string[] lines = File.ReadAllLines(cfgPath); 427 | 428 | // Asegurarnos de que el archivo tiene al menos 4 líneas 429 | if (lines.Length >= 4 && lines[3].StartsWith("sv_password ")) 430 | { 431 | lines[3] = $"sv_password \"{textPassword.Text}\""; // Corregí la variable a textSvPassword 432 | 433 | // Guardar las líneas modificadas de vuelta en el archivo 434 | File.WriteAllLines(cfgPath, lines); 435 | } 436 | else 437 | { 438 | MessageBox.Show("The sv_password line is not correctly positioned in autoexec.cfg or the line doesn't exist."); 439 | } 440 | } 441 | catch (Exception ex) 442 | { 443 | MessageBox.Show("An error occurred while updating autoexec.cfg: " + ex.Message); 444 | } 445 | } 446 | else 447 | { 448 | MessageBox.Show("autoexec.cfg does not exist. Please create it first."); 449 | } 450 | } 451 | else 452 | { 453 | MessageBox.Show("The folder 'game' was not found in the selected directory path."); 454 | } 455 | } 456 | else 457 | { 458 | MessageBox.Show("Please, select the right directory."); 459 | } 460 | } 461 | 462 | private void textPassword_TextChanged(object sender, EventArgs e) 463 | { 464 | UpdateAutoexecPassword(); 465 | } 466 | 467 | private void btnAutoexecCfg_Click(object sender, EventArgs e) 468 | { 469 | if (!string.IsNullOrEmpty(selectedDirectory)) 470 | { 471 | string baseDir = selectedDirectory; 472 | int gameIndex = baseDir.IndexOf("\\game\\"); 473 | 474 | if (gameIndex != -1) 475 | { 476 | baseDir = baseDir.Substring(0, gameIndex + "\\game\\".Length); 477 | string cfgPath = Path.Combine(baseDir, "csgo", "cfg", "autoexec.cfg"); 478 | 479 | if (File.Exists(cfgPath)) 480 | { 481 | try 482 | { 483 | // Abrir el archivo autoexec.cfg con el programa predeterminado 484 | Process.Start(cfgPath); 485 | } 486 | catch (Exception ex) 487 | { 488 | MessageBox.Show("An error occurred while opening autoexec.cfg: " + ex.Message); 489 | } 490 | } 491 | else 492 | { 493 | MessageBox.Show("autoexec.cfg does not exist. Please create it first."); 494 | } 495 | } 496 | else 497 | { 498 | MessageBox.Show("The folder 'game' was not found in the selected directory path."); 499 | } 500 | } 501 | else 502 | { 503 | MessageBox.Show("Please, select the right directory."); 504 | } 505 | } 506 | 507 | private int GetGameModeIndex(string gameMode) 508 | { 509 | switch (gameMode) 510 | { 511 | case "Casual": 512 | return 0; 513 | case "Competitive": 514 | return 1; 515 | case "Deathmatch": 516 | return 2; 517 | default: 518 | return -1; 519 | } 520 | } 521 | 522 | private void SaveConfigurationToXml(AppConfiguration config, string filePath) 523 | { 524 | XmlSerializer serializer = new XmlSerializer(typeof(AppConfiguration)); 525 | using (TextWriter writer = new StreamWriter(filePath)) 526 | { 527 | serializer.Serialize(writer, config); 528 | } 529 | } 530 | 531 | private void SaveConfiguration() 532 | { 533 | AppConfiguration config = new AppConfiguration() 534 | { 535 | SelectedDirectory = selectedDirectory, 536 | GameMode = comboGamemode.SelectedItem != null ? comboGamemode.SelectedItem.ToString() : string.Empty, 537 | SelectedMap = comboMap.SelectedItem != null ? comboMap.SelectedItem.ToString() : string.Empty, 538 | MaxPlayers = (int)numericUpDownPlayers.Value, 539 | Port = (int)numericUpDownPort.Value, 540 | IsAutoexecChecked = checkAutoexec.Checked, 541 | IsInsecureChecked = checkInsecure.Checked, 542 | IsDisableBotsChecked = checkDisBots.Checked, 543 | CustomParameters = textCustomParameters.Text, 544 | ServerName = textSvName.Text, 545 | ServerPassword = textPassword.Text, 546 | }; 547 | 548 | SaveFileDialog saveFileDialog = new SaveFileDialog(); 549 | saveFileDialog.Filter = "XML Files (*.xml)|*.xml|All Files (*.*)|*.*"; 550 | saveFileDialog.DefaultExt = "xml"; 551 | saveFileDialog.AddExtension = true; 552 | 553 | if (saveFileDialog.ShowDialog() == DialogResult.OK) 554 | { 555 | SaveConfigurationToXml(config, saveFileDialog.FileName); 556 | } 557 | } 558 | 559 | private AppConfiguration LoadConfigurationFromXml(string filePath) 560 | { 561 | XmlSerializer serializer = new XmlSerializer(typeof(AppConfiguration)); 562 | using (TextReader reader = new StreamReader(filePath)) 563 | { 564 | return (AppConfiguration)serializer.Deserialize(reader); 565 | } 566 | } 567 | 568 | private void LoadConfiguration() 569 | { 570 | OpenFileDialog openFileDialog = new OpenFileDialog(); 571 | openFileDialog.Filter = "XML Files (*.xml)|*.xml|All Files (*.*)|*.*"; 572 | 573 | if (openFileDialog.ShowDialog() == DialogResult.OK) 574 | { 575 | AppConfiguration config = LoadConfigurationFromXml(openFileDialog.FileName); 576 | 577 | selectedDirectory = config.SelectedDirectory; 578 | textDir.Text = selectedDirectory; 579 | comboGamemode.SelectedIndex = GetGameModeIndex(config.GameMode); 580 | comboMap.SelectedItem = config.SelectedMap; 581 | numericUpDownPlayers.Value = config.MaxPlayers; 582 | numericUpDownPort.Value = config.Port; 583 | checkAutoexec.Checked = config.IsAutoexecChecked; 584 | checkInsecure.Checked = config.IsInsecureChecked; 585 | checkDisBots.Checked = config.IsDisableBotsChecked; 586 | textCustomParameters.Text = config.CustomParameters; 587 | textSvName.Text = config.ServerName; 588 | textPassword.Text = config.ServerPassword; 589 | } 590 | } 591 | 592 | private void saveToolStripMenuItem_Click(object sender, EventArgs e) 593 | { 594 | SaveConfiguration(); 595 | } 596 | 597 | private void loadToolStripMenuItem_Click(object sender, EventArgs e) 598 | { 599 | LoadConfiguration(); 600 | } 601 | 602 | private void btnUpdate_Click(object sender, EventArgs e) 603 | { 604 | System.Diagnostics.Process.Start("https://github.com/Natxo09/CS2Server-Creator"); 605 | } 606 | 607 | private void btnSteamCmd_Click(object sender, EventArgs e) 608 | { 609 | System.Diagnostics.Process.Start("https://developer.valvesoftware.com/wiki/SteamCMD"); 610 | } 611 | 612 | private void exitToolStripMenuItem_Click(object sender, EventArgs e) 613 | { 614 | Application.Exit(); 615 | } 616 | 617 | private void servercfgToolStripMenuItem_Click(object sender, EventArgs e) 618 | { 619 | if (!string.IsNullOrEmpty(selectedDirectory)) 620 | { 621 | int gameIndex = selectedDirectory.IndexOf("\\game\\"); 622 | 623 | if (gameIndex >= 0) 624 | { 625 | string cfgPath = selectedDirectory.Substring(0, gameIndex) + "\\game\\csgo\\cfg\\server.cfg"; 626 | 627 | if (File.Exists(cfgPath)) 628 | { 629 | Process.Start(cfgPath); 630 | } 631 | else 632 | { 633 | MessageBox.Show($"El archivo {cfgPath} no se encontró."); 634 | } 635 | } 636 | else 637 | { 638 | DialogResult result = MessageBox.Show("The filee 'game' was not found in the current directory. ¿Do you want to select the folder manually?", "Folder was not found", MessageBoxButtons.YesNo); 639 | 640 | if (result == DialogResult.Yes) 641 | { 642 | using (FolderBrowserDialog folderDialog = new FolderBrowserDialog()) 643 | { 644 | folderDialog.Description = "Select the folder 'game'"; 645 | 646 | if (folderDialog.ShowDialog() == DialogResult.OK) 647 | { 648 | selectedDirectory = folderDialog.SelectedPath; 649 | textDir.Text = selectedDirectory; 650 | 651 | string cfgPath = Path.Combine(selectedDirectory, "csgo\\cfg\\server.cfg"); 652 | 653 | if (File.Exists(cfgPath)) 654 | { 655 | Process.Start(cfgPath); 656 | } 657 | else 658 | { 659 | MessageBox.Show($"The filee {cfgPath} was not found."); 660 | } 661 | } 662 | } 663 | } 664 | } 665 | } 666 | else 667 | { 668 | MessageBox.Show("Please, select the directory first."); 669 | } 670 | } 671 | 672 | private void autoexeccfgToolStripMenuItem_Click(object sender, EventArgs e) 673 | { 674 | if (!string.IsNullOrEmpty(selectedDirectory)) 675 | { 676 | string baseDir = selectedDirectory; 677 | int gameIndex = baseDir.IndexOf("\\game\\"); 678 | 679 | if (gameIndex != -1) 680 | { 681 | baseDir = baseDir.Substring(0, gameIndex + "\\game\\".Length); 682 | string cfgPath = Path.Combine(baseDir, "csgo", "cfg", "autoexec.cfg"); 683 | 684 | if (File.Exists(cfgPath)) 685 | { 686 | try 687 | { 688 | // Abrir el archivo autoexec.cfg con el programa predeterminado 689 | Process.Start(cfgPath); 690 | } 691 | catch (Exception ex) 692 | { 693 | MessageBox.Show("An error occurred while opening autoexec.cfg: " + ex.Message); 694 | } 695 | } 696 | else 697 | { 698 | MessageBox.Show("autoexec.cfg does not exist. Please create it first."); 699 | } 700 | } 701 | else 702 | { 703 | MessageBox.Show("The folder 'game' was not found in the selected directory path."); 704 | } 705 | } 706 | else 707 | { 708 | MessageBox.Show("Please, select the right directory."); 709 | } 710 | } 711 | 712 | private void githubToolStripMenuItem_Click(object sender, EventArgs e) 713 | { 714 | System.Diagnostics.Process.Start("https://github.com/Natxo09/CS2Server-Creator"); 715 | } 716 | 717 | private void DisplayInternalIP() 718 | { 719 | try 720 | { 721 | // Obtener el nombre del host del equipo local 722 | string hostName = Dns.GetHostName(); 723 | 724 | // Encontrar la dirección IP usando el nombre del host 725 | IPHostEntry hostEntry = Dns.GetHostEntry(hostName); 726 | 727 | // Seleccionar una dirección IP (la primera que encuentre que es IPv4, si existe) 728 | foreach (IPAddress ip in hostEntry.AddressList) 729 | { 730 | if (ip.AddressFamily == AddressFamily.InterNetwork) // IPv4 731 | { 732 | textInternalIp.Text = ip.ToString(); 733 | return; 734 | } 735 | } 736 | 737 | // Si no se encuentra una dirección IPv4, puedes mostrar un mensaje o manejarlo de otra manera 738 | textInternalIp.Text = "No IPv4 address found!"; 739 | } 740 | catch (Exception ex) 741 | { 742 | MessageBox.Show("Error retrieving internal IP: " + ex.Message); 743 | } 744 | } 745 | 746 | private void DisplayExternalIP() 747 | { 748 | try 749 | { 750 | WebClient webClient = new WebClient(); 751 | string externalIP = webClient.DownloadString("http://api.ipify.org"); 752 | textExternalIp.Text = externalIP.Trim(); // Establecer la IP externa en el TextBox 753 | } 754 | catch (Exception ex) 755 | { 756 | MessageBox.Show("Error retrieving external IP: " + ex.Message); 757 | } 758 | } 759 | 760 | private void btnInfoParam_Click(object sender, EventArgs e) 761 | { 762 | System.Diagnostics.Process.Start("https://developer.valvesoftware.com/wiki/Command_line_options"); 763 | } 764 | 765 | private void gamemodecasualcfgToolStripMenuItem_Click(object sender, EventArgs e) 766 | { 767 | if (!string.IsNullOrEmpty(selectedDirectory)) 768 | { 769 | string baseDir = selectedDirectory; 770 | int gameIndex = baseDir.IndexOf("\\game\\"); 771 | 772 | if (gameIndex != -1) 773 | { 774 | baseDir = baseDir.Substring(0, gameIndex + "\\game\\".Length); 775 | string cfgPath = Path.Combine(baseDir, "csgo", "cfg", "gamemode_casual.cfg"); 776 | 777 | if (File.Exists(cfgPath)) 778 | { 779 | try 780 | { 781 | // Abrir el archivo autoexec.cfg con el programa predeterminado 782 | Process.Start(cfgPath); 783 | } 784 | catch (Exception ex) 785 | { 786 | MessageBox.Show("An error occurred while opening autoexec.cfg: " + ex.Message); 787 | } 788 | } 789 | else 790 | { 791 | MessageBox.Show("autoexec.cfg does not exist. Please create it first."); 792 | } 793 | } 794 | else 795 | { 796 | MessageBox.Show("The folder 'game' was not found in the selected directory path."); 797 | } 798 | } 799 | else 800 | { 801 | MessageBox.Show("Please, select the right directory."); 802 | } 803 | } 804 | 805 | private void gamemodecompetitivecfgToolStripMenuItem_Click(object sender, EventArgs e) 806 | { 807 | if (!string.IsNullOrEmpty(selectedDirectory)) 808 | { 809 | string baseDir = selectedDirectory; 810 | int gameIndex = baseDir.IndexOf("\\game\\"); 811 | 812 | if (gameIndex != -1) 813 | { 814 | baseDir = baseDir.Substring(0, gameIndex + "\\game\\".Length); 815 | string cfgPath = Path.Combine(baseDir, "csgo", "cfg", "gamemode_competitive.cfg"); 816 | 817 | if (File.Exists(cfgPath)) 818 | { 819 | try 820 | { 821 | // Abrir el archivo autoexec.cfg con el programa predeterminado 822 | Process.Start(cfgPath); 823 | } 824 | catch (Exception ex) 825 | { 826 | MessageBox.Show("An error occurred while opening autoexec.cfg: " + ex.Message); 827 | } 828 | } 829 | else 830 | { 831 | MessageBox.Show("autoexec.cfg does not exist. Please create it first."); 832 | } 833 | } 834 | else 835 | { 836 | MessageBox.Show("The folder 'game' was not found in the selected directory path."); 837 | } 838 | } 839 | else 840 | { 841 | MessageBox.Show("Please, select the right directory."); 842 | } 843 | } 844 | 845 | private void gamemodecompetitive2v2cfgToolStripMenuItem_Click(object sender, EventArgs e) 846 | { 847 | if (!string.IsNullOrEmpty(selectedDirectory)) 848 | { 849 | string baseDir = selectedDirectory; 850 | int gameIndex = baseDir.IndexOf("\\game\\"); 851 | 852 | if (gameIndex != -1) 853 | { 854 | baseDir = baseDir.Substring(0, gameIndex + "\\game\\".Length); 855 | string cfgPath = Path.Combine(baseDir, "csgo", "cfg", "gamemode_competitive2v2.cfg"); 856 | 857 | if (File.Exists(cfgPath)) 858 | { 859 | try 860 | { 861 | // Abrir el archivo autoexec.cfg con el programa predeterminado 862 | Process.Start(cfgPath); 863 | } 864 | catch (Exception ex) 865 | { 866 | MessageBox.Show("An error occurred while opening autoexec.cfg: " + ex.Message); 867 | } 868 | } 869 | else 870 | { 871 | MessageBox.Show("autoexec.cfg does not exist. Please create it first."); 872 | } 873 | } 874 | else 875 | { 876 | MessageBox.Show("The folder 'game' was not found in the selected directory path."); 877 | } 878 | } 879 | else 880 | { 881 | MessageBox.Show("Please, select the right directory."); 882 | } 883 | } 884 | 885 | private void gamemodedeathmatchcfgToolStripMenuItem_Click(object sender, EventArgs e) 886 | { 887 | if (!string.IsNullOrEmpty(selectedDirectory)) 888 | { 889 | string baseDir = selectedDirectory; 890 | int gameIndex = baseDir.IndexOf("\\game\\"); 891 | 892 | if (gameIndex != -1) 893 | { 894 | baseDir = baseDir.Substring(0, gameIndex + "\\game\\".Length); 895 | string cfgPath = Path.Combine(baseDir, "csgo", "cfg", "gamemode_deathmatch.cfg"); 896 | 897 | if (File.Exists(cfgPath)) 898 | { 899 | try 900 | { 901 | // Abrir el archivo autoexec.cfg con el programa predeterminado 902 | Process.Start(cfgPath); 903 | } 904 | catch (Exception ex) 905 | { 906 | MessageBox.Show("An error occurred while opening autoexec.cfg: " + ex.Message); 907 | } 908 | } 909 | else 910 | { 911 | MessageBox.Show("autoexec.cfg does not exist. Please create it first."); 912 | } 913 | } 914 | else 915 | { 916 | MessageBox.Show("The folder 'game' was not found in the selected directory path."); 917 | } 918 | } 919 | else 920 | { 921 | MessageBox.Show("Please, select the right directory."); 922 | } 923 | } 924 | 925 | private void btnSave_Click(object sender, EventArgs e) 926 | { 927 | if (checkBoxConsole.Checked) 928 | { 929 | using (SaveFileDialog saveFileDialog = new SaveFileDialog()) 930 | { 931 | saveFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"; 932 | saveFileDialog.DefaultExt = "txt"; 933 | saveFileDialog.AddExtension = true; 934 | 935 | if (saveFileDialog.ShowDialog() == DialogResult.OK) 936 | { 937 | string path = saveFileDialog.FileName; 938 | File.WriteAllText(path, richTextBoxConsole.Text); 939 | MessageBox.Show("Log saved successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); 940 | } 941 | } 942 | } 943 | else 944 | { 945 | MessageBox.Show("The server is not running on the app, if you want to save the logs you have to start the server on app", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); 946 | } 947 | } 948 | 949 | private void TimerTick(object sender, EventArgs e) 950 | { 951 | restartTimer.Stop(); // Detiene el Timer 952 | 953 | if (cs2Process != null && !cs2Process.HasExited) 954 | { 955 | cs2Process.Kill(); 956 | cs2Process.WaitForExit(); 957 | } 958 | 959 | btnStart_Click(this, EventArgs.Empty); 960 | } 961 | 962 | private void CheckServerStatusTick(object sender, EventArgs e) 963 | { 964 | if (cs2Process == null || cs2Process.HasExited) 965 | { 966 | checkServerStatusTimer.Stop(); 967 | restartTimer.Stop(); 968 | // Aquí puedes realizar otras acciones, como notificar al usuario. 969 | } 970 | } 971 | 972 | private void btnMetamod_Click(object sender, EventArgs e) 973 | { 974 | System.Diagnostics.Process.Start("https://www.youtube.com/watch?v=Gnsmn9GPX4k"); 975 | } 976 | 977 | private void btnCounterStrikeSharp_Click(object sender, EventArgs e) 978 | { 979 | System.Diagnostics.Process.Start("https://github.com/roflmuffin/CounterStrikeSharp"); 980 | } 981 | 982 | } 983 | } 984 | -------------------------------------------------------------------------------- /CS2ServerCreator/Main.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | 124 | 125 | 126 | AAABAAEAAAAAAAEAIABSEgAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAEAAAABAAgDAAAAa6xYVAAAAwBQ 127 | TFRFKTd+KDd+KTd/LDqBLDl/KDZ/Kjh+Kzl/JjR+HSt4Gih1HCt3JDN9Kjh/KzmANUGCZG2fdn+tZnCh 128 | Qk6HIjB5HSx3IzF5h42x7e3w///+/////v7+9vb2yMvYb3ijIS93parB/f3+t7rNLzx+JjR9KjiAanKe 129 | /P39/f39+/v8JDJ5u73P/Pz8+fn7e4KozM7c3N7lNEF/JzV/Kjd+JTN6vsHSubzO/Pz9lJm2Hix4LDqA 130 | IzF8XGaW2dvkbHWiHy55LzyCIi94KDV6MD5/Kjd7z9HdeYClHCp3IC54IC56FSRzgIeqYGqcGCh1JzV9 131 | JjN+hIyw0dLe3t/mlpy7pKrH9/f2foWuM0CFQk2NPkuLO0aEztDb5ufs1tjf2dri3Nzjzs/WOUWA2drj 132 | +vr8+fr7+Pj5fYWrPUmCS1WLSFSLRVCKLDp+IC52tLfLbXaoIjB7Gyp2dX2k6eruoajFkJe1iY+wjpOz 133 | j5W0kpe2k5m4mZ++n6TASFSQrrPGFSRvGyl0Gyp1Hix2jpW2P0uG1tjhRE+HIC96IjF7Hi13Hy14Zm+c 134 | cXmkPUiFUFqQWWSWUFqMZnCkZW+iYGueSVSQMz9/wMPT4OHq8PHzqq7GTlmOXWeboqjC1tnj7u7y+vr5 135 | ZG2b8PDyXWaVLzt8Z3Cf09TgM0CCi5Kz4+TqzM/aqq/IR1ONhIyu3d/oOkWDpKjBGCZzV2GWxcjXmZ27 136 | LDl8TFeNJjN5sbXK+/v79PT1P0qFqKzDQUyJV2CTYWqbNkOCnaO+vL/Q7+/xu7/S3uDnhoyve4OseoOs 137 | x8nWtLjNcHmngIiwaXKiVV6RDhxtGil1cnujR1KK8fL0pKnDwcXXY2uaDR1v4ePp6+zvdX6nrLHJbnah 138 | XWaY1Nfhoqe/lp24NkKBRU+JP0uKRE+J8/P2wsXTTFiRbHafWWOahIutTFeO3N3lU12RcnumhYyzcHig 139 | qq/Eur3RnaG8YGiYd3+mmaC7Dx1uOESFRFCOjJOwSlaNPUqHeYKpxMjYYWuZeYOvW2aZCYqHAgAAAAFv 140 | ck5UAc+id5oAAA8ASURBVHja7Zx9nBPlncCTmUyycTMDtmRlfs/COuwOydKsYrIw7gTJLqwuK7Jb5eBa 141 | pVpllxaBy+r5Ug8oWV+SXQrUO6QFraCUFlHR2pWXolLfWr2eXYtnsb6grWBPpddXT0/bu/aZTJLJq8m0 142 | Hftp+H0//iG7m3nm+c3v/flNbDYEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAE 143 | QRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEqRw7o3PCCkDbPMs6TlwBcE5XjfukWg8vnLAaUDtm7Mkf+/g4 144 | L+M8EffvtNedMl4EUj9hYl2NYGO4E00AQsOpIBGJAIFJjU3yCecNXd7J4CNA8TfDpCknngD4KZ+AgAhJ 145 | CbTAabXsiecETge/LgCQYOoZQaaYm6zi7Ydap6VMICmB6XWhgt3yVW0WrinTQUlpADTDmW1qwWaFKt4+ 146 | rwrhGWeBP6MBMyPtah5sh00VXK6q3D8rR2bN7pwOPt0JwtnnzO6a05ZL97lzz5vX09vEhaovA2TDnZ88 147 | /fwLtBSAIvrhrPn/UIQFC//xU5/+tMtefSnQuAsv0vYu6T5QJGLaF+Sx6DMXX/LZS2uqLVHmPWdcBs1K 148 | wJ/ZuEgURfJp+JXFi/v6+hZr9MOSz31+6eXLqi5HlpevgGYRtN0nBaD/b4osXVDgn87tjUarzgLUgSsg 149 | UFzlqV1c+c9XXX3NtVd94br58/9l5SqP4Ky6QtEZnD01E/7yUWD1F71rNGKDscGBVqbqIgBVgNiStPcr 150 | JoDr3Xo+wLKsyspc1dk/z3CdnwE/KWkBN3iquyqU2dqJ1ABKhD0Jbuzk/k4EEOJdvI6rDNleLCTLrReB 151 | Qko8fwItN3n4UPHlTGC5H1MFW1M0nkgkotFEfKg4wyna6gwJhHqY6NrSHoBQFfiSu7AEcqi2psTwUKV4 152 | uy3MYul/vCNYOxRat37Dl5NsuPlfizL233Q+trGVsel74oO3bPrKV4GIWSYgkszup7aICmweZJmcdoCT 153 | DXoHey7ccmuJdQq5+VYLQyfHsL2x2TNv+9rt9X0LNOq3lnicNLvRIOLaSKrtzbFD2+gzznn+9Pd+RcsI 154 | Cdxx5+1QP/WaVtkQN3WZQk3X9q+v3HF7fanUoUgk2TwoWLZ9me/6xjd3ipXeDPV3d7XKfLoGGtwFAZIr 155 | AKD/Jn5R7INJDXMn3u2KM0Z7mON4oavxnnsrXy6pSeKWuFVegOPlORN30nv2ESAV3Y0Cp3WpqdYW79m9 156 | iEokVwB++NrmPloZENjWFo0kbALDGT6Al91fvwCIpEipvVWADzZ1yFZs3m4LMa5g6310CZKuYcTyj2PR 157 | LZliTu2aSPWz4A923/+tB0Sy6OopsovXvAWTdjccz3V8mySThuRKpEINmNzlsOTpcwwfHJkGfYoJfVRg 158 | vjfT7hU6JhXkwFQAD8rhnvPOG9Mt5PtbmdmzFxYHwBQSXNzI8RZFAHnKCthHTNnj/qUJPlMFf2d8wVOk 159 | fn9JWzsfidSwTiY33NiEhgPQTMztn4r86lrVIgfA1l4D/T4zd+ODFVMyUU2oXQLNhU7yssagi21vb5eZ 160 | vLaRWjsX+hWT+6fB5KEaa1JJRo0/vI8QsXKXLEoKPBJR005dmLMafIUP7ArNSdrpH+UlgEL0wf3awYEp 161 | FSAtcMBr0RELrWImJE3Y39xSIYthequR1/HBg99tKbDYHZ1y0bSFEaY8mnSZZHFLxfT3wWNLwxY1EVXv 162 | TN2HV24EgcfHNGW5Nib4xU15n5ZgcpujuL51zwAt+BFzPmfnncMsZ40JyOM2aQpA4IknZ5688HsV8P1v 163 | 1dW4smo7oemhPC/YDE9pp6JFG6dDT2vCInD+9/594Q8WVsh/zI4KFpWTrvgzW5N5u0jO+uT2H547elI5 164 | RudFGFf28R478Gx+HiDOMHxE7nKJH+1PCkv0TZjZ8MN5o5Ux0CRTW/3rd1HoFR1d96V9OIFDz93Ns2pZ 165 | chNSV++eCSDl6P9/Pm8v2Tg80xDWzlMOVrBa4Yp/VRfo2T0+ncVI0p8TbJ3BkUdz8yAFrv9xCY/t7Jl9 166 | OC0svwSBB6N/4xMyRu26On2ar6nACxf2ms221Np7YF9ODA3ArrYSYnTU/sRYzgfTG+S/8f5t3Ihxkkkf 167 | 3Urz8wzMrB15vcBmeHGgxGX4PXcZ8YLA2ojDWYrQR6MA7pcy5ksk6N/SLZiUoBB5WcwLaX54ZXuQ54qc 168 | HQqRGcYfS3B+R/hDqBFkm9WDBAy/3LBf0QfTGkwe3XOcPO8+Q6lTkvTBkRhrsxdKy+E9AEo651Tg1dfu 169 | vrwoP6X8bNlot5ypIa3q5Ua39GciONWAyW6TAgj12F6nTjQ3j6ZRNfBM3FV4JSZIXWDWH7f0fwgLnrht 170 | fZvM8JYKgK09YgQlBc4a4UxK3N74wFGSe/KnJXkBOFZMl4ToG/VaZ6fS9K//+inWmgDfu/uxjAKIzfBk 171 | zGQMdHpuOGTkgERKD0dR+/55V6EflCP/RSovggiNk0eWWzpuq3a9aSgAgfHrPCbbrnzirXrDhLTJgIwf 172 | vHgkWHAxV/jyO8xUgaQZToupFgqA63wlOwbeN2h2MVfk5UwvkMCVj2zKSECCewbyr2ZnmM63c3LGcnW3 173 | nyYmHut64a7hbUCMJGjr8bj5JOgXmQ0p8OaPP/5CljgK9UkWar8AZlohVAXmWtUH0qJyxyfAJ2aU9pj5 174 | tEwd/e/UhkQJrjzIdZ2TjnKiAkdoUpXnw/jwuvHakiKp0BHSuxrH84w1+3cl3tpqeGQJXoqYlrUauy5d 175 | SdGo7mWFPcdSMxKiSBYcT8j5uYA6/EtRUbSzlUpboV9Zxlk0b84Igyvp3ZL0Sm9v5xizLRftEvtSKv/V 176 | 18M89XKZsOKDTXVywZSoOvSmH5TmfQGlNCRbADtnBy0KhUzPbmqx6WeRrANNS5qvm5R64gH41aDA0cTi 177 | ipRNEOrBJrtVe2FD5JEdfhPN8Fd6QhYJQGvmSlnu9jse3qwR8bbGe/UwknShWu7HNqyGZpoKUrlKcPas 178 | wlsPqfFlY7/968d/XYrHJ91r5CYB+M2QZcdhzvMNAShwYMisB2A4B/faIf0afni0I5myyMFbLob+tFb9 179 | NlIkj3Ew8eHuOaVZPsGIzUScMWyRAFyR57NyOPA/bPrgMSTIy69NNTclcVvEodeX0S2PpX6owBJ3Mak6 180 | k3NCJWgPPy9mWcDps6wqBoTlk4yhNgWeqjMdA2XPyF66VVEfCp6lH4DwHBtet1d/hAo86S2qViEbUxTt 181 | x8KcFZlUgdanv3M7rPGAfHhpvxEDffCsu7wFMNn2zzDcnumwWJ+JyLpRxt5+/3X6Fvwwtk0wPmtEM6Z0 182 | lcuHf2rUpzQGnBG0JBFkGHb0HWOkR4KpjZzMlCNLBNqjir0q6q0w4oe3R4Kyvj/GFX9rX3ILEq0HuGyJ 183 | 2cqvwLAD840GmwLXDVhzHMTIvWcsMtJgBa6JtAvlkHMEIETuFPVOmEh99SkDqaNC+ouh6Xpy5IMnjdu3 184 | 86wslIflxiwyWlSwn+YWFmWBXacZM000b99+7kBszYdBfzss03ImfYWQXPdA6sUQGkMvaUxnK4zq/i11 185 | DCTZYV2XiaxOe9e8NaNryhAb9f7P74yOiQIrBq06D5QbphnvtdBb3fxiOXY9fW2PMeDKOCIva60NUcvr 186 | of6Zbkf63IrrpNFV+3EADsRYTrd/uan157terITNh+mnU8m0BC9HLHq7hq95d5G541mq0Gd6s+5GXq4f 187 | cWoRFH55f+ZBsYN6eqW9K3A8rn+A+svORytdLpMDER9cVOp87S+PAYn3SO7ITzmaYfxrHiNSyvFnxNQw 188 | jQL/a+zfybQeS8ZA0Sc+1SA7k/fPCF2vQnMgoFSCkZv4xW3DrEUdMdnzs6OmNIAE4FTq0TK3w8b26lkE 189 | rdhPjRk1D9/77u36hf3wklvVIx9fo3XeRFMzYdrpwupB2WbRWLnMjVyU38sto5j+9XEh0+l2RR/cqh9x 190 | BuDYLDufkYwruj6QioGXNNqZUPIDjoE304ZdaSuIUMU6/Fovb9VQeYiNfbdwrOXDJgJgWgdvhHS29oDm 191 | ATT7v2B2wpV99vkD/eSHRtZ0S8zJOW400whLOpAA3PH5NodF2082Q96vByKaKEsnZ1JFxiaEX9fPuGkR 192 | eVN39m2ysQNJwRI4+lA6hDvca80slTKsQw/Xspx1AmCE2qtMTGrRpG6ZUdlz7MBv9CkX6L/TnX2bIbvz 193 | 7KQGKLA60xZ3dUzLPzsqs5oiwY3vu1krX6qg1lm3WXvDi0ikPP6+7KTOFvJ88ELyfEOBc0bVXOf6kJ7J 194 | E9ignzJSUcePi6RyAvSeoP6dkXGqPWTpoYgzOOudlgojgQR3jdiNnJQdvCoZ6prhzDU59T4nRNYmi3gF 195 | JuyRU/bCxp6rtBOcmhsdf+ANb9DaI7FkPSx0r79tx5VHy3Po8HNjmoxxP7nm4E5Ncoq4uoHNqdUYNraS 196 | GhbxL4aftKW6YbLnhkX1R/cfrYzxT5y+6xcfDHna5Y/gpTq+3TO07FMby7Pq4DAj2zMBmfV+U3PqClWL 197 | 3C9JYXjOdbYWXSV4epbMpbLAnm9sXLVqY2Wseu/dnqF4sF3lP4KXqmiSprJcayJcjmi4Rs3+IgzBO51a 198 | gB+euDScV6rI4aWB5OshezuDfOoDdq4nmhgXLb8MJZEIN/Eq62JsH9kXDDgrelUntychRF4CnwT1X+7O 199 | ndxjONb7++SLEwsupTps+EyHo8JXghyuv4uX6ln3ElD8cK8zbwqYuoChvZq/88Ov7o83qaqtShH2TAC/ 200 | Hy7TJhdzRMB7PtAHJkVx7yPvLo9X6f7VgWdBorXqHzx0/zmlimvcG6kS0Q/i4afHtvLVuH9nzy2HoS/Q 201 | ByvG5e9P6P4/0AcgiEIkeM5blUbg8M7Vkl0FjhS8wsW674F+PwRo3kv27zyyvacqv0nM2Xr3/59MWbix 202 | oF/JeN7bcPyPYzdsOO/mW99vbKup0m9S48PzTpp30ui8hKvIYUN3POLujni9wwlOkG1VilOfXy7m4YwX 203 | gfmQDUEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQ 204 | BEEQBEEQBEGQsvwJhq8CWnjFsW4AAAAASUVORK5CYII= 205 | 206 | 207 | -------------------------------------------------------------------------------- /CS2ServerCreator/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace CS2ServerCreator 8 | { 9 | internal static class Program 10 | { 11 | /// 12 | /// Punto de entrada principal para la aplicación. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Main()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /CS2ServerCreator/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // La información general de un ensamblado se controla mediante el siguiente 6 | // conjunto de atributos. Cambie estos valores de atributo para modificar la información 7 | // asociada con un ensamblado. 8 | [assembly: AssemblyTitle("CS2ServerCreator")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("CS2ServerCreator")] 13 | [assembly: AssemblyCopyright("Copyright © 2023")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Si establece ComVisible en false, los tipos de este ensamblado no estarán visibles 18 | // para los componentes COM. Si es necesario obtener acceso a un tipo en este ensamblado desde 19 | // COM, establezca el atributo ComVisible en true en este tipo. 20 | [assembly: ComVisible(false)] 21 | 22 | // El siguiente GUID sirve como id. de typelib si este proyecto se expone a COM. 23 | [assembly: Guid("db40b6be-c7bb-42af-a340-e096eb1a2329")] 24 | 25 | // La información de versión de un ensamblado consta de los cuatro valores siguientes: 26 | // 27 | // Versión principal 28 | // Versión secundaria 29 | // Número de compilación 30 | // Revisión 31 | // 32 | // Puede especificar todos los valores o usar los valores predeterminados de número de compilación y de revisión 33 | // utilizando el carácter "*", como se muestra a continuación: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /CS2ServerCreator/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime:4.0.30319.42000 5 | // 6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si 7 | // se vuelve a generar el código. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace CS2ServerCreator.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc. 17 | /// 18 | // StronglyTypedResourceBuilder generó automáticamente esta clase 19 | // a través de una herramienta como ResGen o Visual Studio. 20 | // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen 21 | // con la opción /str o recompile su proyecto de VS. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CS2ServerCreator.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las 51 | /// búsquedas de recursos mediante esta clase de recurso fuertemente tipado. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | 63 | /// 64 | /// Busca un recurso adaptado de tipo System.Drawing.Bitmap. 65 | /// 66 | internal static System.Drawing.Bitmap icon { 67 | get { 68 | object obj = ResourceManager.GetObject("icon", resourceCulture); 69 | return ((System.Drawing.Bitmap)(obj)); 70 | } 71 | } 72 | 73 | /// 74 | /// Busca un recurso adaptado de tipo System.Drawing.Bitmap. 75 | /// 76 | internal static System.Drawing.Bitmap icon1 { 77 | get { 78 | object obj = ResourceManager.GetObject("icon1", resourceCulture); 79 | return ((System.Drawing.Bitmap)(obj)); 80 | } 81 | } 82 | 83 | /// 84 | /// Busca un recurso adaptado de tipo System.Drawing.Bitmap. 85 | /// 86 | internal static System.Drawing.Bitmap save { 87 | get { 88 | object obj = ResourceManager.GetObject("save", resourceCulture); 89 | return ((System.Drawing.Bitmap)(obj)); 90 | } 91 | } 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /CS2ServerCreator/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 122 | ..\Resources\icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 123 | 124 | 125 | ..\icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 126 | 127 | 128 | ..\Resources\save.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 129 | 130 | -------------------------------------------------------------------------------- /CS2ServerCreator/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace CS2ServerCreator.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /CS2ServerCreator/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CS2ServerCreator/README.md: -------------------------------------------------------------------------------- 1 | # CS2ServerCreator -------------------------------------------------------------------------------- /CS2ServerCreator/Resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/Resources/icon.png -------------------------------------------------------------------------------- /CS2ServerCreator/Resources/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/Resources/save.png -------------------------------------------------------------------------------- /CS2ServerCreator/bin/Debug/CS2ServerCreator.application: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | RSreCYR0ldunvjXPDHE4L3yk2CoJkPDYX+25AqM8tCI= 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /CS2ServerCreator/bin/Debug/CS2ServerCreator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/bin/Debug/CS2ServerCreator.exe -------------------------------------------------------------------------------- /CS2ServerCreator/bin/Debug/CS2ServerCreator.exe.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /CS2ServerCreator/bin/Debug/CS2ServerCreator.exe.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | VzrK3MZcu9ZXIeE3pLwjfnSP7LQrcTmmXikTygCYB5E= 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | +CM46OnHRrXZXNLMx7+U3V3iubiYL//d8hGOR13lDhU= 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | NXPMcDlDdVlqxGed/FSy79qAkxzMUINm05RBZN6bsSs= 73 | 74 | 75 | -------------------------------------------------------------------------------- /CS2ServerCreator/bin/Debug/CS2ServerCreator.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/bin/Debug/CS2ServerCreator.pdb -------------------------------------------------------------------------------- /CS2ServerCreator/bin/Debug/app.publish/CS2ServerCreator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/bin/Debug/app.publish/CS2ServerCreator.exe -------------------------------------------------------------------------------- /CS2ServerCreator/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/icon.ico -------------------------------------------------------------------------------- /CS2ServerCreator/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/icon.png -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] 5 | -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/CS2ServerCreator.About.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/obj/Debug/CS2ServerCreator.About.resources -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/CS2ServerCreator.Main.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/obj/Debug/CS2ServerCreator.Main.resources -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/CS2ServerCreator.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/obj/Debug/CS2ServerCreator.Properties.Resources.resources -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/CS2ServerCreator.application: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | RSreCYR0ldunvjXPDHE4L3yk2CoJkPDYX+25AqM8tCI= 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/CS2ServerCreator.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/obj/Debug/CS2ServerCreator.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/CS2ServerCreator.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 03175d08ab8d42bf4e6eea109fdfddc62d123306 2 | -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/CS2ServerCreator.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\CODE\CS2ServerCreator\bin\Debug\CS2ServerCreator.exe.config 2 | D:\CODE\CS2ServerCreator\bin\Debug\CS2ServerCreator.exe 3 | D:\CODE\CS2ServerCreator\bin\Debug\CS2ServerCreator.pdb 4 | D:\CODE\CS2ServerCreator\obj\Debug\CS2ServerCreator.csproj.AssemblyReference.cache 5 | D:\CODE\CS2ServerCreator\obj\Debug\CS2ServerCreator.Properties.Resources.resources 6 | D:\CODE\CS2ServerCreator\obj\Debug\CS2ServerCreator.csproj.GenerateResource.cache 7 | D:\CODE\CS2ServerCreator\obj\Debug\CS2ServerCreator.csproj.CoreCompileInputs.cache 8 | D:\CODE\CS2ServerCreator\obj\Debug\CS2ServerCreator.exe 9 | D:\CODE\CS2ServerCreator\obj\Debug\CS2ServerCreator.pdb 10 | D:\CODE\CS2ServerCreator\obj\Debug\CS2ServerCreator.About.resources 11 | D:\CODE\CS2ServerCreator\bin\Debug\CS2ServerCreator.exe.manifest 12 | D:\CODE\CS2ServerCreator\bin\Debug\CS2ServerCreator.application 13 | D:\CODE\CS2ServerCreator\obj\Debug\CS2ServerCreator.exe.manifest 14 | D:\CODE\CS2ServerCreator\obj\Debug\CS2ServerCreator.application 15 | D:\CODE\CS2ServerCreator\obj\Debug\CS2ServerCreator.Main.resources 16 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\bin\Debug\CS2ServerCreator.exe.config 17 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\bin\Debug\CS2ServerCreator.exe.manifest 18 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\bin\Debug\CS2ServerCreator.application 19 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\bin\Debug\CS2ServerCreator.exe 20 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\bin\Debug\CS2ServerCreator.pdb 21 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.csproj.AssemblyReference.cache 22 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.About.resources 23 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.Main.resources 24 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.Properties.Resources.resources 25 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.csproj.GenerateResource.cache 26 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.csproj.CoreCompileInputs.cache 27 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.exe.manifest 28 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.application 29 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.exe 30 | D:\CODE\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.pdb 31 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.csproj.AssemblyReference.cache 32 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.exe 33 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.pdb 34 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\bin\Debug\CS2ServerCreator.exe.config 35 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\bin\Debug\CS2ServerCreator.exe.manifest 36 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\bin\Debug\CS2ServerCreator.application 37 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\bin\Debug\CS2ServerCreator.exe 38 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\bin\Debug\CS2ServerCreator.pdb 39 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.About.resources 40 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.Main.resources 41 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.Properties.Resources.resources 42 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.csproj.GenerateResource.cache 43 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.csproj.CoreCompileInputs.cache 44 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.exe.manifest 45 | Z:\CODE\CodePersonal\CS2ServerCreatorGIT\CS2ServerCreator\obj\Debug\CS2ServerCreator.application 46 | -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/CS2ServerCreator.csproj.GenerateResource.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/obj/Debug/CS2ServerCreator.csproj.GenerateResource.cache -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/CS2ServerCreator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/obj/Debug/CS2ServerCreator.exe -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/CS2ServerCreator.exe.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | VzrK3MZcu9ZXIeE3pLwjfnSP7LQrcTmmXikTygCYB5E= 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | +CM46OnHRrXZXNLMx7+U3V3iubiYL//d8hGOR13lDhU= 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | NXPMcDlDdVlqxGed/FSy79qAkxzMUINm05RBZN6bsSs= 73 | 74 | 75 | -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/CS2ServerCreator.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/obj/Debug/CS2ServerCreator.pdb -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/obj/Debug/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /CS2ServerCreator/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/CS2ServerCreator/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /Doc/ES_es.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/Doc/ES_es.txt -------------------------------------------------------------------------------- /Media/Cap1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/Media/Cap1.png -------------------------------------------------------------------------------- /Media/Cap2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/Media/Cap2.png -------------------------------------------------------------------------------- /Media/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Natxo09/CS2Server-Creator/914f9274017be10bcc9cfe87f56b403a69eebb86/Media/icon.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | Badge CREADOR | Natxo 4 | 5 |

6 |

7 | Icono de CS2 Server Creator 8 |

9 | 10 |

CS2 Server Creator

11 | 12 |

13 | CS2 Server Creator allows you to set up servers for CS2 in an easy, fast, and intuitive manner.
14 | It's a project based on the well-known SteamCMD GUI.

15 | The code is not related or tied to that project in any way.

16 | This application allows for modification of common files for server setup, as well as the generation of files such as autoexec.cfg to further configure the server. 17 |

18 | 19 | ## Table of Contents 20 | - [Preview](#preview) 21 | - [Tutorial](#tutorial) 22 | - [Srcds Configuration](#step-1-srcds-configuration) 23 | - [Server Name](#step-2-server-name) 24 | - [Server Password](#step-3-server-password) 25 | - [Map](#step-4-map) 26 | - [Network](#step-5-network) 27 | - [Gamemode](#step-6-gamemode) 28 | - [UDP Port](#step-7-udp-port) 29 | - [Max Players](#step-8-max-players) 30 | - [Disable Bots](#step-9-disable-bots) 31 | - [Insecure/Secure](#step-10-insecure-secure) 32 | - [Autoexec](#step-11-autoexec) 33 | - [Custom Parameters](#step-12-custom-parameters) 34 | - [InApp Console](#step-13-inapp-console) 35 | - [Scripting](#scripting) 36 | - [Known Bugs](#known-bugs- ) 37 | 38 | ## Preview 39 | 40 |

41 | Vista previa de CS2 Server Creator 42 | Vista previa de CS2 Server Creator 43 |

44 | 45 | ## Download 46 | 47 | To use **CS2 Server Creator**, follow these steps: 48 | 49 | 1. Visit the [releases page](https://github.com/Natxo09/CS2Server-Creator/releases). 50 | 2. Download the latest version. 51 | 3. Extract the downloaded file - the application is portable. 52 | 53 | 54 | ## Tutorial 55 | 56 | ### Step 1: Srcds Configuration 57 | Select the directory of the `cs2.exe`. For example: 58 | `C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\bin\win64` 59 | 60 | ### Step 2: Server Name 61 | To modify this section, you must have generated the `autoexec.cfg` using the button on the right. 62 | 63 | ### Step 3: Server Password 64 | Similar to the `Server Name`, you need to have the `autoexec.cfg` created. 65 | 66 | ### Step 4: Map 67 | Choose the map for your server. (If you have set the execution of a map with +map {MapName} in [Custom Parameters](#step-11-custom-parameters), leave this combo box empty..) 68 | 69 | ### Step 5: Network 70 | Not Available Yet. 71 | 72 | ### Step 6: Gamemode 73 | Select the desired game mode. Remember, based on the game mode you choose, you will need to modify the respective CFGs. 74 | 75 | ### Step 7: UDP Port 76 | Select the server port. 77 | 78 | ### Step 8: Max Players 79 | Set the maximum number of players for the server (Up to 64). 80 | 81 | ### Step 9: Disable Bots 82 | Turn off the server bots. 83 | 84 | ### Step 10: Insecure-Secure 85 | Activate or deactivate the launch parameter of `-insecure` or `-secure`. By default, it is deactivated, meaning the server will run with `-secure`.
86 | If the checkBox is activated, it will run in `-insecure` mode. If you want to run the server with a custom map, you will need to use insecure as CS2 still doesn't support running unofficial maps securely. 87 | 88 | ### Step 11: Autoexec 89 | Enable or disable the execution of `autoexec`. 90 | 91 | ### Step 12: Custom Parameters 92 | Allows you to add custom launch parameters. Be sure not to duplicate launch parameters integrated into the program to avoid conflicts and server errors. It can be used with the following syntax to execute a custom map: `+map {MapName}`. 93 | 94 | ### Step 13: InApp Console 95 | If you check the CheckBox `Open console on app`, this will cause the server logs to open in the `console` section instead of the cs2 console.
96 | This is useful for monitoring `logs` and saving them (coming soon). Currently, the `-hideconsole` parameter doesn't work with cs2, so even if you check the `Open console on app` option,
97 | the empty cs2 console will still pop up. If the sole purpose of using the application is to open the server and then close the application, I don't recommend using this option as you will lose the server logs. 98 | 99 | ## Scripting 100 | Here you have a video about Scripting in CS2 101 | 102 | ## Known Bugs 🐛 103 | - **The cs2 console still opens even when `Open console on app` is selected**: This happens because the
104 | `-hideconsole` argument might not yet be incorporated into cs2, making it inevitable that it will open. 105 | - The `Faceit Anticheat` does not allow interaction with `cs2.exe`, which means that when this application is running, it will result in an `Access Denied` error.
106 | In this situation, there's nothing I can do, as it could cause malfunctions and even lead the anticheat to detect it as a cheat. Therefore,
107 | I do not recommend using the application while the `Faceit Anticheat` is running. The application is completely safe as it only uses commands and arguments provided by `Valve` in their forums. 108 | 109 | --- 110 | 111 | Any issues, please refer to the [issues](https://github.com/Natxo09/CS2Server-Creator/issues) section or contact us directly.
112 | P.S. This is my first public project. I hope everything goes smoothly. := 113 | 114 | 115 | --------------------------------------------------------------------------------