Agent Delta Jun 3, 2021 @ 12:14pm
Can't load previously used Steam folder even though "Selected drive already has a Steam library folder"
Hi, guys- got a really weird error here.
I've looked over the forums and have found similar problems, but nothing quite like what's happening to me.

For some months I've been using a 128GB SD Card as extra storage for some Steam games that I don't play regularly but still want to have ready to go whenever. I went through the proper process of making sure Steam recognized it as a separate Steam library folder. Thus, I had a folder on my C:/ drive and the SD card was commonly recognized as the D:/ drive, also with a Steam folder. I would usually take the SD card out when I wasn't using it, so it was often missing when I loaded Steam and played things off the C:/ drive. However, whenever I wanted to play something off the D:/ drive, it was a simple matter of plugging it back in and re-adding it as a Steam library folder. Upon doing so, Steam would immediately recognize all of the games installed on the SD card and I could play any of them without trouble.

However, this is no longer working. Now, when I try to click on the usual filepath (D:/Steam) I get an "error" message saying "Selected drive already has a Steam library folder". It's as though it thinks I'm trying to use a different folder on the drive than the one Steam thinks I should be using, even though I'm using the same filepath I've always used.

I've tried using various other folders on the SD card, thinking maybe Steam got confused about which folder the Steam library is in, but each time it returns the same message (except when I try to use just "D:/", in which case it properly tells me I can't use the root folder). I've also tried removing the Steam folder from the SD card entirely, but it STILL says there's already some other Steam library folder on there and won't let me load anything from it.

HOWEVER, on a whim I tried plugging in a random USB stick as the D:/ drive thus forcing the SD card, plugged in after, to be the E:/ drive. When I tried to load "E:/Steam", it worked absolutely fine and recognized all of the games on the SD card. I then tried to put a new Steam library folder on the USB stick (which I've never used for Steam storage before), and, lo and behold, it says "Selected drive already has a Steam library folder".

In other words, it sounds like Steam is looking for a filepath on the D:/ drive (regardless of what the D:/ drive actually is), but I don't know what that filepath is anymore. Is there some way to tell Steam explicitly to forget about the D:/ drive and then set it up again, like some Steam library record-keeping file?

Thanks for reading the essay; any help is appreciated.
< >
Showing 1-9 of 9 comments
Adam Beckett Jun 4, 2021 @ 1:25am 
Hi.

I am a fellow "use SSD's as Steam Library Collection" add/remove SteamLibrary user.

I have never had the issue you describe here. (currently using same SSDs on Win7 and 8.1 AND on Win10.

Each time I connect a SteamLibrary SSD it detects it correctly and when it is not present, there is no 'leftover'.

Are you really using "Steam" as your top-folder on D:\ ? As in D:\Steam\SteamLibrary or D:\Steam\steamapps ?


Solution 1:

RENAME THE D: Steam Folder.

It should be named D:\SteamLibrary

To avoid any issues I am renaming my additions Steam Library folders.

For example on D: it is "D:\SteamLibraryD", on X: it is "X:\SteamLibraryX"

It then has it's own unique name and does not depend on the drive alphabet soup.

Solution 2:

When it happens again - check Downloads>SteamLibraryFolder ... is there an entry? Should not be.

All you really need to do is rename the "SteamLibrary" folder.

Any additonal SteamLibrary folder have to have this structure:

[code
]DRIVE
.............SteamLibrary
======......................steamapps
======......................steam.dll
=======================common
=======================downloading
=======================shadercache
=======================temp
=======================appmanifest_xxxx.acf (your game)[/code]

Usually, on every Steam restart Steam checks and scans for top-level "LibraryFolder" entries on (newly detected) harddrives. If it was stored successfully previously, it will 'remember' them if they are present.

To avoid this you have to clear the Steam cache and re-sign to Steam again.

Solution 3:

Hardlink Shell Extension (MS Junctions)

https://www.schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

I use this for over a decade. It is a "Swiss Army Knife" to store folders on whatever harddrive I want and "Windows" (or "Steam") not knowing where the actual folder is.

I just "LINK" the game folder residing on Drive D (or Drive E ... F G K ...) into Steam's 'steamapps' folder and add the appmanifest acf file (so Steam knows the game is 'installed').

So I can fool C:\Steam (on the Windows 10 128GB SSD) having 1000 games installed, which are all distributed on several other SSDs, which I plug in or out without ever having to do anything anymore.

If the particular game library SSD is plugged in, Steam 'knows' the SSD is present, and since the appmanifest asf file is present on C: it 'knows' this game is installed.

I unplug the SSD and Steam shows me the game as installed, but it obviously is not present (=click on play, nothing happens).

I have 10+ different harddrives (HDD/SSD) with Steam games installed on them and either use "SteamLibraryD", "SteamLibraryE" as a way to connect the games, OR I use the 'hardlink'/MS Junction way to show Steam which games I want to play.

If this sounds too complicated, feel free to ask any questions. :)
Agent Delta Jun 4, 2021 @ 8:52am 
Thank you for responding, but I think I found a solution by answering my own last question above.

Steam uses a file C:/Program Files (x86)/Steam/steamapps/libraryfolders.vdf to keep track of folders in use on different drives. Apparently, even though the D:/ drive wasn't showing up on the "Add Steam Library Folder" UI, libraryfolders.vdf still had an entry for the D:/ drive (along with the E:/ drive I was now using). Every time I tried to add a Steam Library Folder to a D:/ drive Steam complained because an entry already existed in the record file.

I assume that when a drive gets removed via the SLF UI, the libraryfolder.vdf file is supposed to be updated accordingly, but somehow this did not happen and led to the very confusing contradictory messages I was getting. I had to open libraryfolders.vdf manually (with VSCode, my text editor of preference) and remove the entry for the D:/ drive myself. Then, I was able to go back into Steam and add the D:/ drive again like normal. All games are being recognized on my SD card as the D:/ drive once again.

If anyone ever has a similar problem, feel free to ask questions here for some help.
Adam Beckett Jun 4, 2021 @ 8:54am 
Ha! Glad you solved it!

I completely forgot about "libraryfolders.vdf". Easy, when you know where to look? :)
Zurakk Vilto Jun 8, 2021 @ 12:01am 
Originally posted by DeltaFlux:
Thank you for responding, but I think I found a solution by answering my own last question above.

Steam uses a file C:/Program Files (x86)/Steam/steamapps/libraryfolders.vdf to keep track of folders in use on different drives. Apparently, even though the D:/ drive wasn't showing up on the "Add Steam Library Folder" UI, libraryfolders.vdf still had an entry for the D:/ drive (along with the E:/ drive I was now using). Every time I tried to add a Steam Library Folder to a D:/ drive Steam complained because an entry already existed in the record file.

I assume that when a drive gets removed via the SLF UI, the libraryfolder.vdf file is supposed to be updated accordingly, but somehow this did not happen and led to the very confusing contradictory messages I was getting. I had to open libraryfolders.vdf manually (with VSCode, my text editor of preference) and remove the entry for the D:/ drive myself. Then, I was able to go back into Steam and add the D:/ drive again like normal. All games are being recognized on my SD card as the D:/ drive once again.

If anyone ever has a similar problem, feel free to ask questions here for some help.



Yeah I have my games on an external hard drive and have the exact same problem. So I dont usually have it in and now when i try to add the folder it says I already have one in the drive and was wondering how exactly im supposed to go about fixing it as that seems complicated.
KEFFY Jun 8, 2021 @ 12:07am 
Originally posted by Adam Beckett:
Hi.

I am a fellow "use SSD's as Steam Library Collection" add/remove SteamLibrary user.

I have never had the issue you describe here. (currently using same SSDs on Win7 and 8.1 AND on Win10.

Each time I connect a SteamLibrary SSD it detects it correctly and when it is not present, there is no 'leftover'.

Are you really using "Steam" as your top-folder on D:\ ? As in D:\Steam\SteamLibrary or D:\Steam\steamapps ?


Solution 1:

RENAME THE D: Steam Folder.

It should be named D:\SteamLibrary

To avoid any issues I am renaming my additions Steam Library folders.

For example on D: it is "D:\SteamLibraryD", on X: it is "X:\SteamLibraryX"

It then has it's own unique name and does not depend on the drive alphabet soup.

Solution 2:

When it happens again - check Downloads>SteamLibraryFolder ... is there an entry? Should not be.

All you really need to do is rename the "SteamLibrary" folder.

Any additonal SteamLibrary folder have to have this structure:

[code
]DRIVE
.............SteamLibrary
======......................steamapps
======......................steam.dll
=======================common
=======================downloading
=======================shadercache
=======================temp
=======================appmanifest_xxxx.acf (your game)[/code]

Usually, on every Steam restart Steam checks and scans for top-level "LibraryFolder" entries on (newly detected) harddrives. If it was stored successfully previously, it will 'remember' them if they are present.

To avoid this you have to clear the Steam cache and re-sign to Steam again.

Solution 3:

Hardlink Shell Extension (MS Junctions)

https://www.schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

I use this for over a decade. It is a "Swiss Army Knife" to store folders on whatever harddrive I want and "Windows" (or "Steam") not knowing where the actual folder is.

I just "LINK" the game folder residing on Drive D (or Drive E ... F G K ...) into Steam's 'steamapps' folder and add the appmanifest acf file (so Steam knows the game is 'installed').

So I can fool C:\Steam (on the Windows 10 128GB SSD) having 1000 games installed, which are all distributed on several other SSDs, which I plug in or out without ever having to do anything anymore.

If the particular game library SSD is plugged in, Steam 'knows' the SSD is present, and since the appmanifest asf file is present on C: it 'knows' this game is installed.

I unplug the SSD and Steam shows me the game as installed, but it obviously is not present (=click on play, nothing happens).

I have 10+ different harddrives (HDD/SSD) with Steam games installed on them and either use "SteamLibraryD", "SteamLibraryE" as a way to connect the games, OR I use the 'hardlink'/MS Junction way to show Steam which games I want to play.

If this sounds too complicated, feel free to ask any questions. :)
same here please help
Zurakk Vilto Jun 8, 2021 @ 1:04am 
SOLUTION:

