Deprecate ReservedPlayers in Torch cfg
Add a scrollpanel to fix clipped controls
This commit is contained in:
@@ -167,6 +167,16 @@ namespace Torch.Server.Managers
|
||||
|
||||
public void SaveConfig()
|
||||
{
|
||||
var cf = Torch.Config as TorchConfig;
|
||||
if (cf?.ReservedPlayers?.Count > 0)
|
||||
{
|
||||
foreach (var res in cf.ReservedPlayers)
|
||||
{
|
||||
if (!DedicatedConfig.Reserved.Contains(res))
|
||||
DedicatedConfig.Reserved.Add(res);
|
||||
}
|
||||
}
|
||||
|
||||
DedicatedConfig.Save(Path.Combine(Torch.Config.InstancePath, CONFIG_NAME));
|
||||
Log.Info("Saved dedicated config.");
|
||||
|
||||
|
@@ -219,8 +219,7 @@ 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) ||
|
||||
MySandboxGame.ConfigDedicated.Reserved.Contains(info.SteamID)))
|
||||
else if (MySandboxGame.ConfigDedicated.Reserved.Contains(info.SteamID))
|
||||
internalAuth = JoinResult.OK;
|
||||
//Admins can bypass member limit
|
||||
else if (MySandboxGame.ConfigDedicated.Administrators.Contains(info.SteamID.ToString()) ||
|
||||
|
@@ -68,9 +68,14 @@ namespace Torch.Server
|
||||
|
||||
public string LastUsedTheme { get; set; } = "Torch Theme";
|
||||
|
||||
public bool EnableReservedSlots { get; set; } = false;
|
||||
//TODO: REMOVE ME BY JULY 2019
|
||||
[Obsolete("Use vanilla reserved slot config")]
|
||||
public HashSet<ulong> ReservedPlayers { get; set; } = new HashSet<ulong>();
|
||||
|
||||
//Prevent reserved players being written to disk, but allow it to bre read
|
||||
//remove this when ReservedPlayers is removed
|
||||
private bool ShouldSerializeReservedPlayers() => false;
|
||||
|
||||
[XmlIgnore]
|
||||
private string _path;
|
||||
|
||||
|
@@ -58,87 +58,89 @@
|
||||
<RowDefinition />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<StackPanel Grid.Column="0" Margin="3" DockPanel.Dock="Left">
|
||||
<Label Content="Server Name" />
|
||||
<TextBox Text="{Binding ServerName}" Margin="3,0,3,3" Width="160" />
|
||||
<Label Content="World Name" />
|
||||
<TextBox Text="{Binding WorldName}" Margin="3,0,3,3" Width="160" />
|
||||
<Label Content="Server Description" />
|
||||
<TextBox Text="{Binding ServerDescription}" Margin="3,0,3,3" Width="160" Height="100"
|
||||
AcceptsReturn="true" VerticalScrollBarVisibility="Auto"/>
|
||||
<Label Content="Whitelist Group ID" />
|
||||
<TextBox Margin="3,0,3,3" Width="160" Style="{StaticResource ValidatedTextBox}">
|
||||
<TextBox.Text>
|
||||
<Binding Path="GroupId" UpdateSourceTrigger="PropertyChanged"
|
||||
ValidatesOnDataErrors="True" NotifyOnValidationError="True">
|
||||
<Binding.ValidationRules>
|
||||
<validationRules:NumberValidationRule />
|
||||
</Binding.ValidationRules>
|
||||
</Binding>
|
||||
</TextBox.Text>
|
||||
</TextBox>
|
||||
<Label Content="Server IP" />
|
||||
<StackPanel Orientation="Horizontal" Margin="3,0,3,3">
|
||||
<TextBox Text="{Binding IP}" Width="100" Height="20" />
|
||||
<Label Content=":" Width="12" />
|
||||
<TextBox Text="{Binding Port}" Width="48" Height="20" />
|
||||
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<StackPanel Grid.Column="0" Margin="3" DockPanel.Dock="Left">
|
||||
<Label Content="Server Name" />
|
||||
<TextBox Text="{Binding ServerName}" Margin="3,0,3,3" Width="160" />
|
||||
<Label Content="World Name" />
|
||||
<TextBox Text="{Binding WorldName}" Margin="3,0,3,3" Width="160" />
|
||||
<Label Content="Server Description" />
|
||||
<TextBox Text="{Binding ServerDescription}" Margin="3,0,3,3" Width="160" Height="100"
|
||||
AcceptsReturn="true" VerticalScrollBarVisibility="Auto"/>
|
||||
<Label Content="Whitelist Group ID" />
|
||||
<TextBox Margin="3,0,3,3" Width="160" Style="{StaticResource ValidatedTextBox}">
|
||||
<TextBox.Text>
|
||||
<Binding Path="GroupId" UpdateSourceTrigger="PropertyChanged"
|
||||
ValidatesOnDataErrors="True" NotifyOnValidationError="True">
|
||||
<Binding.ValidationRules>
|
||||
<validationRules:NumberValidationRule />
|
||||
</Binding.ValidationRules>
|
||||
</Binding>
|
||||
</TextBox.Text>
|
||||
</TextBox>
|
||||
<Label Content="Server IP" />
|
||||
<StackPanel Orientation="Horizontal" Margin="3,0,3,3">
|
||||
<TextBox Text="{Binding IP}" Width="100" Height="20" />
|
||||
<Label Content=":" Width="12" />
|
||||
<TextBox Text="{Binding Port}" Width="48" Height="20" />
|
||||
</StackPanel>
|
||||
<Label Content="Server Password"/>
|
||||
<TextBox Text="{Binding Password}" Width="160"/>
|
||||
<CheckBox IsChecked="{Binding PauseGameWhenEmpty}" Content="Pause When Empty" Margin="3" />
|
||||
<CheckBox IsChecked="{Binding AutodetectDependencies}" Content="Auto Detect Dependencies" Margin="3" />
|
||||
</StackPanel>
|
||||
<Label Content="Server Password"/>
|
||||
<TextBox Text="{Binding Password}" Width="160"/>
|
||||
<CheckBox IsChecked="{Binding PauseGameWhenEmpty}" Content="Pause When Empty" Margin="3" />
|
||||
<CheckBox IsChecked="{Binding AutodetectDependencies}" Content="Auto Detect Dependencies" Margin="3" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="1" Margin="3">
|
||||
<Label Content="Mods" />
|
||||
<TextBox Margin="3" Height="60" AcceptsReturn="true" VerticalScrollBarVisibility="Auto"
|
||||
Style="{StaticResource ValidatedTextBox}">
|
||||
<TextBox.Text>
|
||||
<Binding Path="Mods" UpdateSourceTrigger="PropertyChanged"
|
||||
ValidatesOnDataErrors="True" NotifyOnValidationError="True"
|
||||
Converter="{StaticResource ListConverterUInt64}">
|
||||
<Binding.ValidationRules>
|
||||
<validationRules:ListConverterValidationRule Type="system:UInt64" />
|
||||
</Binding.ValidationRules>
|
||||
</Binding>
|
||||
</TextBox.Text>
|
||||
</TextBox>
|
||||
<Label Content="Administrators" />
|
||||
<TextBox Text="{Binding Administrators, Converter={StaticResource ListConverterString}}"
|
||||
Margin="3"
|
||||
Height="100" AcceptsReturn="true" VerticalScrollBarVisibility="Auto" />
|
||||
<Label Content="Reserved Players" />
|
||||
<TextBox Margin="3" Height="100" AcceptsReturn="true" VerticalScrollBarVisibility="Auto"
|
||||
Style="{StaticResource ValidatedTextBox}">
|
||||
<TextBox.Text>
|
||||
<Binding Path="Reserved" UpdateSourceTrigger="PropertyChanged"
|
||||
ValidatesOnDataErrors="True" NotifyOnValidationError="True"
|
||||
Converter="{StaticResource ListConverterUInt64}">
|
||||
<Binding.ValidationRules>
|
||||
<validationRules:ListConverterValidationRule Type="system:UInt64" />
|
||||
</Binding.ValidationRules>
|
||||
</Binding>
|
||||
</TextBox.Text>
|
||||
</TextBox>
|
||||
<Label Content="Banned Players" />
|
||||
<TextBox Margin="3" Height="100" AcceptsReturn="true" VerticalScrollBarVisibility="Auto"
|
||||
Style="{StaticResource ValidatedTextBox}">
|
||||
<TextBox.Text>
|
||||
<Binding Path="Banned" UpdateSourceTrigger="PropertyChanged"
|
||||
ValidatesOnDataErrors="True" NotifyOnValidationError="True"
|
||||
Converter="{StaticResource ListConverterUInt64}">
|
||||
<Binding.ValidationRules>
|
||||
<validationRules:ListConverterValidationRule Type="system:UInt64" />
|
||||
</Binding.ValidationRules>
|
||||
</Binding>
|
||||
</TextBox.Text>
|
||||
</TextBox>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<StackPanel Grid.Column="1" Margin="3">
|
||||
<Label Content="Mods" />
|
||||
<TextBox Margin="3" Height="60" AcceptsReturn="true" VerticalScrollBarVisibility="Auto"
|
||||
Style="{StaticResource ValidatedTextBox}">
|
||||
<TextBox.Text>
|
||||
<Binding Path="Mods" UpdateSourceTrigger="PropertyChanged"
|
||||
ValidatesOnDataErrors="True" NotifyOnValidationError="True"
|
||||
Converter="{StaticResource ListConverterUInt64}">
|
||||
<Binding.ValidationRules>
|
||||
<validationRules:ListConverterValidationRule Type="system:UInt64" />
|
||||
</Binding.ValidationRules>
|
||||
</Binding>
|
||||
</TextBox.Text>
|
||||
</TextBox>
|
||||
<Label Content="Administrators" />
|
||||
<TextBox Text="{Binding Administrators, Converter={StaticResource ListConverterString}}"
|
||||
Margin="3"
|
||||
Height="100" AcceptsReturn="true" VerticalScrollBarVisibility="Auto" />
|
||||
<Label Content="Reserved Players" />
|
||||
<TextBox Margin="3" Height="100" AcceptsReturn="true" VerticalScrollBarVisibility="Auto"
|
||||
Style="{StaticResource ValidatedTextBox}">
|
||||
<TextBox.Text>
|
||||
<Binding Path="Reserved" UpdateSourceTrigger="PropertyChanged"
|
||||
ValidatesOnDataErrors="True" NotifyOnValidationError="True"
|
||||
Converter="{StaticResource ListConverterUInt64}">
|
||||
<Binding.ValidationRules>
|
||||
<validationRules:ListConverterValidationRule Type="system:UInt64" />
|
||||
</Binding.ValidationRules>
|
||||
</Binding>
|
||||
</TextBox.Text>
|
||||
</TextBox>
|
||||
<Label Content="Banned Players" />
|
||||
<TextBox Margin="3" Height="100" AcceptsReturn="true" VerticalScrollBarVisibility="Auto"
|
||||
Style="{StaticResource ValidatedTextBox}">
|
||||
<TextBox.Text>
|
||||
<Binding Path="Banned" UpdateSourceTrigger="PropertyChanged"
|
||||
ValidatesOnDataErrors="True" NotifyOnValidationError="True"
|
||||
Converter="{StaticResource ListConverterUInt64}">
|
||||
<Binding.ValidationRules>
|
||||
<validationRules:ListConverterValidationRule Type="system:UInt64" />
|
||||
</Binding.ValidationRules>
|
||||
</Binding>
|
||||
</TextBox.Text>
|
||||
</TextBox>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</ScrollViewer>
|
||||
<Button Grid.Row="1" Content="Save Config" Margin="3" Click="Save_OnClick" />
|
||||
</Grid>
|
||||
<views:PropertyGrid Grid.Column="1" Margin="3" DataContext="{Binding SessionSettings}" IgnoreDisplay ="True" />
|
||||
|
Reference in New Issue
Block a user