Info.json not found. (code: 500)

A place to talk about the official Factorio mod portal (https://mods.factorio.com)
Avacado
Long Handed Inserter
Long Handed Inserter
Posts: 94
Joined: Fri Jul 22, 2016 3:17 pm
Contact:

Info.json not found. (code: 500)

Post by Avacado »

For some reason when I try to upload the zip version made by a powershell script (using Compress-Archive), I get this info.json not found. If I then manually zip the files using 7zip, it works fine.

Just trying to use

Compress-Archive -Force -CompressionLevel Fastest -Path $ReleaseName -DestinationPath "$ReleaseName.zip"

Attached is the file it won't let me upload. As you can see the info.json is right where it is supposed to be, so I'm not sure what is triggering the error.
Attachments
WhistleStopFactories_0.0.2.zip
(61.92 KiB) Downloaded 98 times
quyxkh
Smart Inserter
Smart Inserter
Posts: 1031
Joined: Sun May 08, 2016 9:01 am
Contact:

Re: Info.json not found. (code: 500)

Post by quyxkh »

The file names are corrupt, what looks like the toplevel directory isn't a directory, it's a 'WhistleStopFactories_0.0.2\' prefix on every path.
Avacado
Long Handed Inserter
Long Handed Inserter
Posts: 94
Joined: Fri Jul 22, 2016 3:17 pm
Contact:

Re: Info.json not found. (code: 500)

Post by Avacado »

I was thinking it might be some sort of corruption or different formatting that breaks the website. Clearly there must be something different about the zip that worked and the zip that doesn't that otherwise appear to hold the same content.

What are you using to view it in? Both in windows explorer and in 7zip the zip file looks fine and I'm seeing a normal WhistleStopFactories_0.0.2 as the top level directory. I guess I'm a little surprised that a tool at the core of windows would make such a strange formatting error... but I'm not seeing any errors as you're describing them. Any ideas on how to make powershell create a zip in a format that the mod portal will recognize?
quyxkh
Smart Inserter
Smart Inserter
Posts: 1031
Joined: Sun May 08, 2016 9:01 am
Contact:

Re: Info.json not found. (code: 500)

Post by quyxkh »

in 7zip the zip file looks fine
It doesn't on my 7zip.

Code: Select all

[quyxkh@gadabout tmp.W5ySacxtJH]$ 7z l ~/.factorio/mods/upgrade-planner_1.5.3.zip

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz (306A9),ASM,AES-NI)

Scanning the drive for archives:
1 file, 17946 bytes (18 KiB)

Listing archive: /home/quyxkh/.factorio/mods/upgrade-planner_1.5.3.zip

--
Path = /home/quyxkh/.factorio/mods/upgrade-planner_1.5.3.zip
Type = zip
Physical Size = 17946

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2018-03-30 14:01:59 D....            0            0  upgrade-planner_1.5.3
2017-05-02 08:25:12 ....A         4498         4498  upgrade-planner_1.5.3/builder-tech.png
2017-05-02 08:25:12 ....A         2724         2724  upgrade-planner_1.5.3/builder.png
2018-03-30 13:59:48 ....A        44154         7901  upgrade-planner_1.5.3/control.lua
2017-12-09 10:16:17 ....A          883          357  upgrade-planner_1.5.3/data.lua
2018-03-30 14:00:47 ....A          332          215  upgrade-planner_1.5.3/info.json
2017-09-10 07:29:57 D....            0            0  upgrade-planner_1.5.3/locale
2017-09-10 07:29:57 D....            0            0  upgrade-planner_1.5.3/locale/en
2018-01-07 08:34:10 ....A         1646          647  upgrade-planner_1.5.3/locale/en/all.cfg
------------------- ----- ------------ ------------  ------------------------
2018-03-30 14:01:59              54237        16342  6 files, 3 folders
[quyxkh@gadabout tmp.W5ySacxtJH]$ 7z l `mr ~/down`

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz (306A9),ASM,AES-NI)

Scanning the drive for archives:
1 file, 63406 bytes (62 KiB)

Listing archive: /home/quyxkh/down/WhistleStopFactories_0.0.2.zip

