banner
Valoración
Votado0

Compatibilidad del lobby

1
Versión del mod:1
Versión del juego:1.2.0
El mod ha sido verificado exitosamente y está libre de virus
1749.29K20.54K

Reportar mod

  • image
modalImage

Acerca de este Mod

Compatibilidad del vestíbulo

Compilación de la última versión de Thunderstore NuGet Versión Descargar


Este mod está diseñado para mejorar la compatibilidad y la navegación de los lobbies de vanilla y mod.


Para jugadores

Escáner del vestíbulo.

Este mod le dirá si un lobby en particular es incompatible con los mods instalados y qué mods necesita actualizar, degradar, descargar o eliminar para unirse a este lobby.


En la esquina inferior izquierda de cada vestíbulo, aparecerá un icono en el navegador del vestíbulo, sobre el que podrá ver información adicional (por ejemplo, incompatibilidad, qué modo causa incompatibilidad, etc.).


Pase el cursor sobre el icono de compatibilidad del vestíbulo.


Haga clic en el icono para ver información detallada sobre la lista de modos, la barra de desplazamiento mostrará todos los modos necesarios para conectarse a este servidor. Tenga en cuenta que esto solo funcionará en servidores donde este modo funciona.


Modal de compatibilidad del vestíbulo


Si intenta conectarse a un servidor (público o privado) con modos incompatibles o faltantes, se mostrará un error que le informará de que falta el modo requerido.


No se pudo conectar al vestíbulo debido a modificaciones incompatibles o faltantes


Tablas de clasificación.

Este mod agrega una tabla de clasificación de mod separada para que sea más fácil de comparar con amigos. El objetivo es separar los líderes de vainilla y mod para que mod (que puede ser más simple o más complicado que la vainilla) no se mezcle con vainilla.


Para desarrolladores.

Para usar esto, debe agregar una referencia al paquete TeamBMX.LobbyCompatibility al archivo .csproj. Puede utilizar el siguiente código:


<GrupoDeElementos>

    <PackageReference Include="TeamBMX.LobbyCompatibility" Version="1.*" PrivateAssets="all" />

</ItemGroup>

También puede agregar vínculos mediante la interfaz IDE: en Visual Studio 2022, haga clic en el menú desplegable Proyecto y, a continuación, seleccione Administrar paquetes NuGet; en Visual Studio 2022, haga clic en TeamBMX. Compatibilidad de vestíbulo, y puede agregarlo desde allí.


Uso

Atributos.

Agregue [LobbyCompatibility(CompatibilityLevel, VersionStrictness)] en la parte superior de la clase de complemento:


//.

[BepInPlugin(PluginInfo.PLUGIN_GUID, PluginInfo.PLUGIN_NAME, PluginInfo.PLUGIN_VERSION)]


[LobbyCompatibility(CompatibilityLevel = CompatibilityLevel.Everyone, VersionStrictness = VersionStrictness.Minor)].

MyPlugin: clase BaseUnityPlugin.

{

  //.

}

Se utilizan los siguientes tipos enumerados


Nivel de compatibilidad

Solo para clientes.

El modo solo afecta a los clientes.

VersionStrictness no se aplica.

Sólo servidor.

El mod afecta solo al servidor y puede afectar indirectamente al cliente, incluso si el cliente no lo instala.

El mod solo es necesario en el servidor; VersionStrictness solo se aplica si el mod está instalado en el cliente.

Para todos.

Los mods afectan tanto al cliente como al servidor y agregan funcionalidad que debe instalarse en ambos.

Los modos deben estar instalados en el servidor y el cliente. El control de versiones depende de VersionStrictness.

Opciones de cliente.

No todos los clientes necesitan instalar el mod, pero si está instalado, debe estar instalado en el servidor. Normalmente se utiliza para los mods que agregan funcionalidad adicional (opcional) al cliente si está instalado en el servidor.

El Mod debe estar instalado en el servidor. El control de versiones depende de VersionStrictness.

VersionStrictness.

No

Sin control de versiones (x.x.x.x)

Mayor.

Debe ser la misma versión principal (1.x.x)

Menor

Las versiones menor y mayor deben ser iguales (1.1.x)

Parche

Las versiones de parche, menor y mayor deben ser iguales (1.1.1)

Método.

Otra forma de admitir dependencias de software es usar el método PluginHelper.RegisterPlugin:


public static void RegisterPlugin(guid de cadena, Versión, CompatibilityLevel, VersionStrictness versionStrictness)

Importante.


Este método debe ser llamado en el método Awake de la clase principal del plugin. Obtención y uso de diferenciales de lobby

Si desea utilizar la diferencia entre el vestíbulo (la diferencia entre el vestíbulo y los modos instalados en el cliente), puede utilizar LobbyCompatibility.Features.LobbyHelper.GetLobbyDiff(LobbyLobby) de la siguiente manera


GetLobbyDiff(LobbyLobby) usando LobbyCompatibility.Features.LobbyHelper;

Steamworks.Data;


/* . */


// No se devuelve ningún dato porque el vestíbulo no existe.

Vestíbulo = nuevo(nuevo);

LobbyDiff = LobbyHelper.GetLobbyDiff(lobby);

En el futuro, si desea comprobar si se ha cargado un determinado mod en el vestíbulo, puede hacer lo siguiente


if (lobbyDiff.PluginDiffs.Any(diff => diff.GUID == "example.guid" && diff.ServerVersion . = nulo)))))

{

  /* Código */

}

diff.ServerVersion . = null Se usa para comprobar si el mod está instalado en el lobby/servidor.

Mods/Addons similares

Versión del Juego *

1.2.0 (BMX-LobbyCompatibility-1.2.0.zip)