From e0b7588cc7c0e4e6e20e2eb9bf8b596c6273956d Mon Sep 17 00:00:00 2001 From: Michael Ten <11494798+MichaelTen@users.noreply.github.com> Date: Tue, 24 Mar 2026 23:19:24 -0700 Subject: [PATCH] Updated console prompts to provide more guidance on default values and auto-creation of paths. Enhance console prompts for configuration inputs ***Not compiled and tested so please confirm valid C# before merging.*** Add per-field descriptions during setup (map, statics, staidx, tiledata, radarcol) Clarify auto-creation behavior vs required files Indicate default behavior for port and blank inputs Improve usability for first-time server configuration without changing logic ***Not compiled and tested so please confirm valid C# before merging.*** --- Server/Config/ConfigRoot.cs | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Server/Config/ConfigRoot.cs b/Server/Config/ConfigRoot.cs index 3c93e83b..bafc8089 100644 --- a/Server/Config/ConfigRoot.cs +++ b/Server/Config/ConfigRoot.cs @@ -1,4 +1,4 @@ -using System.Xml; +using System.Xml; namespace CentrED.Server.Config; @@ -77,7 +77,7 @@ public static ConfigRoot Read(string path) if (result.Version != CurrentVersion) { result.Version = CurrentVersion; - result.Invalidate(); // fill in missing entries with default values + result.Invalidate(); result.Flush(); } @@ -95,9 +95,10 @@ private static ConfigRoot Prompt(string path) { FilePath = path }; + Console.WriteLine("Configuring Network"); Console.WriteLine("==================="); - Console.Write($"Port [{result.Port}]: "); + Console.Write($"Port [{result.Port}] (leave blank for default): "); input = Console.ReadLine(); if (!string.IsNullOrEmpty(input) && Int32.TryParse(input, out int port)) { @@ -106,35 +107,37 @@ private static ConfigRoot Prompt(string path) Console.WriteLine("Configuring Paths"); Console.WriteLine("================="); - Console.Write($"map [{result.Map.MapPath}]: "); + Console.WriteLine("Leave blank to use server root directory"); + + Console.Write($"map [{result.Map.MapPath}] (auto-creates if missing): "); input = Console.ReadLine(); if (!string.IsNullOrEmpty(input)) { result.Map.MapPath = input; } - Console.Write($"statics [{result.Map.Statics}]: "); + Console.Write($"statics [{result.Map.Statics}] (auto-creates if missing): "); input = Console.ReadLine(); if (!string.IsNullOrEmpty(input)) { result.Map.Statics = input; } - Console.Write($"staidx [{result.Map.StaIdx}]: "); + Console.Write($"staidx [{result.Map.StaIdx}] (auto-creates if missing): "); input = Console.ReadLine(); if (!string.IsNullOrEmpty(input)) { result.Map.StaIdx = input; } - Console.Write($"tiledata [{result.Tiledata}]: "); + Console.Write($"tiledata [{result.Tiledata}] (required, must exist): "); input = Console.ReadLine(); if (!string.IsNullOrEmpty(input)) { result.Tiledata = input; } - Console.Write($"radarcol [{result.Radarcol}]: "); + Console.Write($"radarcol [{result.Radarcol}] (required, must exist): "); input = Console.ReadLine(); if (!string.IsNullOrEmpty(input)) { @@ -270,4 +273,4 @@ internal static ConfigRoot Read(XmlReader reader) } return result; } -} \ No newline at end of file +}