Jump to content
  • 0

Cannot save or load with user Documents folder being a network share (analysis & workaround included!))


Question

Posted

Excerpt from the logfile:

System.IO.DirectoryNotFoundException: Directory '\VOS.VOSDOM.LAN\Documents\weber\Documents\My Games\Pillars of Eternity II' not found.
  at System.IO.Directory.GetFileSystemEntries (System.String path, System.String searchPattern, FileAttributes mask, FileAttributes attrs) [0x00000] in <filename unknown>:0 
  at System.IO.Directory.GetFiles (System.String path, System.String searchPattern) [0x00000] in <filename unknown>:0 
  at System.IO.Directory.GetFiles (System.String path, System.String searchPattern, SearchOption searchOption) [0x00000] in <filename unknown>:0 
  at Game.SaveLoadManager.LoadAllSaveGameMetadatas (SizeStyle sizeStyle, System.Boolean& abortSignal) [0x00000] in <filename unknown>:0 
  at Game.SaveLoadManager.CacheSaveGameInfoThreadFunc () [0x00000] in <filename unknown>:0 
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

Error loading save game cache!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

Pillars II saves cached.
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

DirectoryNotFoundException: Directory '\VOS.VOSDOM.LAN\Documents\weber\Documents\My Games\Pillars of Eternity' not found.
  at System.IO.Directory.GetFileSystemEntries (System.String path, System.String searchPattern, FileAttributes mask, FileAttributes attrs) [0x00000] in <filename unknown>:0 
  at System.IO.Directory.GetFiles (System.String path, System.String searchPattern) [0x00000] in <filename unknown>:0 
  at Game.LegacySaveGameImporter.GetGameCompleteLegacySaveGameInfos (SizeStyle sizeStyle, System.Boolean& abort) [0x00000] in <filename unknown>:0 
  at SaveGameInfo.CacheSaveGameInfoThreadFunc () [0x00000] in <filename unknown>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
SaveGameInfo:CacheSaveGameInfoThreadFunc()
 
(Filename:  Line: -1)

Error loading save game cache!

If I had to guess I would say that the leading '\\' is sanitized to '\' which leads to windows looking for the file on the current drive instead.

 

Going further down the road validates that guess:

 

I created a folder "C:\VOS.VOSDOM.LAN\Documents\weber\Documents\My Games\Pillars of Eternity II" as well as "C:\VOS.VOSDOM.LAN\Documents\weber\Documents\My Games\Pillars of Eternity".

 

Loading and saving now works, kind of:

 

The game saves to the network drive at "\\VOS.VOSDOM.LAN\Documents\weber\Documents\My Games\Pillars of Eternity II" and loads from "C:\VOS.VOSDOM.LAN\Documents\weber\Documents\My Games\Pillars of Eternity II".

 

So currently, I have to copy the files over from the network drive to the hard drive if I want to save.

6 answers to this question

Recommended Posts

  • 0
Posted (edited)

Workaround for the game loading and saving from different paths as described above:

 

(assuming your network Path is \\VOS.VOSDOM.LAN\Documents\weber\Documents\My Games\Pillars of Eternity II )

 

* create a folder C:\VOS.VOSDOM.LAN\Documents\weber\Documents\

* open powershell and execute

New-Item -ItemType Symboliclink -Path 'C:\VOS.VOSDOM.LAN\Documents\weber\Documents\My Games' -Value '\\VOS.VOSDOM.LAN\Documents\weber\Documents\My Games'

This will be accepted by PoE and you can load and save both from the network folder.

Edited by phryneas
  • 0
Posted

Thanks for this! I'm not that tech savvy and struggling to get this to work (powershell gives me error messages). How exactly am I meant to execute that command?

  • 0
Posted

Thanks for this! I'm not that tech savvy and struggling to get this to work (powershell gives me error messages). How exactly am I meant to execute that command?

All in one line with your own paths in there.

 

Have you created the folder up to "Documents" by hand before? What error message are you getting? What command are you executing?

  • 0
Posted (edited)




 

Workaround for the game loading and saving from different paths as described above:
 
(assuming your network Path is \\VOS.VOSDOM.LAN\Documents\weber\Documents\My Games\Pillars of Eternity II )
 
* create a folder C:\VOS.VOSDOM.LAN\Documents\weber\Documents\
* open powershell and execute

New-Item -ItemType Symboliclink -Path 'C:\VOS.VOSDOM.LAN\Documents\weber\Documents\My Games' -
Value '\\VOS.VOSDOM.LAN\Documents\weber\Documents\My Games'
This will be accepted by PoE and you can load and save both from the network folder.

