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

Default install_to to GameData/Mods for KSP2 #3861

Merged
merged 1 commit into from
Jul 21, 2023

Conversation

HebaruSan
Copy link
Member

Motivation

Currently all KSP2 mods install to BepInEx/plugins. However, once the official mod loader is completed, this is expected to change to GameData/Mods.

I was expecting to change this in a new client release when the official mod loader was released, but the modding ecosystem has already begun experimenting with using this path. See KSP-CKAN/KSP2-NetKAN#68 and KSP-CKAN/KSP2-NetKAN#70, and current versions of SpaceWarp supposedly already allow it, which means we are likely to see mods soon that require it to be installed properly.

Changes

  • Now GameData/Mods can be used in install_to for KSP2, including with subfolder paths
  • BepInEx/plugins can still be used for KSP2, but no longer with subfolder paths (no current mods use subfolder paths)
  • Now the value of install_to for the default KSP2 install stanza (the one used when the install property is not present) is GameData/Mods
  • The spec and schema are updated to reflect these changes

FYI to @KSP-CKAN/wranglers and @cheese3660.

Risks

  • The default can only be changed safely if it's not being used. Add install stanzas to KSP2 mods using the default KSP2-NetKAN#72 addressed this by ensuring that no KSP2 mods currently use the default install stanza.
  • The completed official mod loader may or may not actually use this path. If they decide to change it before release (e.g., if they correctly decide that GameData/Mods makes less sense than simply GameData), then we'll have to do this all over again with the new path.
  • Quantum and SpaceWarp are both attempting to make their support for this folder work the same as they expect the official loader to work, but it's still likely that there will be problems and incompatibilities down the line. Users will ask, why doesn't this (Quantum-compatible) mod work with the official loader, or SpaceWarp, etc.? We will probably have to point them to the announcement:

    The KSP2 modding scene is brand new and still quite volatile (much like the game itself), with major incompatible changes occurring without warning. You probably will have problems! Please be patient with mod authors and CKAN maintainers and understand what you're getting into.

@HebaruSan HebaruSan added Enhancement New features or functionality Easy This is easy to fix Core (ckan.dll) Issues affecting the core part of CKAN labels Jul 21, 2023
@HebaruSan HebaruSan requested a review from techman83 July 21, 2023 00:42
@cheese3660
Copy link

A few comments while I have cell service

  1. Subfolder paths make no sense under GameData/Mods
  2. Why is the default being changed at this point? Both Quantum and SpaceWarp state that this is experimental

Copy link
Member

@techman83 techman83 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see no risk here. I note that the only mods without it set have been updated, and we can be explicit until such time things have settled. At which point it'll just be dropping a line from the metadata where relevant. LGTM!

@HebaruSan HebaruSan force-pushed the feature/ksp2-default-install branch from 15b1810 to 1238155 Compare July 21, 2023 14:52
@HebaruSan HebaruSan merged commit ddeac64 into KSP-CKAN:master Jul 21, 2023
@HebaruSan HebaruSan deleted the feature/ksp2-default-install branch July 21, 2023 15:30
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 Easy This is easy to fix Enhancement New features or functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants