diff --git a/Torch.Server/Managers/MultiplayerManagerDedicated.cs b/Torch.Server/Managers/MultiplayerManagerDedicated.cs index 6ddc6fb..7fd5b10 100644 --- a/Torch.Server/Managers/MultiplayerManagerDedicated.cs +++ b/Torch.Server/Managers/MultiplayerManagerDedicated.cs @@ -219,7 +219,8 @@ namespace Torch.Server.Managers _log.Warn($"Rejecting user {info.SteamID} because they are not whitelisted in Torch.cfg."); internalAuth = JoinResult.NotInGroup; } - else if (config.EnableReservedSlots && config.ReservedPlayers.Contains(info.SteamID)) + else if (config.EnableReservedSlots && (config.ReservedPlayers.Contains(info.SteamID) || + MySandboxGame.ConfigDedicated.Reserved.Contains(info.SteamID))) internalAuth = JoinResult.OK; //Admins can bypass member limit else if (MySandboxGame.ConfigDedicated.Administrators.Contains(info.SteamID.ToString()) || diff --git a/Torch.Server/ViewModels/ConfigDedicatedViewModel.cs b/Torch.Server/ViewModels/ConfigDedicatedViewModel.cs index 61e2f35..e1b4456 100644 --- a/Torch.Server/ViewModels/ConfigDedicatedViewModel.cs +++ b/Torch.Server/ViewModels/ConfigDedicatedViewModel.cs @@ -76,7 +76,9 @@ namespace Torch.Server.ViewModels public List Administrators { get => _config.Administrators; set => SetValue(x => _config.Administrators = x, value); } public List Banned { get => _config.Banned; set => SetValue(x => _config.Banned = x, value); } - + + public List Reserved { get => _config.Reserved; set => SetValue(x => _config.Reserved = x, value); } + private List _mods = new List(); public List Mods { get => _mods; set => SetValue(x => _mods = x, value); } @@ -94,6 +96,8 @@ namespace Torch.Server.ViewModels public bool PauseGameWhenEmpty { get => _config.PauseGameWhenEmpty; set => SetValue(x => _config.PauseGameWhenEmpty = x, value); } + public bool AutodetectDependencies { get => _config.AutodetectDependencies; set => SetValue(x => _config.AutodetectDependencies = x, value); } + public string PremadeCheckpointPath { get => _config.PremadeCheckpointPath; set => SetValue(x => _config.PremadeCheckpointPath = x, value); } public string LoadWorld { get => _config.LoadWorld; set => SetValue(x => _config.LoadWorld = x, value); } diff --git a/Torch.Server/Views/ConfigControl.xaml b/Torch.Server/Views/ConfigControl.xaml index 4bbb20d..b4b58c4 100644 --- a/Torch.Server/Views/ConfigControl.xaml +++ b/Torch.Server/Views/ConfigControl.xaml @@ -90,6 +90,7 @@