Bonus: You can use the symbolic link with the classic commandline too.

mklink /D "E:\GOG Games\Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\exported\localized\de_patch" C:\Repositories\pillarsofeternity-2-german-patch\exported\localized\de_patch

symbolische Verknüpfung erstellt für E:\GOG Games\Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\exported\localized\de_patch <<===>> C:\Repositories\pillarsofeternity-2-german-patch\exported\localized\de_patch
Edited by Xaratas
  • 0
Posted (edited)

 

Thanks for this! I'm not that tech savvy and struggling to get this to work (powershell gives me error messages). How exactly am I meant to execute that command?

All in one line with your own paths in there.

 

Have you created the folder up to "Documents" by hand before? What error message are you getting? What command are you executing?

 

Okay, this is weird: It gave me an error message, but when I tried it in Pillars it seemed to work. I was able to create histories, play a game. However, upon exiting the game and opening it again, I did not have access to my save games - but my Pillar Histories.

 

The path Pillars looks for is: '\NETWORK\Users\USERNAME\Saved Games\Pillars of Eternity II'

 

I've created a folder with the following path: C:\NETWORK\Users\USERNAME\Saved Games\Pillars of Eternity II

 

Yet it gives me the following error:

 

 

 

PS C:\Users\USERNAME> New-Item -ItemType Symboliclink -Path 'C:\NETWORK\Users\USERNAME\Saved Games\Pillars of Eternity II' -

Value '\\NETWORK\Users\USERNAME\Saved Games\Pillars of Eternity II'

New-Item : A positional parameter cannot be found that accepts argument '-'.

At line:1 char:1

+ New-Item -ItemType Symboliclink -Path 'C:\INETWORK\Users\USERNAME\Saved ...

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidArgument: ( :)  [New-Item], ParameterBindingException

    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.NewItemCommand

 

Value : The term 'Value' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

At line:2 char:1

+ Value '\\NETWORK\Users\USERNAME\Saved Games\Pillars of Eternity II'

+ ~~~~~

    + CategoryInfo          : ObjectNotFound: (Value:String) [], CommandNotFoundException

    + FullyQualifiedErrorId : CommandNotFoundException

 

There is a VERY strong likelyhood I've messed something up, I have no idea if I've done this right!

Edited by CptCurt
  • 0
Posted (edited)

 

 

Thanks for this! I'm not that tech savvy and struggling to get this to work (powershell gives me error messages). How exactly am I meant to execute that command?

All in one line with your own paths in there.

 

Have you created the folder up to "Documents" by hand before? What error message are you getting? What command are you executing?

 

Okay, this is weird: It gave me an error message, but when I tried it in Pillars it seemed to work. I was able to create histories, play a game. However, upon exiting the game and opening it again, I did not have access to my save games - but my Pillar Histories.

 

The path Pillars looks for is:

 

'\NETWORK\Users\USERNAME\Saved Games\Pillars of Eternity II'

 

I've created a folder with the following path: C:\NETWORK\Users\USERNAME\Saved Games\Pillars of Eternity II

 

Yet it gives me the following error:

 

PS C:\Users\USERNAME> New-Item -ItemType Symboliclink -Path 'C:\NETWORK\Users\USERNAME\Saved Games\Pillars of Eternity II' -

Value '\\NETWORK\Users\USERNAME\Saved Games\Pillars of Eternity II'

New-Item : A positional parameter cannot be found that accepts argument '-'.

At line:1 char:1

+ New-Item -ItemType Symboliclink -Path 'C:\NETWORK\Users\USER\Saved ...

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidArgument: ( :) [New-Item], ParameterBindingException

    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.NewItemCommand

 

Value : The term 'Value' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

At line:2 char:1

+ Value '\\NETWORK\Users\USERNAME\Saved Games\Pillars of Eternity II'

+ ~~~~~

    + CategoryInfo          : ObjectNotFound: (Value:String) [], CommandNotFoundException

    + FullyQualifiedErrorId : CommandNotFoundException

 

There is a VERY strong likelyhood I've messed something up, I have no idea if I've done this right!

 

 

 

Yes, two things:

 

  • only create the path C:\NETWORK\Users\USERNAME\Saved Games - do not create the folder "Pillars of Eternity II" itself. It will be created by the command
  • the command is all one line. It was wrapped as I pasted it to the forum, I corrected it above.
Edited by phryneas

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...