diff --git a/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Config.cs b/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Config.cs index 683e3f95..3c4705d5 100644 --- a/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Config.cs +++ b/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Config.cs @@ -13,5 +13,6 @@ class Config public ushort EndpointPort = 7070; public bool ShowDebugLogs = false; public int RandomlyGeneratedIDLength = 5; + public bool RandomlyGeneratedIDNumerical = false; } } diff --git a/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Program/ProgramExtra.cs b/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Program/ProgramExtra.cs index 02adf217..4719a604 100644 --- a/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Program/ProgramExtra.cs +++ b/LoadBalancerProject-DONT-IMPORT-INTO-UNITY/LRM_LoadBalancer/Program/ProgramExtra.cs @@ -25,17 +25,19 @@ public long GetTotalServers() return temp; } - - public string GenerateServerID() + + + public string GenerateServerID(string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ") { - const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + chars = conf.RandomlyGeneratedIDNumerical ? "0123456789" : chars; var randomID = ""; var random = _cachedRandom; do { randomID = new string(Enumerable.Repeat(chars, conf.RandomlyGeneratedIDLength) - .Select(s => s[random.Next(s.Length)]).ToArray()); + .Select(s => s[random.Next(s.Length)]) + .ToArray()); } while (cachedRooms.ContainsKey(randomID)); diff --git a/ServerProject-DONT-IMPORT-INTO-UNITY/LRM/Config.cs b/ServerProject-DONT-IMPORT-INTO-UNITY/LRM/Config.cs index 7578ffd7..7bdc20c4 100644 --- a/ServerProject-DONT-IMPORT-INTO-UNITY/LRM/Config.cs +++ b/ServerProject-DONT-IMPORT-INTO-UNITY/LRM/Config.cs @@ -20,6 +20,7 @@ public class Config // this wont be used if you are using load balancer // load balancer will generate instead. public int RandomlyGeneratedIDLength = 5; + public bool RandomlyGeneratedIDNumerical = false; //======================== // Endpoint REST API Settings diff --git a/ServerProject-DONT-IMPORT-INTO-UNITY/LRM/RelayHandler/RelayHandler.cs b/ServerProject-DONT-IMPORT-INTO-UNITY/LRM/RelayHandler/RelayHandler.cs index dd916584..90b8e56c 100644 --- a/ServerProject-DONT-IMPORT-INTO-UNITY/LRM/RelayHandler/RelayHandler.cs +++ b/ServerProject-DONT-IMPORT-INTO-UNITY/LRM/RelayHandler/RelayHandler.cs @@ -19,17 +19,17 @@ public RelayHandler(int maxPacketSize) /// The ID to check for /// private bool DoesServerIdExist(string id) => _cachedRooms.ContainsKey(id); - - private string GenerateRoomID() + + private string GenerateRoomID(string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ") { - const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + chars = Program.conf.RandomlyGeneratedIDNumerical ? "0123456789" : chars; var randomID = ""; var random = _cachedRandom; + var length = Program.conf.RandomlyGeneratedIDLength; do { - randomID = new string(Enumerable.Repeat(chars, Program.conf.RandomlyGeneratedIDLength) - .Select(s => s[random.Next(s.Length)]).ToArray()); + randomID = new string(Enumerable.Repeat(chars, length).Select(s => s[random.Next(s.Length)]).ToArray()); } while (DoesServerIdExist(randomID));