Hello,
In terms of mod storage / distribution, have you considered using a public repository such as NPM or NuGet ? Sure these are designed for code artifacts, but there's no reason why you couldn't push Factorio mods up into one of these with appropriate tags. This has a few advantages:
1) No need to worry about where they are hosted, no more forum attachment links etc.
2) Versioned releases.
3) Dependencies are automatically handled.
4) Servers can publish a "packages.json' file which includes all required mods. Versions can be locked down with: https://www.npmjs.com/package/lockdown
5) Updates can be handled easily on the client.
6) Package signing will likely be implemented in the future for NPM.
7) Both allow installation scripts.
8) Allows global scripts, E.g. Creation of a mod template or publishing a mod to FactorioMods.com.
9) Can use a CI server to automatically build / publish your mod from Github.
You'd still want a mod manager / URI handler to improve the user experience of mod selection etc, but you'd leverage the work that has already been done by these repositories.
FactorioMods.com an open source web app to host mods!
Re: FactorioMods.com an open source web app to host mods!
I've just had confirmation from NPM that using their service to publish mods would be acceptable.
Re: FactorioMods.com an open source web app to host mods!
I think you should (if you haven't yet) check how the KerbalSpaceProgram launcher does it - I'm talking about CKAN of course !
I just love the way it shows and incorporates the dependencies
I also prefer their forum system more than ours - the links open in a new tab/pop up and pictures are resized to fully fit in the page if needed...
I just love the way it shows and incorporates the dependencies
I also prefer their forum system more than ours - the links open in a new tab/pop up and pictures are resized to fully fit in the page if needed...
Re: FactorioMods.com an open source web app to host mods!
I've been working on a server control panel as part of my docker container server strategy and I'm really digging on the NPM idea conceptually as it would help me with a roadblock. However, relying on the node ecosystem can quickly get ugly (come on, that community lost their shit over a pronoun change, people lost their jobs over it) and it introduces dependencies that I really don't care for not to mention some namespacing things that would not be super. I think it's also super elegant that mods are zip files, in some ways, I think NPM itself might be a step backwards.
If info.json included a key and value for a git repo, not only could servers and clients resolve dependencies with git, but factoriomods.com could include a badge that lets one know if the dependency tree is even resolvable.
I thought CI was a stretch, but with my server container image and a resolvable dependency system, one could pretty quickly boot a headless instance and actually have something resembling a CI/CD system that can test whether or not a mod will blow up a server or not. From there, it's pretty trivial to create Docker images that include a dependency set of mods and one could have a one click button from factoriomods.com to launch a server with a particular mod set.
To heck with it, I'll personally foot the bill for CI if there's a publicly resolvable dep system.
If info.json included a key and value for a git repo, not only could servers and clients resolve dependencies with git, but factoriomods.com could include a badge that lets one know if the dependency tree is even resolvable.
I thought CI was a stretch, but with my server container image and a resolvable dependency system, one could pretty quickly boot a headless instance and actually have something resembling a CI/CD system that can test whether or not a mod will blow up a server or not. From there, it's pretty trivial to create Docker images that include a dependency set of mods and one could have a one click button from factoriomods.com to launch a server with a particular mod set.
To heck with it, I'll personally foot the bill for CI if there's a publicly resolvable dep system.
Re: FactorioMods.com an open source web app to host mods!
When I mention NPM I mean any package management system. The main advantages being the versioning, single source (Or centralised location) of truth and the dependency resolution which would be especially useful for the mods which use the additional ore types. There are also caching benefits if you're running multiple servers on the same machine.
I appreciate your misgivings of the Node community over that pronoun change, but our usage of NPM would be quite distant from the rest of the Node community so the only dependency that I can think of that we'd need from them is the Node runtime. (Which is both cross platform and excellent to install even on Windows unlike a lot of "cross platform" software. There's also no need to warn users not to install the Ask toolbar like you do when using Java, for example.)
There's nothing stopping mod developers (And FactorioMods.com) from releasing mods as .zip files as well for those who don't want to download anything extra, in practice the package would just contain the contents of the .zip file. I'm not sure that it would be backwards from how things are now, can you elaborate on a specific issue regarding this ?
Like I say, any package management system could be used but there's a couple of reasons why I suggested NPM in particular:
1) We have permission from them to use it for this non-standard usage.
2) The Node runtime is cross platform and has a great installation, as mentioned above.
3) You gain the ability to write globally-installed scripts and tools which can be deployed as packages in a familiar language. (The scripts could be things like the protocol handler for mod download links, the tools such as server managers or mod UIs don't have to be written in Node.js for example if you want a UI.)
4) Package signing is on its way.
5) Dependencies just work, including when specific versions are required.
6) It's lightweight.
7) It's free.
I like the idea of CI for mod compatibility testing. I was planning on using Docker myself for servers so I'd be interested in seeing what you come up with. With Windows containers coming out soon this could also be done for Windows servers, as long as a Windows headless server is published.
I appreciate your misgivings of the Node community over that pronoun change, but our usage of NPM would be quite distant from the rest of the Node community so the only dependency that I can think of that we'd need from them is the Node runtime. (Which is both cross platform and excellent to install even on Windows unlike a lot of "cross platform" software. There's also no need to warn users not to install the Ask toolbar like you do when using Java, for example.)
There's nothing stopping mod developers (And FactorioMods.com) from releasing mods as .zip files as well for those who don't want to download anything extra, in practice the package would just contain the contents of the .zip file. I'm not sure that it would be backwards from how things are now, can you elaborate on a specific issue regarding this ?
Like I say, any package management system could be used but there's a couple of reasons why I suggested NPM in particular:
1) We have permission from them to use it for this non-standard usage.
2) The Node runtime is cross platform and has a great installation, as mentioned above.
3) You gain the ability to write globally-installed scripts and tools which can be deployed as packages in a familiar language. (The scripts could be things like the protocol handler for mod download links, the tools such as server managers or mod UIs don't have to be written in Node.js for example if you want a UI.)
4) Package signing is on its way.
5) Dependencies just work, including when specific versions are required.
6) It's lightweight.
7) It's free.
I like the idea of CI for mod compatibility testing. I was planning on using Docker myself for servers so I'd be interested in seeing what you come up with. With Windows containers coming out soon this could also be done for Windows servers, as long as a Windows headless server is published.
-
- Inserter
- Posts: 24
- Joined: Sat Nov 01, 2014 10:16 am
- Contact:
Re: FactorioMods.com an open source web app to host mods!
Hey, i just updated a few mods on your website that either didn't have the right version yet, or were not present at all. I hope that that is okay.
BTW: you should really add a way for other (trusted) people besides the modders themselves to add mods to your website in a way that it doesn't look like i am the person who is making these mods. I added all the original makers in the list of Additional contributors, but honestly it would be way better if there was an extra tab that said original (or person who took over) modder where you could fill that in.
BTW: you should really add a way for other (trusted) people besides the modders themselves to add mods to your website in a way that it doesn't look like i am the person who is making these mods. I added all the original makers in the list of Additional contributors, but honestly it would be way better if there was an extra tab that said original (or person who took over) modder where you could fill that in.
Re: FactorioMods.com an open source web app to host mods!
I think that site is just working by itself. It's seems to be abounded
Re: FactorioMods.com an open source web app to host mods!
Unstickied due to official mod portal.
Former moderator