FactorioMods.com an open source web app to host mods!
Posted: Fri Jul 17, 2015 10:40 pm
Factorio Mods
Hello everyone! Last year I started working on a web app to host Factorio mods. I neglected it a little during the summer, and stopped working on it after college started! Now it's winter break (south hemisphere!) and I decided to git it the final touches for a decent launch!
Source code
The source is hosted on Github the app is made on Ruby on Rails and hosted on the Heroku free tier.
I think that in combination with the Factorio Mod Manager, by narrowtux which is also open source, now we have a pretty good combination to install mods!
How did you get the mods to the database?
The mods were all scraped from the forum (it's still missing some big mods though), and categorized manually (I'll ask for help establishing good intuitive categories later), and I only added the versions for 0.11.x, because time. At the moment there are 188 categorized and searchable mods in the database. When you open a mod on the app, there is actually an additional frame with the forum post, this turned out to be really useful since it usually has detailed instructions and you can make comments.
Where is the hosting?
To host the mods files I used a combination of hotlinking if the mod was hosted in the forum, and putting a mirror for an Amazon S3 bucket, because I'm scared of what the bill might look like. Ideally, all the mods would be hosted on Github, and use the Github release system to create downloadable zip files.
Also, the pictures are hosted by Imgur, because they're awesome, right?
I want to coordinate with the Factorio Mod Manager to register a protocol like `factoriomods://` with an URL of the mod download, so the mod manager can just pick it up and install it.
How to submit mods
For now the submission is not totally public, since I still feel I need to strengthen the system. However, since most mods were scrapped from the forum. If your mod it's in there and you want to manage it, or delete it, or add a new one, just PM me and I'll associate your account with the mods and mark you as a dev so you can also add new mods.
I'm surprised that less than 10% of the mods were hosted on Github. Github is awesome, and allows you to see the source online, fork the code, report bugs, discuss features, etc. And specially useful, host releases, which is nice for those 50mb mods.
I'm 100% open to suggestions and you can fork the project or create issues.
Features upcoming/planned/thinked:
- Multiple authors associated with mods. Because I noticed some mods were made by multiple people, and for some reason I didn't think about it.
- Authors page with a list of the mods.
- Bookmarking mods, and single-click-downloading multiple mods in your bookmarks page.
- Dependencies. Some mods have dependencies on the `info.json`. I would like to automatically establish dependencies between mods based on that file.
- Modpacks. Similarly of how bookmarks would work, I would like to be able to create modpacks with a list of different mods with specific versions.
- Github integration. I would like for devs to be able to link the Github project with the mod, so after they release it on Github it automatically updates on the webapp. It could also pick up the README from Github and add a description.
- Allow mods to be switched from "use forum iframe/use hand crafted description/use both". With the Github integration, updating the description would only be a `push` away.
- Some devs use AdFly links to link to their downloads. Maybe I could add an option that pops up the first time the user tries to download a mod, asking them if they want to activate "devs support links" or something.
And now, if you allow me, *I'm gonna go try 0.12.*
Hello everyone! Last year I started working on a web app to host Factorio mods. I neglected it a little during the summer, and stopped working on it after college started! Now it's winter break (south hemisphere!) and I decided to git it the final touches for a decent launch!
Source code
The source is hosted on Github the app is made on Ruby on Rails and hosted on the Heroku free tier.
I think that in combination with the Factorio Mod Manager, by narrowtux which is also open source, now we have a pretty good combination to install mods!
How did you get the mods to the database?
The mods were all scraped from the forum (it's still missing some big mods though), and categorized manually (I'll ask for help establishing good intuitive categories later), and I only added the versions for 0.11.x, because time. At the moment there are 188 categorized and searchable mods in the database. When you open a mod on the app, there is actually an additional frame with the forum post, this turned out to be really useful since it usually has detailed instructions and you can make comments.
Where is the hosting?
To host the mods files I used a combination of hotlinking if the mod was hosted in the forum, and putting a mirror for an Amazon S3 bucket, because I'm scared of what the bill might look like. Ideally, all the mods would be hosted on Github, and use the Github release system to create downloadable zip files.
Also, the pictures are hosted by Imgur, because they're awesome, right?
I want to coordinate with the Factorio Mod Manager to register a protocol like `factoriomods://` with an URL of the mod download, so the mod manager can just pick it up and install it.
How to submit mods
For now the submission is not totally public, since I still feel I need to strengthen the system. However, since most mods were scrapped from the forum. If your mod it's in there and you want to manage it, or delete it, or add a new one, just PM me and I'll associate your account with the mods and mark you as a dev so you can also add new mods.
I'm surprised that less than 10% of the mods were hosted on Github. Github is awesome, and allows you to see the source online, fork the code, report bugs, discuss features, etc. And specially useful, host releases, which is nice for those 50mb mods.
I'm 100% open to suggestions and you can fork the project or create issues.
Features upcoming/planned/thinked:
- Multiple authors associated with mods. Because I noticed some mods were made by multiple people, and for some reason I didn't think about it.
- Authors page with a list of the mods.
- Bookmarking mods, and single-click-downloading multiple mods in your bookmarks page.
- Dependencies. Some mods have dependencies on the `info.json`. I would like to automatically establish dependencies between mods based on that file.
- Modpacks. Similarly of how bookmarks would work, I would like to be able to create modpacks with a list of different mods with specific versions.
- Github integration. I would like for devs to be able to link the Github project with the mod, so after they release it on Github it automatically updates on the webapp. It could also pick up the README from Github and add a description.
- Allow mods to be switched from "use forum iframe/use hand crafted description/use both". With the Github integration, updating the description would only be a `push` away.
- Some devs use AdFly links to link to their downloads. Maybe I could add an option that pops up the first time the user tries to download a mod, asking them if they want to activate "devs support links" or something.
And now, if you allow me, *I'm gonna go try 0.12.*