Page 1 of 1
utility of factorio_version ?
Posted: Fri Aug 26, 2016 1:26 pm
by binbinhfr
I just wonder what was the utility of factorio_version in the JSON of a mod ?
Code: Select all
"factorio_version":"0.14",
"dependencies": ["base >= 0.14.0"]
the dependencies line seems enough, no ?
And why "dependencies": ["base >= 0.13.10"] does not accept factorio 0.14 ?
Some people stay in 0.13 while others test experimental and go to 0.14, so it is not easy to maintain 2 versions where only the JSON are differents...
Re: utility of factorio_version ?
Posted: Fri Aug 26, 2016 2:34 pm
by DedlySpyder
You don't have to have a dependency for the base mod. You could in theory make your own
Re: utility of factorio_version ?
Posted: Fri Aug 26, 2016 2:36 pm
by binbinhfr
DedlySpyder wrote:You don't have to have a dependency for the base mod. You could in theory make your own
unless my mod is not retro compatible with factorio version 0.M.(N-1)
Remember that not all players update to last factorio version, but try to update their mods anyway.
Re: utility of factorio_version ?
Posted: Fri Aug 26, 2016 3:02 pm
by Klonan
You don't need the dependencies line unless you actively require something from the base game.
The factorio_version field is a separate concept from the dependencies, and it used to allow the game to run when you update to the next major version.
If you were to update from 0.13 to 0.14, and there was no factorio_version field, any mod that has broke would crash the game on load, you would then have to delete each offending mod 1 by 1 until the game finally loads.
With the factorio version, all mods will be disabled, you can load the game, and look for any updates to mods.
This means it is a lot better for the end user, we don't get a ton of bug reports "My game is crashing" because a mod is outdated, and overall people will have more control over the way they update the game and mods
Re: utility of factorio_version ?
Posted: Fri Aug 26, 2016 3:28 pm
by binbinhfr
Klonan wrote:You don't need the dependencies line unless you actively require something from the base game.
Really ?
Because recently I had a problem.
Between two subversion, the API introduced a new useful function. I integrated it in my mod, but players that did not update to last factorio version (some players don't like to update to last version and are always late...), these players had problems with my updated mod that only works with teh very last factorio version. So, writing a base dependencies prevent these players to update to the last version of my mod. Is it correct ? So that's another use of this dependency line, no ? Solve problem of non-retro-compatibility.
Re: utility of factorio_version ?
Posted: Fri Aug 26, 2016 8:23 pm
by siggboy
Right now I have the problem that I can't play the game, because half of my mods now require 0.14 (those are binbin's mods, because he was quick with the busy work of updating the version tag), and the other half require 0.13, even though they'd probably all work fine in both versions.
And there is no "override" checkbox that simply loads the mods at my discretion.
The solution would be to manually download all the mods that have been auto-updated and then stay the hell away from the updater.
Or wait until everything is flagged for 0.14 and then update the game as well.
It's a lose-lose situation.
Oh, actually the auto-updater should probably be changed so that it doesn't even try to update to a version that requires 0.14 while I'm still running 0.13. My "0.13 Factorio" should not have installed those 0.14 mods in the first place.
Can we please get this checkbox (like in World of Warcraft), that skips the version check for all mods?
Re: utility of factorio_version ?
Posted: Fri Aug 26, 2016 8:36 pm
by Supercheese
binbinhfr wrote:Klonan wrote:You don't need the dependencies line unless you actively require something from the base game.
Really? Because recently I had a problem. Between two subversion, the API introduced a new useful function. I integrated it in my mod, but players that did not update to last factorio version (some players don't like to update to last version and are always late...), these players had problems with my updated mod that only works with teh very last factorio version. So, writing a base dependencies prevent these players to update to the last version of my mod. Is it correct ? So that's another use of this dependency line, no ? Solve problem of non-retro-compatibility.
Yes, I believe that is the use-case he was trying to convey. I, too, have needed the same thing for some of my mods.
Re: utility of factorio_version ?
Posted: Fri Aug 26, 2016 8:55 pm
by HanziQ
siggboy wrote:Right now I have the problem that I can't play the game, because half of my mods now require 0.14 (those are binbin's mods, because he was quick with the busy work of updating the version tag), and the other half require 0.13, even though they'd probably all work fine in both versions.
And there is no "override" checkbox that simply loads the mods at my discretion.
The solution would be to manually download all the mods that have been auto-updated and then stay the hell away from the updater.
Or wait until everything is flagged for 0.14 and then update the game as well.
It's a lose-lose situation.
Oh, actually the auto-updater should probably be changed so that it doesn't even try to update to a version that requires 0.14 while I'm still running 0.13. My "0.13 Factorio" should not have installed those 0.14 mods in the first place.
Can we please get this checkbox (like in World of Warcraft), that skips the version check for all mods?
The mod browser was built before factorio_version was added and I forgot to account for it, 13.19 has a workaround for mods from 0.14 being downloaded and I hope to work in a proper solution for 0.13.20.
Re: utility of factorio_version ?
Posted: Fri Aug 26, 2016 8:58 pm
by siggboy
HanziQ wrote:The mod browser was built before factorio_version was added and I forgot to account for it, 13.19 has a workaround for mods from 0.14 being downloaded and I hope to work in a proper solution for 0.13.20.
Sounds good, but it would be especially important to prevent the updater from updating to a 0.14 mod while you're still on 0.13.
Re: utility of factorio_version ?
Posted: Fri Aug 26, 2016 9:53 pm
by HanziQ
siggboy wrote:HanziQ wrote:The mod browser was built before factorio_version was added and I forgot to account for it, 13.19 has a workaround for mods from 0.14 being downloaded and I hope to work in a proper solution for 0.13.20.
Sounds good, but it would be especially important to prevent the updater from updating to a 0.14 mod while you're still on 0.13.
Well yeah, that's what I'm talking about...
Re: utility of factorio_version ?
Posted: Fri Aug 26, 2016 10:09 pm
by binbinhfr
siggboy wrote:Sounds good, but it would be especially important to prevent the updater from updating to a 0.14 mod while you're still on 0.13.
Shit, I thought that if you stay on 0.13, he won't propose to update mods in 0.14...
look here :
viewtopic.php?f=93&t=23297&p=199459#p199459
inevitable result : now people cannot play their current map neither under 0.13, neither under 0.14 because half of their mods are not updated to 0.14 or already do not work anymore under 0.13.
When they cant play at all, they switch to another game.
A solution must be urgently found, because players are rapidly getting upset by this kind of things. It's not acceptable, because all these mods basically works under 0.13 and 0.14... Only the JSON changes...
At least allow us to write something like "factorio_version":["0.13","0.14"] (if a modder adds 0.14, it means that the mod is still maintained)
Or do not allow the auto updater to update mods to 0.14 if factorio itself was not updated to 0.14...
Re: utility of factorio_version ?
Posted: Fri Aug 26, 2016 10:54 pm
by aubergine18
Isn't it just a case of making a new 0.14 release on the mod portal? layers with 0.13.x will get the 0.13 release of the mod, whilst players with 0.14 will get the 0.14 version of the mod?
Re: utility of factorio_version ?
Posted: Sat Aug 27, 2016 7:23 am
by binbinhfr
aubergine18 wrote:Isn't it just a case of making a new 0.14 release on the mod portal? layers with 0.13.x will get the 0.13 release of the mod, whilst players with 0.14 will get the 0.14 version of the mod?
Apparently it is not the case : 0.13 users are getting upgrade to 0.14 versions of mods and complain...
Re: utility of factorio_version ?
Posted: Sat Aug 27, 2016 7:37 am
by siggboy
binbinhfr wrote:now people cannot play their current map neither under 0.13, neither under 0.14 because half of their mods are not updated to 0.14 or already do not work anymore under 0.13.
When they cant play at all, they switch to another game.
A solution must be urgently found, because players are rapidly getting upset by this kind of things.
Yes, that's precisely what's happening.
This version tag implementation is half baked and not thought through. Refusing to add an "override" checkbox is very unwise under these circumstances.
Factorio should also change to "semantic versioning" as far as the modding API is concerned. Here's a good description of it:
http://semver.org/
Re: utility of factorio_version ?
Posted: Sat Aug 27, 2016 4:09 pm
by devilwarriors
So am I better to keep my mod on 0.13 for now or update to 0.14? seem indeed like a lose lose situation right now :\
I was keeping them to 0.13 for now since I assume that 0.14 users are more likely to know how to update the .json themself if they really need my mod, but reading these post it seem like it won't mater.
Re: utility of factorio_version ?
Posted: Sat Aug 27, 2016 6:47 pm
by siggboy
The auto-updater does not seem to grab any 0.14 mods any longer if you're on 0.13. So my advice would be to stay at 0.13 for the moment and wait for the dust to settle.