--
Path = /home/quyxkh/down/WhistleStopFactories_0.0.2.zip
Type = zip
Physical Size = 63406

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2018-06-26 21:50:24 D....            0            0  WhistleStopFactories_0.0.2\graphics\
2018-06-26 21:50:24 D....            0            0  WhistleStopFactories_0.0.2\locale\
2018-06-26 20:59:28 .....          657          286  WhistleStopFactories_0.0.2\changelog.txt
2018-06-26 21:50:24 .....         2684         1091  WhistleStopFactories_0.0.2\control.lua
2018-06-26 19:29:22 .....          530          257  WhistleStopFactories_0.0.2\data-final-fixes.lua
2018-06-24 19:58:28 .....          942          318  WhistleStopFactories_0.0.2\data.lua
2018-06-26 21:50:24 .....          502          279  WhistleStopFactories_0.0.2\info.json
2018-06-24 21:37:46 .....          217          126  WhistleStopFactories_0.0.2\settings.lua
2018-06-21 20:04:56 .....        17130         4035  WhistleStopFactories_0.0.2\graphics\icons\big-assembly.png
2018-06-21 20:04:56 .....        17397         4317  WhistleStopFactories_0.0.2\graphics\icons\big-furnace.png
2018-06-21 20:04:56 .....         6561         6566  WhistleStopFactories_0.0.2\graphics\item-group\fluids.png
2018-06-21 20:04:56 .....         6365         6370  WhistleStopFactories_0.0.2\graphics\item-group\intermediate-products.png
2018-06-21 20:04:56 .....         9847         9852  WhistleStopFactories_0.0.2\graphics\item-group\logistics.png
2018-06-21 20:04:56 .....         5586         5591  WhistleStopFactories_0.0.2\graphics\item-group\military.png
2018-06-21 20:04:56 .....         6999         7004  WhistleStopFactories_0.0.2\graphics\item-group\production.png
2018-06-21 20:04:56 .....         7271         7276  WhistleStopFactories_0.0.2\graphics\item-group\signals.png
2018-06-21 21:20:24 .....          585          273  WhistleStopFactories_0.0.2\locale\en\locale.cfg
2018-06-24 20:51:04 .....         1900          789  WhistleStopFactories_0.0.2\prototypes\bigassembly.lua
2018-06-26 16:29:48 .....         1861          753  WhistleStopFactories_0.0.2\prototypes\bigfurnace.lua
2018-06-24 21:42:54 .....         2303          678  WhistleStopFactories_0.0.2\scripts\controlSpawnEvent.lua
2018-06-26 14:53:52 .....         1190          340  WhistleStopFactories_0.0.2\scripts\itemGroupSetup.lua
2018-06-26 14:53:52 .....          548          272  WhistleStopFactories_0.0.2\scripts\luaMacros.lua
2018-06-26 19:29:22 .....         3971         1286  WhistleStopFactories_0.0.2\scripts\recipeSetup.lua
2018-06-26 15:57:42 .....         1958          776  WhistleStopFactories_0.0.2\scripts\spawnFactory.lua
2018-06-26 14:53:52 .....          994          459  WhistleStopFactories_0.0.2\scripts\techSetup.lua
------------------- ----- ------------ ------------  ------------------------
2018-06-26 21:50:24              97998        58994  23 files, 2 folders
[quyxkh@gadabout tmp.W5ySacxtJH]$
See the difference? The properly-constructed zip has directory entries for the directories and proper pathname separators. Yours doesn't manage to get half the directory entries right, and the pathname separators are wrong for the format But even if it had gotten the separators right I'd expect the missing directory entries to make the unzip fail on systems where they didn't already exist -- and the entry for the toplevel directory is missing.
Avacado
Long Handed Inserter
Long Handed Inserter
Posts: 94
Joined: Fri Jul 22, 2016 3:17 pm
Contact:

Re: Info.json not found. (code: 500)

Post by Avacado »

Sort of, but not really. It just appears to me that my zip uses windows style pathname separators while yours uses linux style path separators, so all that really tells me is that the one I created is retaining something about the system that created it.

You should also note that factorio loads the zip I posted just fine, so it does really seem like a bug in the mod portal to me. Though, IF the linux version of factorio can't load the mod I zipped, then it would make sense to reject it, since it would be a mod that can only be run on windows systems and that would be bad.

Can I ask you two more favors?
  • Could you check if your linux factorio version can load the original zip I sent? If both windows and linux can load the mod I originally uploaded, I don't see any reason it should be rejected.
  • Could you also do a "7z l" on this other zip that I've attached? This is the one I manually created in 7zip that the mod portal accepted. I'm interested to see if it also has windows style pathnames even though you're on a linux system.
Thanks
Attachments
WhistleStopFactories_0.0.2.zip
Version accepted by the mod portal
(63 KiB) Downloaded 101 times
quyxkh
Smart Inserter
Smart Inserter
Posts: 1031
Joined: Sun May 08, 2016 9:01 am
Contact:

Re: Info.json not found. (code: 500)

Post by quyxkh »

The one you made with a real tool looks right:
7zip-created zip file
my zip uses windows style pathname separators
That's the wrong separator for the zip format. Just slinging strings at whatever filesystem api you might happen to have might happen to work, just as running stop signs and crossing streets without looking also might happen to work.

Factorio doesn't recognize your malformed zip as a mod:

Code: Select all

0.667 Error ModManager.cpp:677: Mod package read error. File /home/quyxkh/.factorio/mods/WhistleStopFactories_0.0.2.zip/info.json not found                                                                                                
Avacado
Long Handed Inserter
Long Handed Inserter
Posts: 94
Joined: Fri Jul 22, 2016 3:17 pm
Contact:

Re: Info.json not found. (code: 500)

Post by Avacado »

Thanks quyxkh.

In case anyone stumbles upon this, my workaround was to just call 7z.exe in my deploy script instead of trying to use powershell's compress-archive. The options on compress-archive are pretty limited, so didn't really appear like that tool has the flexibility to fix this issue.
Post Reply

Return to “Mod portal Discussion”