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

fix: Multiple mod versions #824

Closed
wants to merge 47 commits into from

Conversation

Alystrasz
Copy link
Contributor

@Alystrasz Alystrasz commented Jul 29, 2024

For a detailed description, see launcher PR: R2Northstar/NorthstarLauncher#758

Testing (RequiredOnClient mod version enabling)

Test scenarios

Core mods

Launch game and join any server:

with `Northstar.Client` local version not matching server version (connection should be allowed);
Nothing special should appear in your logs here.
with `Northstar.Client` disabled (mod should be enabled before connection).
[2024-08-31] [00:33:18] [NORTHSTAR] [info] Attempting authentication with server of id "2fae3133f3822d55461631b86bc7de45"
[2024-08-31] [00:33:19] [SCRIPT UI] [info] Enabled "Northstar.Custom" (v1.19.0) to join server.
Gamemode mods

Install several versions of a same mod (Parkour v0.2.0 + v0.2.1 for instance) then:

Enable/disable any version in any order through the mods menu (should work fine);
multiple_versions_handling.webm
Disable both versions and join a Parkour server (mod with matching version should be enabled);
[2024-08-31] [00:39:33] [NORTHSTAR] [info] 'Parkour' loaded successfully, version 0.1.2 (DISABLED)
[...]
[2024-08-31] [00:39:33] [NORTHSTAR] [info] 'Parkour' loaded successfully, version 0.2.1 (DISABLED)
[...]

[2024-08-31] [00:39:43] [NORTHSTAR] [info] Requesting server list from https://northstar.tf
[2024-08-31] [00:39:43] [NORTHSTAR] [info] Got 86 servers
[2024-08-31] [00:39:47] [NORTHSTAR] [info] Attempting authentication with server of id "ff7235e0108a4fb51d278642e9e9b800"
[2024-08-31] [00:39:48] [SCRIPT UI] [info] "Northstar.Custom" (v1.19.0) is required and already enabled.
[2024-08-31] [00:39:48] [SCRIPT UI] [info] Enabled "Parkour" (v0.2.1) to join server.
[...]

[2024-08-31] [00:39:48] [NORTHSTAR] [info] 'Parkour' loaded successfully, version 0.1.2 (DISABLED)
[...]
[2024-08-31] [00:39:48] [NORTHSTAR] [info] 'Parkour' loaded successfully, version 0.2.1
Note the server-exposed version, disable it locally and enable the other one, then join the server (current version should be disabled and the other one enabled).
[2024-08-31] [00:42:58] [NORTHSTAR] [info] 'Parkour' loaded successfully, version 0.1.2
[...]
[2024-08-31] [00:42:58] [NORTHSTAR] [info] 'Parkour' loaded successfully, version 0.2.1 (DISABLED)
[...]

[2024-08-31] [00:43:26] [NORTHSTAR] [info] Attempting authentication with server of id "ff7235e0108a4fb51d278642e9e9b800"
[2024-08-31] [00:43:27] [SCRIPT UI] [info] "Northstar.Custom" (v1.19.0) is required and already enabled.
[2024-08-31] [00:43:27] [SCRIPT UI] [info] Disabled "Parkour" (v0.1.2) since it's not required on server.
[2024-08-31] [00:43:27] [SCRIPT UI] [info] Enabled "Parkour" (v0.2.1) to join server.
[...]

[2024-08-31] [00:43:27] [NORTHSTAR] [info] 'Parkour' loaded successfully, version 0.1.2 (DISABLED)
[...]
[2024-08-31] [00:43:27] [NORTHSTAR] [info] 'Parkour' loaded successfully, version 0.2.1

(ask @Alystrasz if Parkour server is not up)

@GeckoEidechse
Copy link
Member

Just in case you weren't aware for compile check to pass, you'll need to add NSIsModRequiredOnClientWithVersion to .github/nativefuncs.json ^^

@Alystrasz
Copy link
Contributor Author

Just in case you weren't aware for compile check to pass, you'll need to add NSIsModRequiredOnClientWithVersion to .github/nativefuncs.json ^^

I am aware, but I'll do that in the end, since I plan to do some additional refactoring of the launcher API 😄

@github-actions github-actions bot added the merge conflicts Blocked by merge conflicts, waiting on the author to resolve label Jul 31, 2024
@GeckoEidechse
Copy link
Member

Heads-up there's merge conflicts atm

@Alystrasz
Copy link
Contributor Author

Heads-up there's merge conflicts atm

I don't think so, the label was added by the bot last week but hasn't been removed since then

@GeckoEidechse GeckoEidechse marked this pull request as ready for review August 8, 2024 14:14
@GeckoEidechse GeckoEidechse marked this pull request as draft August 8, 2024 14:14
@GeckoEidechse
Copy link
Member

GeckoEidechse commented Aug 8, 2024

I don't think so, the label was added by the bot last week but hasn't been removed since then

Yup, you're right. No clue why bot didn't auto-remove the label again, I'll investigate o7

EDIT: Ok it's cause we don't run the label action automatically like we do in other repos.

EDIT2: Updated the action that does the label updating periodically now o7

@github-actions github-actions bot removed the merge conflicts Blocked by merge conflicts, waiting on the author to resolve label Aug 8, 2024
@Alystrasz Alystrasz marked this pull request as ready for review September 3, 2024 14:31
@Alystrasz Alystrasz added the MAD Related to mod-auto-download label Sep 8, 2024
@Alystrasz Alystrasz linked an issue Nov 14, 2024 that may be closed by this pull request
@github-actions github-actions bot added the merge conflicts Blocked by merge conflicts, waiting on the author to resolve label Nov 21, 2024
@GeckoEidechse GeckoEidechse force-pushed the fix/multiple-mod-versions branch from 0216520 to 5c62f23 Compare November 22, 2024 00:21
@Alystrasz
Copy link
Contributor Author

#899 has been merged, but some (previously removed) functions were added back during the process (e.g. NSIsModRequiredOnClient).
Moving this to draft while I fix the issue.

@Alystrasz Alystrasz marked this pull request as draft November 22, 2024 11:00
@github-actions github-actions bot removed the merge conflicts Blocked by merge conflicts, waiting on the author to resolve label Nov 22, 2024
@Alystrasz
Copy link
Contributor Author

Superceded by #903.

@Alystrasz Alystrasz closed this Nov 23, 2024
@Alystrasz Alystrasz removed the MAD Related to mod-auto-download label Nov 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants