Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preliminary support for Factorio #3264

Closed
wants to merge 1 commit into from

Conversation

HebaruSan
Copy link
Member

@HebaruSan HebaruSan commented Jan 13, 2021

Motivation

In #3223 we tried to separate KSP1-specific logic from generic core logic in preparation for KSP2, see #2863.

However, just having tried to make those changes doesn't exercise the code robustly the way that an actual additional game would. The more bugs we find before KSP2 comes out, the better.

Background

This PR builds upon the fixes in #3308.

The CFAN project is a fork of CKAN that was customized for Factorio. It was started quite a long time ago, and it was last updated around the time TLS1.2 became mandatory on GitHub (early 2018).

CFAN unfortunately defined its own .cfan file format rather than using .ckan, but it kind of makes sense because Factorio itself defines a fairly robust core mod metadata format that all its mods apparently use, so CFAN piggybacked on that and added some of its own fields.

Changes

  • Now the elements of CFAN that are specific to Factorio are added to a new Core/Games/Factorio.cs class, which is added to the list of known games. This means if you click to add a game instance to CKAN, a Factorio folder can now be selected and will work. We use CFAN's metadata repository to populate Factorio instances.
  • The repo update code now scans for .cfan files and translates them to CkanModule format.

No changes are made to Netkan yet.

@HebaruSan HebaruSan added Enhancement New features or functionality Core (ckan.dll) Issues affecting the core part of CKAN Pull request labels Jan 13, 2021
@HebaruSan
Copy link
Member Author

@trakos, is it correct that CFAN's metadata is no longer being updated? The compatible game versions look outdated by a few releases.

@trakos
Copy link

trakos commented Jan 15, 2021

@HebaruSan yes, it's true, there were some changes in factorio's mod portal APIs and netfan updates stopped working. Since no-one reported it, I've assumed users moved on to using game's built-in mod installation (it improved in the meantime).

Anyway, I could probably get it fixed if you want to test ckan's multi-game capability on it.

@trakos
Copy link

trakos commented Jan 18, 2021

I fixed a couple things in netfan, it's non-empty now, though there are still some things lacking for now.

Core/Games/Factorio.cs Outdated Show resolved Hide resolved
@HebaruSan

This comment has been minimized.

@DasSkelett
Copy link
Member

The first commit looks pretty good. Got a bit caught up in all the other stuff.
I'll give it one last test run, then you can merge that commit in separately, if you want without extra PR.

@HebaruSan

This comment has been minimized.

@HebaruSan HebaruSan mentioned this pull request Mar 5, 2021
@HebaruSan HebaruSan force-pushed the feature/factorio branch 2 times, most recently from 1fe9dd5 to ff95f28 Compare March 5, 2021 22:55
@HebaruSan
Copy link
Member Author

Let's not do this. KSP 2 will be out soon anyway.

@HebaruSan HebaruSan closed this Feb 18, 2023
@HebaruSan HebaruSan deleted the feature/factorio branch February 18, 2023 22:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Core (ckan.dll) Issues affecting the core part of CKAN Enhancement New features or functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants