Game doesn't save mod loader

Started by Seravilo, December 19, 2019, 08:57:57 AM

Previous topic - Next topic

Seravilo

So, I have a new PC now and have installed the game via my Steam Account (It's been a couple of years since I last played).

When I launch the game, I get an error log, but it's not about any of the workshop mods I'm subscribed to - it appears to be about some files in the %appdata%/LocalLow directory.

I've tried reinstalling the game numerous times as well as followed a set of instructions listed in this forum post: (https://ludeon.com/forums/index.php?topic=4805.0), but to no avail.

I can't think of anything else to try to fix this.

Anyway, here are the details in the log entry
(I have also added the log file as an attachment - I recommend opening the file with Notepad++ to make it easier to read):

QuoteInitialize engine version: 5.6.5f1 (2cac56bf7bb6)
GfxDevice: creating device client; threaded=1
Direct3D:
    Version:  Direct3D 9.0c [aticfx64.dll 26.20.13003.1007]
    Renderer: Radeon RX 590 Series
    Vendor:   ATI
    VRAM:     8137 MB (via DXGI)
    Caps:     Shader=30 DepthRT=1 NativeDepth=1 NativeShadow=1 DF16=1 INTZ=1 NULL=1 RESZ=1 SlowINTZ=1 ATOC=0 BC4=1 BC5=1
Begin MonoManager ReloadAssembly
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.dll into Unity Child Domain
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\Assembly-CSharp-firstpass.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\Assembly-CSharp-firstpass.dll into Unity Child Domain
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\Assembly-CSharp.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\Assembly-CSharp.dll into Unity Child Domain
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.UI.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.UI.dll into Unity Child Domain
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.Networking.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.Networking.dll into Unity Child Domain
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\NAudio.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\NAudio.dll into Unity Child Domain
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\NVorbis.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\NVorbis.dll into Unity Child Domain
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\TextMeshPro-1.0.55.56.0b11.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\TextMeshPro-1.0.55.56.0b11.dll into Unity Child Domain
- Completed reload, in  0.028 seconds
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\System.Core.dll (this message is harmless)
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\System.dll (this message is harmless)
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\System.Xml.dll (this message is harmless)
WARNING: Shader Unsupported: 'Hidden/VR/BlitCopyFromTexArray' - Pass '' has no vertex shader
WARNING: Shader Unsupported: 'Hidden/VR/BlitCopyFromTexArray' - Setting to default shader.
<RI> Initializing input.

<RI> Input initialized.

desktop: 1920x1080 59Hz; virtual: 1920x1080 at 0,0
<RI> Initialized touch support.

UnloadTime: 1.095800 ms
RimWorld 1.0.2408 rev747

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

Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\System.Xml.Linq.dll (this message is harmless)
Exception saving knowledge database: System.UnauthorizedAccessException: Access to the path "C:\Users\Vanessa\AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Config\Knowledge.xml" is denied.
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) [0x00000] in <filename unknown>:0
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string,bool,System.Text.Encoding)
  at System.Xml.XmlWriter.Create (System.String file, System.Xml.XmlWriterSettings settings) [0x00000] in <filename unknown>:0
  at System.Xml.Linq.XDocument.Save (System.String filename, SaveOptions options) [0x00000] in <filename unknown>:0
  at System.Xml.Linq.XDocument.Save (System.String filename) [0x00000] in <filename unknown>:0
  at RimWorld.PlayerKnowledgeDatabase.Save () [0x00000] in <filename unknown>:0

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

Exception from long event: System.UnauthorizedAccessException: Access to the path "C:\Users\Vanessa\AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Saves" is denied.
  at System.IO.Directory.CreateDirectoriesInternal (System.String path) [0x00000] in <filename unknown>:0
  at System.IO.Directory.CreateDirectory (System.String path) [0x00000] in <filename unknown>:0
  at System.IO.DirectoryInfo.Create () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.IO.DirectoryInfo:Create ()
  at Verse.GenFilePaths.FolderUnderSaveData (System.String folderName) [0x00000] in <filename unknown>:0
  at Verse.GenFilePaths.get_SavedGamesFolderPath () [0x00000] in <filename unknown>:0
  at Verse.GenFilePaths.get_AllSavedGameFiles () [0x00000] in <filename unknown>:0
  at RimWorld.MainMenuDrawer.Init () [0x00000] in <filename unknown>:0
  at Verse.UIRoot_Entry.Init () [0x00000] in <filename unknown>:0
  at Verse.Root.<Start>m__0 () [0x00000] in <filename unknown>:0
  at Verse.LongEventHandler.UpdateCurrentSynchronousEvent (System.Boolean& sceneChanged) [0x00000] in <filename unknown>:0

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

