Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Just make a link, for example in C:\Users\<<My Username>>\AppData\LocalLow\
mklink /J "C:\Users\<<My Username>>\AppData\LocalLow\IronGate" "path_destination_of_your_choice"
:)
\Steam\steamapps\common\Valheim\valheim_Data\Managed\assembly_valheim.dll
Class: public class World
Method: private static string GetWorldSavePath()
Just change the path it returns, and it will be the new path to save files
If you do it only on dedicated then dedicated saves will go there
If you do it in mod, then it will send saves there only when you use mod
If you do it directly in game files, then it will send all saves there
I have heard that some people use "visual studio" with C# extension, but that didn't work for me
But generally any program that allows to edit C# should do the job for you
Keep in mind there are programs that allow only reading (iirc it was called ILspy)
BUT it will also change the world saving location, screenshots saving location, list of admins/banned/whitelist (potentially logs other stuff too)
Class: public static class Utils
Method: public static string GetSaveDataPath()
Just remove everything from method and do
I didn't mention this one previously because I thought you want to change only the world's location
Changing this Path will literally replace
(multiple methods in class to edit there, no quick "change once and go")
Class: public class PlayerProfile
Method: private bool SavePlayerToDisk()
Changing those 4
Class: public class PlayerProfile
Method: private ZPackage LoadPlayerDataFromDisk()
Class: public class PlayerProfile
Method: public static List<PlayerProfile> GetAllPlayerProfiles()
Class: public class PlayerProfile
Method: public static void RemoveProfile(string name)
Class: public class PlayerProfile
Method: public static bool HaveProfile(string name)
The savedir parameter will stick, and is the far better option.
if game supports parameter to change it then nice
the .dll works for instances too ;D
if you use mod then changing it once wil do the job, and the only time you would have to update mod would be when devs change saving system
if you edit directly in the .dll file... then you would need to update it each time game updates :D
the assembly_valheim is main code of game, so each update is going to change it~~
This is Exactly the In-Depth technical solution I was looking for and needed!
It's nice when you get a solid answer like this, Thank you!
I just have 1 more issue.. I'm having trouble figuring out how Exactly to Edit that Method in assemble_utils.dll
{
return path; ???
}
The 'path' is red and I'm unsure of the Code needed to set it to read the Path which I choose to be
C:\Users\%username%\AppData\LocalLow\IronGateEA\Valheim0.146.11\
as a quick easy example..
I'm sorry about the Minor Details, I'm not much of a coder..