#[WIP] LobbyCompatibility
2025 messages · Page 3 of 3 (latest)
@modest spade have you peeped this btw
Go for it!
Will this be on thunderstore anytime soon?
Once the testing phase is complete, we will be posting this to Thunderstore. I will communicate with the team and see if we can decide on a definitive date.
The NuGet Package is officially up! We had to change the prefix slightly, so the package is findable under TeamBMX.LobbyCompatibility.
You can get the package here.
Note that the NuGet package is not yet v1.0.0, so to reference the beta version, use the following:
<PackageReference Include="TeamBMX.LobbyCompatibility" Version="0.2.0-beta" PrivateAssets="all" />
Additionally, we added the SoftLobbyCompatibility attribute, so that you do not have to manually code soft-dependency stuff. Instructions on how to use it are available in the readme on either the NuGet listing or the GitHub repo.
Finally, we altered some of the access modifiers so that you can actually access some of the classes in LobbyCompatibility.Features.
Thanks for the testing so far, and we hope to have the official release out soon!
I just spent like almost an hour trying to figure out why GameNetworkManager.Instance.currentLobby was null, and then I remembered I was in LAN mode...
@coarse grove so for asset registry - just so it can be displayed on the "mod list," I will also make a separate PR for registering data sets (that are not shown) - what do you imagine it would look like? Cause honestly rn it personally looks the exact same as mods - guid, version, compat level, version strictness
I guess maybe version strictness & compat level could be dropped from the params as they'd always be everyone & minor afaik
there's not really a version number at all
because the data is a from a bunch of other mods that registered content
you could do 'superset', 'subset', 'equivalent'?
ie the client is compatible if they have a superset of the host content, or similar
I imagine it being
RegisterContentHash(loaderPlugin, identifier, hash)
And
RegisterContentData(loaderPlugin, identifier, data, subset/superset/equivalent)
Where the 'everyone' compat level is implicit
The items in the dataset need to implement IEquatable so you can GetHashCode on them
Otherwise you will end up considering some things that don't matter / not considering some things that do
@lament perch
