I think a handy solution would be using symlinks. Although I am 100% positive that you can do them on linux, I can't direct you...on mac, I have absolutely no clue if they can be done.
I'll just give you specific instructions for what you're asking instead of just making symlinks for the mods folder, which is what I originally wrote about. I don't like the idea of unnecessary duplicates or having to manage multiple files of the same thing, such as config.ini, but you asked for multiple folders, so here you go...
On my computer, my Factorio appdata folder is here:
C:\users\JPB\AppData\Roaming\Factorio
Whatever your username is, it will be where JPB is.
Be sure that Factorio isn't running. You'll want to move that folder, Factorio, somewhere else. It can be anywhere, for for simplicity in explaining, you can make a new folder on your c drive. Name it factorio_custom and move the folder called Factorio there, and rename it Factorio_setup1.
Now, open up notepad and paste this in, replacing JPB with whatever your username is, and if there's a space in it, put quotes around the folder name:
Code: Select all
rmdir c:\users\JPB\AppData\Roaming\Factorio
mklink /d c:\users\JPB\AppData\Roaming\Factorio c:\factorio_custom\Factorio_setup1
start C:\"Program Files (x86)"\Steam\Steam.exe -applaunch 427520 --load-game save1.zip
exit /b
For the standalone game, you'd change the start line to this:
Code: Select all
start C:\"Program Files"\Factorio\bin\x64\factorio.exe --load-game save1.zip
And to just launch it, you'd remove the --load-game part:
Code: Select all
start C:\"Program Files (x86)"\Steam\Steam.exe -applaunch 427520
Code: Select all
start C:\"Program Files"\Factorio\bin\x64\factorio.exe
Or remove that line entirely if you don't want the batch file launching your game.
Save the file into your c:\factorio_custom folder as setup1.bat and be sure that you're saving the file type as "all files" and not as "text documents". You can then copy & paste Factorio_setup1, rename it Factorio_setup2, make another batch file, and adjust the folder and file names accordingly. I'm not sure how Vista/7/8/10 act about batch files, symlinks, or tinkering in the appdata folders if UAC and other nuisances are enabled, so you may have to turn off UAC if it complains.
To save a little more time on loading, I'd suggest in your config.ini (open in notepad):
Factorio\config\config.ini
that you enable atlas caching. Set this line:
to this:
You'll need to set that in every config.ini file, now that you'll have multiple config.ini files.
Now, just run whichever batch file for whichever mods setup or save you want to load, or make a new shortcut to the batch file, or whatever is convenient. It should all be transparent to Factorio, and it won't act or know any different. What the batch file will do is remove the symlink, create a new one to whichever Factorio_setupX folder it's set to, then launch the game and your save file.
I don't know how symlinks work with overwriting themselves, so I just set it to remove it first. You can also just delete the symlink yourself like you'd delete a folder or file if you ever change your mind and want to go back to normal. That's the way I do it when I don't need a symlink anymore.
You could further use symlinks to make a wonderful mess and avoid duplicates while also allowing seamless atlas-cache creation (it has to update whenever stuff changes). BUT, the first time you rename or move something, if you're not sure of the consequences and what you need to update in your batch files, you're going to wish you didn't do it that way. It's more of a "fun because I can" than a worthwhile thing to do, when you can just symlink the entire folder or symlink just the mods folder.
EDIT: The updater will work normally and it'll just be one installation which only updates once, but your mods will all have to update independently. It will be a separate way of running the game, uniquely, for your mod sets. Symlinks are incredibly handy for situations like this. Factorio and Steam won't know any different. To them, nothing has changed.