|
|
@@ -4048,11 +4048,11 @@ sub steam_workshop
|
|
|
}
|
|
|
|
|
|
#### Run the steam client ####
|
|
|
-### @return 1 If update started
|
|
|
-### @return 0 In error case.
|
|
|
+### @return 1 If installation started
|
|
|
+### @return -1 In error case.
|
|
|
sub steam_workshop_without_decrypt
|
|
|
{
|
|
|
- my ($home_id, $mods_path, $workshop_id, $workshop_mod_id) = @_;
|
|
|
+ my ($home_id, $mods_path, $workshop_id, $workshop_mod_list) = @_;
|
|
|
|
|
|
# Creates home path if it doesn't exist
|
|
|
if ( check_b4_chdir($mods_path) != 0)
|
|
|
@@ -4072,12 +4072,17 @@ sub steam_workshop_without_decrypt
|
|
|
|
|
|
my $installtxt = Path::Class::File->new($installSteamFile);
|
|
|
|
|
|
+ my @workshop_mods = split /,/, $workshop_mod_list;
|
|
|
+
|
|
|
open FILE, '>', $installtxt;
|
|
|
print FILE "\@ShutdownOnFailedCommand 1\n";
|
|
|
print FILE "\@NoPromptForPassword 1\n";
|
|
|
print FILE "login anonymous\n";
|
|
|
print FILE "force_install_dir \"$mods_path\"\n";
|
|
|
- print FILE "workshop_download_item $workshop_id $workshop_mod_id\n";
|
|
|
+ foreach my $workshop_mod (@workshop_mods)
|
|
|
+ {
|
|
|
+ print FILE "workshop_download_item $workshop_id $workshop_mod\n";
|
|
|
+ }
|
|
|
print FILE "exit\n";
|
|
|
close FILE;
|
|
|
|
|
|
@@ -4085,7 +4090,7 @@ sub steam_workshop_without_decrypt
|
|
|
backup_home_log( $home_id, $log_file );
|
|
|
|
|
|
my $screen_cmd = create_screen_cmd($screen_id, "$steam_binary +runscript $installtxt +exit");
|
|
|
- logger "Installing Steam Workshop content with workshop id " . $workshop_id . " and workshop_mod_id " . $workshop_mod_id . " on server Home ID " . $home_id;
|
|
|
+ logger "Installing Steam Workshop content on server Home ID " . $home_id;
|
|
|
system($screen_cmd);
|
|
|
|
|
|
return 1;
|