Ok i figured out the specifics its pretty straight forward i was just scared id break steam accidentally BUT IT WORKS!

1. As said by DeltaFlux you want to download "VSCode" if you type that into google it should just be the first link that says https://code.visualstudio.com simply download the default version (or others but the default worked fine).

2. once downloaded no need to add or remove certain things to download simply select a folder to start. I used C:\Program Files (x86)\Steam\steamapps as that is where it is and open libraryfolders.vdf with it.

3. Once opened you should get some code similar to this. (this is mine btw)

"libraryfolders"
{
"contentstatsid" "(theres numbers here but idk if they're private so I removed them for posting reasons)"
"1"
{
"path" "D:\\Games"
"label" "Data"
"mounted" "0"
"contentid" "(theres numbers here but idk if they're private so I removed them for posting reasons)"
}
"2"
{
"path" "F:\\SteamLibrary"
"label" "Data"
"mounted" "1"
"contentid" "(theres numbers here but idk if they're private so I removed them for posting reasons)"
}
}




4. Whichever system your having errors with (so in my case its the F drive simply delete from the "2" until the ending bracket } sign so you would be left with something like this:


"libraryfolders"
{
"contentstatsid" "(theres numbers here but idk if they're private so I removed them for posting reasons)"
"1"
{
"path" "D:\\Games"
"label" "Data"
"mounted" "0"
"contentid" "(theres numbers here but idk if they're private so I removed them for posting reasons)"
}
}

if the one your deleting is in the "1" section I personally would replace the "2" with "1" even though it probably does not make too much of a difference (CORRECT ME IF IM WRONG) but i think it still numbers itself anyway and its not a problem

5. After that simply go to file > Save and start up steam and add away.


TIP: To prevent this from happening I recommend if your using an external device to make sure that it is plugged in before you open steam and therefore turn off the setting which makes steam open on startup.




Hope this helps, big thanks to DeltaFlux for that solution I just thought I'd make it simplish so that those who don't know code too well (like me) understand how to fix it.
KEFFY Jun 8, 2021 @ 1:09am 
Originally posted by Zurakk Vilto:
SOLUTION:

Ok i figured out the specifics its pretty straight forward i was just scared id break steam accidentally BUT IT WORKS!

1. As said by DeltaFlux you want to download "VSCode" if you type that into google it should just be the first link that says https://code.visualstudio.com simply download the default version (or others but the default worked fine).

2. once downloaded no need to add or remove certain things to download simply select a folder to start. I used C:\Program Files (x86)\Steam\steamapps as that is where it is and open libraryfolders.vdf with it.

3. Once opened you should get some code similar to this. (this is mine btw)

"libraryfolders"
{
"contentstatsid" "(theres numbers here but idk if they're private so I removed them for posting reasons)"
"1"
{
"path" "D:\\Games"
"label" "Data"
"mounted" "0"
"contentid" "(theres numbers here but idk if they're private so I removed them for posting reasons)"
}
"2"
{
"path" "F:\\SteamLibrary"
"label" "Data"
"mounted" "1"
"contentid" "(theres numbers here but idk if they're private so I removed them for posting reasons)"
}
}




4. Whichever system your having errors with (so in my case its the F drive simply delete from the "2" until the ending bracket } sign so you would be left with something like this:


"libraryfolders"
{
"contentstatsid" "(theres numbers here but idk if they're private so I removed them for posting reasons)"
"1"
{
"path" "D:\\Games"
"label" "Data"
"mounted" "0"
"contentid" "(theres numbers here but idk if they're private so I removed them for posting reasons)"
}
}

if the one your deleting is in the "1" section I personally would replace the "2" with "1" even though it probably does not make too much of a difference (CORRECT ME IF IM WRONG) but i think it still numbers itself anyway and its not a problem

5. After that simply go to file > Save and start up steam and add away.


TIP: To prevent this from happening I recommend if your using an external device to make sure that it is plugged in before you open steam and therefore turn off the setting which makes steam open on startup.




Hope this helps, big thanks to DeltaFlux for that solution I just thought I'd make it simplish so that those who don't know code too well (like me) understand how to fix it.
I deleted the library folder and tried again and that worked
Zurakk Vilto Jun 8, 2021 @ 1:25am 
Nice im glad it worked!
< >
Showing 1-9 of 9 comments
Per page: 1530 50

Date Posted: Jun 3, 2021 @ 12:14pm
Posts: 9