VTOL icon indicating copy to clipboard operation
VTOL copied to clipboard

Multiple mod versions

Open Alystrasz opened this issue 1 year ago • 4 comments

Currently, Northstar does not support multiple mod versions, i.e. a single mod being installed several times with different versions. In the Northstar repositories, launcher and mods pull requests have been opened to fix this issue; however, they change the enabledmods.json file format:

From

{
    "Northstar.Client": true,
    "Northstar.Coop": true,
    "Northstar.CustomServers": true,
    "Northstar.Custom": true,
    "MRVN Shake It": true,
    "Titan Payload": false,
    "Parkour": true
}

To

{
    "Version": 1,
    "Northstar.Client": {
        "1.19.0": true
    },
    "Northstar.Coop": {
        "0.0.0": true
    },
    "Northstar.CustomServers": {
        "1.19.0": true
    },
    "Northstar.Custom": {
        "1.19.0": false
    },
    "Parkour": {
        "0.1.2": false,
        "0.2.1": true
    },
    "MRVN Shake It": {
        "0.0.1": true
    },
    "Titan Payload": {
        "1.2.0": false
    }
}

It would be great if VTOL had the capacity to adapt to this new enabledmods.json format.

Alystrasz avatar Jan 01 '25 22:01 Alystrasz

The day hath come.

Changes already in new ver to be shipped. :D

BigSpice avatar Jan 01 '25 22:01 BigSpice

Currently, Northstar does not support multiple mod versions, i.e. a single mod being installed several times with different versions. In the Northstar repositories, launcher and mods pull requests have been opened to fix this issue; however, they change the enabledmods.json file format:

From

{
    "Northstar.Client": true,
    "Northstar.Coop": true,
    "Northstar.CustomServers": true,
    "Northstar.Custom": true,
    "MRVN Shake It": true,
    "Titan Payload": false,
    "Parkour": true
}

To

{
    "Northstar.Client": {
        "1.19.0": true
    },
    "Northstar.Coop": {
        "0.0.0": true
    },
    "Northstar.CustomServers": {
        "1.19.0": true
    },
    "Northstar.Custom": {
        "1.19.0": false
    },
    "Parkour": {
        "0.1.2": false,
        "0.2.1": true
    },
    "MRVN Shake It": {
        "0.0.1": true
    },
    "Titan Payload": {
        "1.2.0": false
    }
}

It would be great if VTOL had the capacity to adapt to this new enabledmods.json format.

Also, added is there any format changes you need for Mod packages?

BigSpice avatar Jan 01 '25 22:01 BigSpice

Also, added is there any format changes you need for Mod packages?

The idea is to ship this mod versions change in the next release; regarding mod packages change, PRs are not ready, so I think we will ship these in a more distant future

Alystrasz avatar Jan 01 '25 23:01 Alystrasz

Copy/pasting Viper comment here since it's relevant

On game start, proposed launcher modification will migrate enabledmods.json format to new format, using the existing configuration if possible.

VTOL, on its end, should enable/disable mods in the enabledmods.json file regarding the format it is following.

[NB] I omitted to mention an important element: new manifest format involves a "Version" member, which is set to 1 for this new modName => modVersion => enabled format; if no "Version" member is present or its value is 0, then old format (modName => enabled) should be assumed.

Alystrasz avatar Jan 02 '25 13:01 Alystrasz

Fixed

BigSpice avatar Sep 17 '25 05:09 BigSpice