Nexus-Mods / Nexus-Mod-Manager

GNU General Public License v2.0
967 stars 164 forks source link

NMM not updating download ID's for FO4 mods #745

Open JmsEllis opened 5 years ago

JmsEllis commented 5 years ago

I was able to bypass the issue where NMM will crash when attempting to add a Mod from a file by manually moving the mods from my download location into the NMM Mods directory, however when utilizing the Fix Download ID's function the download ID's are not being updated.

The mods show in the mod list. The Fix Download ID's function does appear to be finding the correct mod information from the Nexus since it is updating the mod author, version, and endorsement status correctly. It is not updating the Mod Name, Category, or the Download ID.

Environment

To Reproduce Manually move a Mod archive file into the directory NMM looks at for mod installs > Open NMM > Observe the Mod shows in the list of Mods and is inactive. > Click Fix Download ID's button > Observe Process completes and may update Mod Author information, Version Information, and Endorsement status, but does not update Download ID, Category, or Mod Name in the list.

DuskDweller commented 5 years ago

0.70.3 should fix this issue.

JmsEllis commented 5 years ago

Issue persists after 0.70.3 installed. Mods are still not updating the Download ID's. 100% failure rate on 416 mods. Though it does appear to be updating the mod name and category on those that it is able to identify, however it has successfully identified only 73 mods (17.5% success rate) which is significantly lower than previous versions of NMM which successfully identified closer to 90%

squid-box commented 5 years ago

Ok, so that could be a problem with the new API, since it doesn't have the exact same functions as the previous one.

There used to be calls to search for mods by author and by name, but the only thing close to that now is to search by MD5 checksum on a file.

I'll try to look into what's happening.

Could you link me to a mod where this is still happening?

JmsEllis commented 5 years ago

Examples:

Armorsmith Extended: https://www.nexusmods.com/fallout4/mods/2228 This mod does appear to have been matched (Endorsement is accurate, Mod Name and category were automatically updated by NMM) but does not show a Download ID nor does it provide a hyperlink to the mod page from the version number.

Looksmenu: https://www.nexusmods.com/fallout4/mods/12631 This mod was not matched. Mod name is still the default file name, endorsement is not accurate, and no information appears to have been updated from the Nexus.

JmsEllis commented 5 years ago

This issue appears to only exist when loading a mod manually via a local file rather than loading from URL.

squid-box commented 5 years ago

Alright, this is a little problematic. I can see why LooksMenu is not matched. The way NMM tries to figure out which mod it is is by parsing the filename. Mod files from Nexus are typically on the format <name>-<mod id>-<version>-<file id>, but LooksMenu has gone and put its version format as v1-6-14 effectively messing that up (meaning the mod ID gets parsed as 6, instead of 12631).

I've made a tweak which gets NMM closer to recognizing the Armorsmith Extended mod, and the fix in #780 will make sure the link is properly set.