It's partially a bugreport, but primarily the request.
TLDR: Make all vanilla filenames with the same mask, replace all uppercase letters with lowercase letters, don't use underscores, but dashes.
Situation: I've got the message that my mod doesn't work by the Linux system, however it was no error on my Windows.
The problem was that after a lot of copypasting I've write in the prototype this filename:
See the problem? In this case the vanilla has "North", but not "north". This filename that was actually needed:data.raw["offshore-pump"]["offshore-pump"].graphics_set.animation.north.layers[1].filename =
"__base__/graphics/entity/offshore-pump/offshore-pump_north.png"
Another prototypes have another filename mask:data.raw["offshore-pump"]["offshore-pump"].graphics_set.animation.north.layers[1].filename =
"__base__/graphics/entity/offshore-pump/offshore-pump_North.png"
data.raw["assembling-machine"]["chemical-plant"].working_visualisations[2].north_animation.filename =
"__base__/graphics/entity/chemical-plant/chemical-plant-foam-north.png"
No underscores, no capital letters, no problem with Linux-based machines.data.raw["assembling-machine"]["assembling-machine-2"].fluid_boxes[1].pipe_covers.north.layers[1].filename =
"__base__/graphics/entity/pipe-covers/pipe-cover-north.png"
Maybe the same for numbers, if your first counting index is "1", don't start another counting with "0" or "01", please leave the same pattern as by another prototypes.