Exception saving data object Verse.ModsConfig+ModsConfigData: System.UnauthorizedAccessException: Access to the path "C:\Users\Vanessa\AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Config\ModsConfig.xml" is denied.
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) [0x00000] in <filename unknown>:0
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string,bool,System.Text.Encoding)
  at System.Xml.XmlWriter.Create (System.String file, System.Xml.XmlWriterSettings settings) [0x00000] in <filename unknown>:0
  at System.Xml.Linq.XDocument.Save (System.String filename, SaveOptions options) [0x00000] in <filename unknown>:0
  at System.Xml.Linq.XDocument.Save (System.String filename) [0x00000] in <filename unknown>:0
  at Verse.DirectXmlSaver.SaveDataObject (System.Object obj, System.String filePath) [0x00000] in <filename unknown>:0

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

Setting up 6 worker threads for Enlighten.
  Thread -> id: 252c -> priority: 1
  Thread -> id: 1d78 -> priority: 1
  Thread -> id: a8c -> priority: 1
  Thread -> id: 13b8 -> priority: 1
  Thread -> id: 1500 -> priority: 1
  Thread -> id: 418 -> priority: 1
Initialize engine version: 5.6.5f1 (2cac56bf7bb6)
GfxDevice: creating device client; threaded=1
Direct3D:
    Version:  Direct3D 9.0c [aticfx64.dll 26.20.13003.1007]
    Renderer: Radeon RX 590 Series
    Vendor:   ATI
    VRAM:     8137 MB (via DXGI)
    Caps:     Shader=30 DepthRT=1 NativeDepth=1 NativeShadow=1 DF16=1 INTZ=1 NULL=1 RESZ=1 SlowINTZ=1 ATOC=0 BC4=1 BC5=1
Begin MonoManager ReloadAssembly
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.dll into Unity Child Domain
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\Assembly-CSharp-firstpass.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\Assembly-CSharp-firstpass.dll into Unity Child Domain
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\Assembly-CSharp.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\Assembly-CSharp.dll into Unity Child Domain
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.UI.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.UI.dll into Unity Child Domain
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.Networking.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.Networking.dll into Unity Child Domain
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\NAudio.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\NAudio.dll into Unity Child Domain
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\NVorbis.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\NVorbis.dll into Unity Child Domain
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\TextMeshPro-1.0.55.56.0b11.dll (this message is harmless)
Loading D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\TextMeshPro-1.0.55.56.0b11.dll into Unity Child Domain
- Completed reload, in  0.027 seconds
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\System.Core.dll (this message is harmless)
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\System.dll (this message is harmless)
Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\System.Xml.dll (this message is harmless)
WARNING: Shader Unsupported: 'Hidden/VR/BlitCopyFromTexArray' - Pass '' has no vertex shader
WARNING: Shader Unsupported: 'Hidden/VR/BlitCopyFromTexArray' - Setting to default shader.
<RI> Initializing input.

<RI> Input initialized.

desktop: 1920x1080 59Hz; virtual: 1920x1080 at 0,0
<RI> Initialized touch support.

UnloadTime: 1.018900 ms
RimWorld 1.0.2408 rev747

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

Platform assembly: D:\SteamLibrary\steamapps\common\RimWorld\RimWorldWin64_Data\Managed\System.Xml.Linq.dll (this message is harmless)
Exception saving knowledge database: System.UnauthorizedAccessException: Access to the path "C:\Users\Vanessa\AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Config\Knowledge.xml" is denied.
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) [0x00000] in <filename unknown>:0
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string,bool,System.Text.Encoding)
  at System.Xml.XmlWriter.Create (System.String file, System.Xml.XmlWriterSettings settings) [0x00000] in <filename unknown>:0
  at System.Xml.Linq.XDocument.Save (System.String filename, SaveOptions options) [0x00000] in <filename unknown>:0
  at System.Xml.Linq.XDocument.Save (System.String filename) [0x00000] in <filename unknown>:0
  at RimWorld.PlayerKnowledgeDatabase.Save () [0x00000] in <filename unknown>:0

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

Exception from long event: System.UnauthorizedAccessException: Access to the path "C:\Users\Vanessa\AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Saves" is denied.
  at System.IO.Directory.CreateDirectoriesInternal (System.String path) [0x00000] in <filename unknown>:0
  at System.IO.Directory.CreateDirectory (System.String path) [0x00000] in <filename unknown>:0
  at System.IO.DirectoryInfo.Create () [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.IO.DirectoryInfo:Create ()
  at Verse.GenFilePaths.FolderUnderSaveData (System.String folderName) [0x00000] in <filename unknown>:0
  at Verse.GenFilePaths.get_SavedGamesFolderPath () [0x00000] in <filename unknown>:0
  at Verse.GenFilePaths.get_AllSavedGameFiles () [0x00000] in <filename unknown>:0
  at RimWorld.MainMenuDrawer.Init () [0x00000] in <filename unknown>:0
  at Verse.UIRoot_Entry.Init () [0x00000] in <filename unknown>:0
  at Verse.Root.<Start>m__0 () [0x00000] in <filename unknown>:0
  at Verse.LongEventHandler.UpdateCurrentSynchronousEvent (System.Boolean& sceneChanged) [0x00000] in <filename unknown>:0

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

Exception saving data object Verse.ModsConfig+ModsConfigData: System.UnauthorizedAccessException: Access to the path "C:\Users\Vanessa\AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Config\ModsConfig.xml" is denied.
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) [0x00000] in <filename unknown>:0
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string,bool,System.Text.Encoding)
  at System.Xml.XmlWriter.Create (System.String file, System.Xml.XmlWriterSettings settings) [0x00000] in <filename unknown>:0
  at System.Xml.Linq.XDocument.Save (System.String filename, SaveOptions options) [0x00000] in <filename unknown>:0
  at System.Xml.Linq.XDocument.Save (System.String filename) [0x00000] in <filename unknown>:0
  at Verse.DirectXmlSaver.SaveDataObject (System.Object obj, System.String filePath) [0x00000] in <filename unknown>:0

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

Setting up 6 worker threads for Enlighten.
  Thread -> id: 1310 -> priority: 1
  Thread -> id: 448 -> priority: 1
  Thread -> id: 15dc -> priority: 1
  Thread -> id: 9d8 -> priority: 1
  Thread -> id: 345c -> priority: 1
  Thread -> id: 352c -> priority: 1

ReZpawner

#1
It says you don't have access to that folder, so I'm curious if you're logged on to the user "Vanessa" on the computer? Only that username (as well as administrators) will have access to that folder. If you copy paste "%appdata%\..\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios" into the explorer address field, it should take you directly to that folder, assuming you're on windows 7. Do the paths match?

Edit: And while you're in that folder, you may want to right click, and select properties, and from there check the "Security" tab, to see if the user you're logged on as has access to:
Modify, Read & Execute, List Folder Contents, Read, Write.

Seravilo

Yes, Vanessa is my account and also the only account profile on the computer. It says, in the account details, that I have admin privileges.
Typing the address into the Windows explorer takes me to that exact folder which confirms that it exists and that the path is correct.

My OS is Windows 10 home. Does that mean that the directory should be in a different location?

Canute

The
\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios
is the place Rimworld store the config and save games.
It is different from the Rimworld installation.
Normaly the user who is logged in should have unrestricted write access to %appdata% and all following folders since they only created for that user.

You can try to start Rimworld with admin right, go into the rimworld installation, then right click in the Rimworld....exe and start as admin.

ReZpawner

#4
Ah. Unfortunately I have pretty much zero experience with Windows 10, so I can't give you an answer that isn't pure guesswork.
It seems it should be in the same location for Windows 10 as well, so that's probably not the issue.

As far as I know, LocalLow is considered a low security folder, where you shouldn't need admin access (which is why it's commonly used).
If you go back to the security tab, and go into advanced (hoping it's the same in Win10), are you listed as "owner"?
Could it be that some files have been set to readonly? The folders are supposed to be, but the files are not.

It's one of those classical silly tech-support questions, but have you tried restarting the computer? A while back I got similar access denied errors when a service had stopped.

Seravilo

OK, so I went to the RimWorldWin64.exe properties and checked the box "Run as Administrator".
This way, every time I run the game through the Steam Launcher, it will always run as administrator.
That seems to have put the errors to a halt.
Now I just have to see if my mods work once I've subscribed to them again.

And it seems to have done the trick! :)

Thanks for all of your help - I didn't have to set up such privileges on my older device (at least as far as I recall)

xx

Canute

Normaly you don't have to run Rimworld with admin rights.
Maybe your security settings are so high that is needed.
Or alot more people would expierence that problem.