6

I know that if you just run the install with the game present Steam does all the work for you. But before Steam even attempts to install/detect a game, it will first check if you have enough of free room on the storage device you're trying to install the game to.

Now check this scenario. You install Middle Earth: SoW on your 256GB SSD. It's a large game, full install takes up over 152GB. Now, Steam gets screwed in some way and no longer detects your game as installed.

However, since the game takes over half of the size of the SSD, I cannot make room to have enough room to install it twice, not to mentioned I barely managed to make enough space to install it once.

One method I'm thinking of is to move the game to another drive (if you own one) and then start the download again. Then you shut down Steam, move the game back and resume the download, and Steam HOPEFULLY recognizes the game and everything is great again, except you lost four hours moving 150GB around like an idiot.

I'm looking for a different method; Steam must have the list of installed games stored somewhere. In which file does something like that reside, and how do I edit it?

  • 4
    Honestly I think your best bet is to manually delete the installation of the game and re-install it from steam. If steam is no longer recognizing your installation of the game, it's likely there is something wrong with the installation. – onewho Aug 23 '18 at 21:01
  • If the game runs without any issues but steam does not recognize that the game is downloaded this leads me to believe that the game files have been moved from their original installation location, is this the case? Can you better explain what actions occurred that lead steam to no longer recognize the installation? – onewho Aug 23 '18 at 21:07
  • I appologize for the language. The stupid game crashed and then suddenly disappear from Steam. I'm pretty sure 150GB of data wasn't moved without me noticing. All the relevant .vcf files seem to be where they have to be. – Karlovsky120 Aug 23 '18 at 21:11
  • @Karlovsky120 are you SURE the relevant vcf file is there? I was working on a solution involving that file, but now I'm not sure if that might work. Is there an appmanifest_#.vcf file present? – Nzall Aug 23 '18 at 21:25
  • actually, sorry, my solution didn't work when I tested it locally. – Nzall Aug 23 '18 at 21:38
3

TLDR; create or modify your current game's appmanifest file (in your case appmanifest_356190.acf) in your Steam\steamapps folder, and adjust the following values:

  • StateFlags to 1026,
  • LastUpdated to 0,
  • UpdateResult to 4,
  • SizeOnDisk to 0,
  • buildid to 0,
  • LastOwner to <identical value>,
  • BytesToDownload to 0, and
  • BytesDownloaded to 0.
  • Remove the values from the InstalledDepots and MountedDepots section.

This worked for me after testing out a similar scenario. I'm not sure what values are strictly necessary to change.

Below is the route I took to arrive to this conclusion.


I simulated your problem.
On one of my disks I had little space left, so I started downloading a game that was at least half that size, paused it after a few seconds, and quit Steam.

I checked to see what files were modified/created based on the game's Steam ID, and found (unsurprisingly) the appmanifest_.acf file (in the Steam\steamapps folder), which contains integers that tell Steam what game has what status and can be found where (the same file user l3l_aze refers to in their answer).
Nothing revolutionary.

I then tried a few scenarios:

  • I (copy-pasted and) deleted that .acf file, to see how Steam would react, and to duplicate your situation. I opened up Steam again, but it (logically) didn't recognize the game having been partially downloaded.

  • Starting the download again (by clicking 'Install' in the Steam Library) I got the same "You do not have enough disk space" warning (it would actually have continued where it had left off, recognizing the files in the download folder, when I tried it with a smaller game).

  • I quit Steam again, grabbed an .acf file of a game I knew had successfully finished, and renamed it to appmanifest_.acf to correspond with the game I was trying to install (so '356190' in the case of Middle Earth: Shadow of War). I removed the values for LastUpdated, SizeOnDisk and BytesToDownload, and restarted Steam.
    I could click the 'Update' button to continue the download, but it simply wouldn't download anything.

  • Then I tried to "Verify the integrity of the game files", but it didn't work. This process probably needs info from the appmanifest as well.

  • I deleted the value of BytesToDownload again, looked up the size of the game in the download folder, and pasted both in the right places (without the commas). It did show the new size, but still no dice - the download was stuck at 0%.

  • The "Clear download cache" after renaming the download folder (to keep the files it had already downloaded) didn't help.

  • Just emptying the appmanifest file doesn't work: I figured the appmanifest might repopulate itself with the right values, but it doesn't.

  • I then started downloading another file, pausing it, and copying the values in that game's appmanifest to our game's appmanifest (the following values were changed: StateFlags to 1026 (flagging it as 'Update required but already started'1), LastUpdated to 0, UpdateResult to 4, SizeOnDisk to 0, buildid to 0, LastOwner to <identical value>, BytesToDownload to 0, and BytesDownloaded to 0. I also removed the values from the InstalledDepots and MountedDepots section, and kept the two identical integers, 228980 in the SharedDepots section (this is likely the code for a DirectX or Visual Basic redistributable2, so probably not important for this purpose).
    This did the trick: after restarting Steam the game continued downloading whence it left off.
    (This could be slightly dependent on what games you copy values from and to, though.)


1. https://www.reddit.com/r/Steam/comments/4x3il8/deployments_and_steam/
2. https://crosscode.gamepedia.com/Steam_depots

| improve this answer | |
  • Similar to l3l_aze's answer, but the files don't need to be moved anywhere. – Joachim Jan 30 at 21:33
  • 1
    I hate that this still hasn't been fixed by valve, after several years. And it's such a stupid, yet infuriating, bug. – Karlovsky120 Feb 1 at 22:23
1

Steam does not seem to actually keep a list of what's installed, although that is stored in part of the configuration data. Instead it loads the appmanifest_#.acf files from all of the Steam Library Folders that it knows about on startup (the default + any that are in the libraryfolders.vdf file in the default steamapps folder). Each of these includes a name, the game's state (installed & playable, needs update, etc), and some more specific to that game.

These appmanifest files are a part of Steam's configuration data, and when Steam is not properly shut down including from crashing it can corrupt/destroy parts of the config data including entire files.

It has been possible in the past to create a partial appmanifest & have Steam fill in the blanks, but this may not work any more; I haven't tried in a long time and IDK if anyone else has. If you would like to try it will require copying the game to your separate drive, or at least moving the existing data out of the steamapps folder you'll be using, because this is an experimental technique and can destroy existing installation data.

Here is a method I posted in a Reddit comment around a year ago, with a slight edit (changing BytesToDownload to 0):

  • Move the game install data out of the steamapps folder if you haven't already, such as to your desktop.

  • Then in Steam right click the game and "Delete Local Content" to make sure there's nothing left of it in that location, and then start the installation and pause it ASAP.

  • Now go into the Steam\steamapps folder where you started the download and grab the appmanifest file. Make sure it has the value of "BytesToDownload" set to something other than 0 though; otherwise it's useless. Copy the manifest out, and then in Steam right click->Delete Local Content for the app.

  • Move or copy the appmanifest file into the steamapps folder of the Steam Library Folder where you do want the game installed, and move or copy the game install data into the steamapps\common folder of it.

  • Open the appmanifest file in a text editor and copy the value from "BytesToDownload" and paste it into the value of "BytesDownloaded" (value goes between the double quotation marks, e.g. "value"), and set "BytesToDownload" to 0, and ensure that the StateFlags value is set to 1026, and then save the file.

  • Back in Steam start the install again, but this time make sure it's pointing to the Steam Library Folder where you have moved the game install data & the manifest to before you let it "start the download". It should quickly change to "Discovering Existing Files", meaning it's verifying the game install data.

Note: You may need to close the client between deleting the appmanifest after starting the new download & putting it into it's place.

I would test, but I'm waiting for Steam Support to get back to me about an issue that was crashing my computer which seemed to be caused by the Steam client, and will not launch it again until I get reassurance that it's been fixed or was not the issue. Currently day 2, not including the report I made to the beta discussions which was ignored.

Edit: NVM, it was just my machine dying apparently. Good times =<

Another edit: Leaving BytesToDownload alone may actually help make this work if it does not work when changing that value. Just an afterthought, still haven't been able to test.

| improve this answer | |
  • 1
    I know how to fix it like that, but I wanted a method which can be used you have one full drive and that's it. You can't move the files anywhere. – Karlovsky120 Aug 25 '18 at 1:05
  • 2
    It's stupid really, Valve should have caught and fixed it years ago. – Karlovsky120 Aug 25 '18 at 1:06
  • @Karlovsky120 agree with that. Even uplay, which I hate, has a 'detect installed game' button. – Hellreaver Jul 26 '19 at 7:16
  • Yeah, it seems like it would be a simple fix to download the appmanifest, then try to discover files, and then finally allocate space for a new install. Hopefully they'll do something about this QoL issue, but it has already been years. – l3l_aze Aug 23 '19 at 13:52
  • Well the thing is steam used to have this before , i even remember people used repacks with much less download size (and high compressions) to install their games, namely corepack and fitgirl repacks , since steam would verify the edited files and would repair them , but like every thing else , instead of improving it , they removed it!! the only thing that is improving in steam is the UI , i used this option a couple of times , and it did not work , made a lot of changes to the manifest but none of them worked , so far the best guaranteed way to fix this is using steam backups of the game – Hitman2847 Dec 30 '19 at 20:09
0

I've looked up your issue on steam support.

Since you do not have enough space to allow the installation process to locate the game, your 2nd option is to try getting steam to recognize the installation by having it check it's library folder (instructions below). If it still doesn't recognize the game you can try moving the game to a new location and then try to get steam to recognize it from there:

Add previously existing alternate installation libraries/folders to Steam If you had previously installed the games to an alternate location outside of your main Steam folder please try the following:

Launch Steam and go to Steam > Settings > Downloads and click the Steam Library Folders button. This will open a window with all your current Steam Library folders. Click the "Add Library Folder" button and select the folder with your installed games. Once you have added the new Library folder your installed games should appear in your Steam Library.

If that does not work, then your final option is to delete the installed files and do a fresh installation. I don't think you have any other options.

Edit: There might be a third option: You could try deleting some of the game files. Just enough to give you enough free memory to initiate the installation process. This should allow steam to locate the game, and then run a repair on game files to reinstall any files that where deleted. This method does run some risk however, it is possible to corrupt the installation, in which case, you'll have to do a fresh install.

| improve this answer | |
  • 1
    This won't work if the folder already exists in Steam, which might be the case here. – Nzall Aug 23 '18 at 21:30
  • Regarding edit, the game is 152GB, I have 6GB free. I have a spare HDD with enough space to probably solve it. But that won't help the next poor sob who stumbles upon this question and has his whole PC running on a single 256GB SSD. – Karlovsky120 Aug 23 '18 at 21:32
  • 1
    Not sure if you read the actual question. – Hellreaver Jul 26 '19 at 7:16

Not the answer you're looking for? Browse other questions tagged or ask your own question.