Skip to content

Commit

Permalink
Merge pull request #4 from rr222cy/0.2.0
Browse files Browse the repository at this point in the history
0.2.0
  • Loading branch information
roos-robert authored Feb 28, 2021
2 parents 746e56d + e4ac486 commit bd6c5d3
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 20 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ ValheimPlus Manager makes the installation and configuration of ValheimPlus on W
- Enable/disable ValheimPlus on game client, so you can join non-modded servers on the fly
- Launch Valheim(Plus) from the Manager
- In-app settings of installation paths for game client and server client
- Backup your game client data and server client data
## Roadmap
- UI cleanups and corrections
- UI/UX enhancements
- Server list manager, join servers from the Manager
- Backup your configuration files
- Backup your game client and server client data
- Management of server admins
- Uninstall ValheimPlus from game client/server client
## Requirements
Expand Down
6 changes: 3 additions & 3 deletions ValheimPlusManagerWPF/ConfigurationManagerWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -194,9 +194,9 @@
<TabItem IsEnabled="{Binding serverSettingsEnabled}" Header="Server">
<Grid Background="#FFE5E5E5">
<TextBlock HorizontalAlignment="Left" Margin="10,10,0,0" Style="{StaticResource MaterialDesignHeadline5TextBlock}" Text="Server" TextWrapping="Wrap" VerticalAlignment="Top" />
<TextBox PreviewTextInput="IntValidationTextBox" Width="450" Text="{Binding maxPlayers}" materialDesign:HintAssist.Hint="Modify the amount of players on your server" Style="{StaticResource MaterialDesignFloatingHintTextBox}" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,70,0,0" />
<TextBox PreviewTextInput="IntValidationTextBox" Width="450" Text="{Binding dataRate}" materialDesign:HintAssist.Hint="The total amount of data that the server and client can send per second in kilobytes" Style="{StaticResource MaterialDesignFloatingHintTextBox}" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,120,0,0" />
<TextBox PreviewTextInput="IntValidationTextBox" Width="450" Text="{Binding autoSaveInterval}" materialDesign:HintAssist.Hint="The interval in seconds that the game auto saves at (client only)" Style="{StaticResource MaterialDesignFloatingHintTextBox}" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,170,0,0" />
<TextBox PreviewTextInput="IntValidationTextBox" Width="480" Text="{Binding maxPlayers}" materialDesign:HintAssist.Hint="Modify the amount of players on your server" Style="{StaticResource MaterialDesignFloatingHintTextBox}" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,70,0,0" />
<TextBox PreviewTextInput="IntValidationTextBox" Width="480" Text="{Binding dataRate}" materialDesign:HintAssist.Hint="The total amount of data that the server and client can send per second in kilobytes" Style="{StaticResource MaterialDesignFloatingHintTextBox}" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,120,0,0" />
<TextBox PreviewTextInput="IntValidationTextBox" Width="480" Text="{Binding autoSaveInterval}" materialDesign:HintAssist.Hint="The interval in seconds that the game auto saves at (client only)" Style="{StaticResource MaterialDesignFloatingHintTextBox}" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,170,0,0" />
<CheckBox Content="Removes the requirement to have a server password" IsChecked="{Binding disableServerPassword}" HorizontalAlignment="Left" Margin="10,230,0,0" VerticalAlignment="Top"/>
<CheckBox Content="Add version control to make sure that people that try to join your game or the server you try to join has V+ installed" IsChecked="{Binding enforceMod}" HorizontalAlignment="Left" Margin="10,260,0,0" VerticalAlignment="Top"/>
</Grid>
Expand Down
33 changes: 24 additions & 9 deletions ValheimPlusManagerWPF/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ValheimPlusManager"
mc:Ignorable="d"
Title="ValheimPlus Manager" Height="820" Width="732"
Title="ValheimPlus Manager" Height="820" Width="1100"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
TextElement.Foreground="{DynamicResource MaterialDesignBody}"
TextElement.FontWeight="Regular"
Expand All @@ -19,15 +19,15 @@
<materialDesign:Card Padding="20" Margin="16">
<Grid>
<TextBlock Style="{DynamicResource MaterialDesignHeadline4TextBlock}" Text="ValheimPlus Manager" FontWeight="Normal"/>
<TextBlock Style="{DynamicResource MaterialDesignCaptionTextBlock}" Text="Version 0.1.3" FontWeight="Normal" Margin="0,40,0,0"/>
<TextBlock Style="{DynamicResource MaterialDesignCaptionTextBlock}" Text="Version 0.2.0" FontWeight="Normal" Margin="0,40,0,0"/>
</Grid>
</materialDesign:Card>
</StackPanel>
<Grid Grid.Row="1" Grid.ColumnSpan="2">
<materialDesign:Card Width="678" Height="270" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="18,10,20,20">
<materialDesign:Card Width="678" Height="270" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="18,10,0,0">
<Grid>
<Label Content="Game client" HorizontalAlignment="Left" Margin="16,20,0,0" VerticalAlignment="Top" FontSize="24" FontWeight="Normal"/>
<Label x:Name="clientInstalledLabel" Content="Valheim plus installed on client" HorizontalAlignment="Left" Margin="16,55,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.568,-1.817"/>
<TextBlock Text="Game client" Style="{DynamicResource MaterialDesignHeadline5TextBlock}" HorizontalAlignment="Left" Margin="18,18,0,0" VerticalAlignment="Top" FontWeight="Normal"/>
<Label x:Name="clientInstalledLabel" Content="Valheim plus installed on client" HorizontalAlignment="Left" Margin="16,50,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.568,-1.817"/>
<Button x:Name="installClientButton" Content="Install ValheimPlus on game client" HorizontalAlignment="Left" Margin="16,85,0,0" VerticalAlignment="Top" Click="installClientButton_Click" Width="319"/>
<Button x:Name="manageClientButton" Content="Manage configuration settings" HorizontalAlignment="Left" Margin="16,125,0,0" VerticalAlignment="Top" Width="319" Click="manageClientButton_Click"/>
<Button x:Name="checkClientUpdatesButtons" Content="Check for updates" HorizontalAlignment="Left" Margin="345,85,0,0" VerticalAlignment="Top" Width="319" Click="checkClientUpdatesButtons_Click"/>
Expand All @@ -36,25 +36,40 @@
<Button x:Name="setClientPathButton" Content="Find and set installation path" HorizontalAlignment="Left" Margin="16,205,0,0" VerticalAlignment="Top" Width="319" Click="setClientPathButton_Click"/>
</Grid>
</materialDesign:Card>
<materialDesign:Card Width="678" Height="250" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="18,300,20,20">
<materialDesign:Card Width="354" Height="270" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="18,10,16,0">
<Grid>
<Label Content="Server client" HorizontalAlignment="Left" Margin="16,20,0,0" VerticalAlignment="Top" FontSize="24" FontWeight="Normal"/>
<Label x:Name="serverInstalledLabel" Content="Valheim plus installed on server" HorizontalAlignment="Left" Margin="16,55,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.568,-1.817"/>
<TextBlock Text="Game management" Style="{DynamicResource MaterialDesignHeadline5TextBlock}" HorizontalAlignment="Left" Margin="18,18,0,0" VerticalAlignment="Top" FontWeight="Normal"/>
<Button x:Name="backupClientButton" Content="Backup game client data" HorizontalAlignment="Left" Margin="16,85,0,0" VerticalAlignment="Top" Width="322" Click="backupClientButton_Click"/>
</Grid>
</materialDesign:Card>
</Grid>
<Grid Grid.Row="2" Grid.ColumnSpan="2" Margin="0,0,0,0">
<materialDesign:Card Width="678" Height="250" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="18,10,20,20">
<Grid>
<TextBlock Text="Server client" Style="{DynamicResource MaterialDesignHeadline5TextBlock}" HorizontalAlignment="Left" Margin="18,18,0,0" VerticalAlignment="Top" FontSize="24" FontWeight="Normal"/>
<Label x:Name="serverInstalledLabel" Content="Valheim plus installed on server" HorizontalAlignment="Left" Margin="16,50,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.568,-1.817"/>
<Button x:Name="installServerButton" Content="Install ValheimPlus on server" HorizontalAlignment="Left" Margin="16,85,0,0" VerticalAlignment="Top" Click="installServerButton_Click" Width="319"/>
<Button x:Name="manageServerButton" Content="Manage configuration settings" HorizontalAlignment="Left" Margin="16,125,0,0" VerticalAlignment="Top" Width="319" Click="manageServerButton_Click"/>
<Button x:Name="checkServerUpdatesButton" Content="Check for updates" HorizontalAlignment="Left" Margin="345,85,0,0" VerticalAlignment="Top" Width="319" Click="checkServerUpdatesButton_Click"/>
<Button x:Name="installServerUpdateButton" Content="Install update" HorizontalAlignment="Left" Margin="345,125,0,0" VerticalAlignment="Top" Width="319" IsEnabled="False" Click="installServerUpdateButton_Click"/>
<Button x:Name="setServerPathButton" Content="Find and set installation path" HorizontalAlignment="Left" Margin="16,165,0,0" VerticalAlignment="Top" Width="319" Click="setServerPathButton_Click"/>
</Grid>
</materialDesign:Card>
<materialDesign:Card Width="354" Height="250" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="18,10,16,0">
<Grid>
<TextBlock Text="Server management" Style="{DynamicResource MaterialDesignHeadline5TextBlock}" HorizontalAlignment="Left" Margin="18,18,0,0" VerticalAlignment="Top" FontWeight="Normal"/>
<Button x:Name="backupServerButton" Content="Backup server data" HorizontalAlignment="Left" Margin="16,85,0,0" VerticalAlignment="Top" Width="322" Click="backupServerButton_Click"/>
</Grid>
</materialDesign:Card>
</Grid>
<Grid Grid.Row="2" Grid.ColumnSpan="2">
<Grid Grid.Row="3" Grid.ColumnSpan="2">
<Label x:Name="statusLabel" Content="" HorizontalAlignment="Left" Margin="16,0,0,0" VerticalAlignment="Center" FontSize="14"/>
<Button x:Name="launchGameButton" Content="Launch Valheim" HorizontalAlignment="Right" Margin="0,0,16,0" VerticalAlignment="Center" Height="48" Width="137" Click="launchGameButton_Click"/>
</Grid>
<Grid.RowDefinitions>
<RowDefinition Height="125" />
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition Height="75"></RowDefinition>
</Grid.RowDefinitions>

Expand Down
18 changes: 17 additions & 1 deletion ValheimPlusManagerWPF/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ private void installServerButton_Click(object sender, RoutedEventArgs e)
{
try
{
FileManager.InstallValheimPlus(Settings.ServerPath, Settings.ServerInstallationPath);
FileManager.CopyFromTo(Settings.ServerPath, Settings.ServerInstallationPath);
ValheimPlusInstalledServer = ValidationManager.CheckInstallationStatus(Settings.ServerInstallationPath);
if (ValheimPlusInstalledServer)
{
Expand Down Expand Up @@ -367,5 +367,21 @@ public void UISettingsInit()
setServerPathButton.Margin = new Thickness(16, 85, 0, 0);
}
}

// Why two methods? 1. To reduce confusion, 2. In case IronGate adds a dedicated folder for server/client only
private void backupServerButton_Click(object sender, RoutedEventArgs e)
{
FileManager.CopyFromTo(String.Format("C:/Users/{0}/AppData/LocalLow/IronGate", Environment.UserName), String.Format("C:/ValheimServerBackups/{0}", DateTime.Now.ToString("yyyy-MM-dd-HHmm")));
statusLabel.Foreground = Brushes.Green;
statusLabel.Content = "Server data backup complete!";
}

// Why two methods? 1. To reduce confusion, 2. In case IronGate adds a dedicated folder for server/client only
private void backupClientButton_Click(object sender, RoutedEventArgs e)
{
FileManager.CopyFromTo(String.Format("C:/Users/{0}/AppData/LocalLow/IronGate", Environment.UserName), String.Format("C:/ValheimGameBackups/{0}", DateTime.Now.ToString("yyyy-MM-dd-HHmm")));
statusLabel.Foreground = Brushes.Green;
statusLabel.Content = "Game data backup complete!";
}
}
}
2 changes: 1 addition & 1 deletion ValheimPlusManagerWPF/SupportClasses/FileManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
{
public sealed class FileManager
{
public static bool InstallValheimPlus(string fromPath, string toPath)
public static bool CopyFromTo(string fromPath, string toPath)
{
// Create subdirectory structure in destination
foreach (string dir in System.IO.Directory.GetDirectories(fromPath, "*", System.IO.SearchOption.AllDirectories))
Expand Down
4 changes: 2 additions & 2 deletions ValheimPlusManagerWPF/SupportClasses/UpdateManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ public static async Task<bool> InstallValheimPlusUpdateAsync(bool manageClient,

try
{
FileManager.InstallValheimPlus(settings.ClientPath, settings.ClientInstallationPath);
FileManager.CopyFromTo(settings.ClientPath, settings.ClientInstallationPath);
settings.ValheimPlusGameClientVersion = valheimPlusVersion;
SettingsDAL.UpdateSettings(settings, true);
}
Expand All @@ -96,7 +96,7 @@ public static async Task<bool> InstallValheimPlusUpdateAsync(bool manageClient,

try
{
FileManager.InstallValheimPlus(settings.ServerPath, settings.ServerInstallationPath);
FileManager.CopyFromTo(settings.ServerPath, settings.ServerInstallationPath);
settings.ValheimPlusServerClientVersion = valheimPlusVersion;
SettingsDAL.UpdateSettings(settings, false);
}
Expand Down
4 changes: 2 additions & 2 deletions ValheimPlusManagerWPF/ValheimPlusManager.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<TargetFramework>net5.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
<ApplicationIcon>valheim-plus.ico</ApplicationIcon>
<Version>0.1.3</Version>
<Version>0.2.0</Version>
<Authors>Robert Roos</Authors>
<Company>Xenolith AB</Company>
<Product>ValheimPlusManager</Product>
Expand All @@ -17,7 +17,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="ini-parser" Version="2.5.2" />
<PackageReference Include="ini-parser-netstandard" Version="2.5.2" />
<PackageReference Include="MaterialDesignThemes" Version="4.0.0" />
<PackageReference Include="Octokit" Version="0.50.0" />
</ItemGroup>
Expand Down

0 comments on commit bd6c5d3

Please sign in to comment.