(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 | 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
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 |
4 |
5 |
6 |
7 |
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 |
42 |
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 |
--------------------------------------------------------------------------------