banner
Avaliação
Votado0

Compatibilidade do Lobby

1
Versão do mod:1
Versão do jogo:1.2.0
O mod foi testado com sucesso e está livre de vírus
1749.29K19.64K

Denunciar mod

  • image
modalImage

Sobre este Mod

Compatibilidade do lobby

Compilar Versão Mais Recente do Download da Versão do Thunderstore NuGet


Este mod é projetado para melhorar a compatibilidade e navegação de baunilha e mod lobbies.


Para jogadores

Scanner de lobby.

Este mod informará se um determinado lobby é incompatível com mods instalados e quais mods você precisa atualizar, fazer downgrade, baixar ou excluir para ingressar neste lobby.


No canto inferior esquerdo de cada lobby, um ícone aparecerá no navegador do lobby, passando o mouse sobre o qual você poderá ver informações adicionais (por exemplo, incompatibilidade, que modo causa incompatibilidade, etc.).


Passe o mouse sobre o ícone Compatibilidade do Lobby.


Clique no ícone para ver informações detalhadas sobre a lista de modos, a barra de rolagem mostrará todos os modos necessários para se conectar a este servidor. Observe que isso só funcionará em servidores nos quais esse modo funcione.


Modal de Compatibilidade de Lobby


Se você tentar se conectar a um servidor (público ou privado) com modos incompatíveis ou ausentes, será exibido um erro informando que o modo necessário está ausente.


Falha ao conectar ao lobby devido a mods incompatíveis ou ausentes


Quadros de Líderes.

Este mod adiciona um placar de líder mod separado para facilitar a comparação com amigos. O objetivo é separar vanilla e mod líderes para que mod (que pode ser mais simples ou mais complicado do que baunilha) não se misture com baunilha.


Para desenvolvedores.

Para usar isso, você precisa adicionar uma referência ao pacote TeamBMX.LobbyCompatibility ao arquivo .csproj. Você pode usar o seguinte código:


<GrupoDeItens>

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

</GrupoDeItens>

Você também pode adicionar links usando a interface do IDE: no Visual Studio 2022, clique no menu suspenso Projeto e selecione Gerenciar pacotes do NuGet; no Visual Studio 2022, clique em TeamBMX. LobbyCompatibility, e você pode adicioná-lo a partir daí.


Uso

Atributos

Adicionar [LobbyCompatibility(CompatibilityLevel, VersionStrictness)] na parte superior da classe de plug-in:


//

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


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

MyPlugin : classe BaseUnityPlugin.

{

  //

}

Os seguintes tipos enumerados são usados


Nível de Compatibilidade

Apenas para clientes.

O modo afeta apenas os clientes.

VersionStrictness não se aplica.

Somente servidor.

O mod afeta apenas o servidor e pode afetar indiretamente o cliente, mesmo que o cliente não o instale.

O mod só é necessário no servidor; VersionStrictness só é aplicado se o mod estiver instalado no cliente.

Para todos.

Os mods afetam o cliente e o servidor e adicionam funcionalidades que devem ser instaladas em ambos.

Os modos devem ser instalados no servidor e no cliente. O controle de versão depende de VersionStrictness.

Opções do cliente.

Nem todos os clientes precisam instalar o mod, mas se ele estiver instalado, deverá ser instalado no servidor. Tipicamente usado para mods que adicionam funcionalidade adicional (opcional) ao cliente se estiver instalado no servidor.

O Mod deve estar instalado no servidor. O controle de versão depende de VersionStrictness.

VersionStrictness

Não

Sem controle de versão (x.x.x.x)

Major.

Deve ser a mesma versão principal (1.x.x)

Menor

As versões secundária e principal devem ser as mesmas (1.1.x)

Correção

Patch, versões secundárias e principais devem ser as mesmas (1.1.1)

Método.

Outra maneira de oferecer suporte a dependências de software é usar o método PluginHelper.RegisterPlugin:


public static void RegisterPlugin(guid de cadeia de caracteres, versão, CompatibilityLevel compatibilityLevel, VersionStrictness versionStrictness)

Importante.


Este método deve ser chamado no método Awake da classe principal do plug-in. Obtenção e utilização de diferenciais entre grupos de pressão

Se você quiser usar a diferença entre o lobby (a diferença entre o lobby e os modos instalados no cliente), você pode usar LobbyCompatibility.Features.LobbyHelper.GetLobbyDiff(Lobby lobby) da seguinte maneira


GetLobbyDiff(Lobby lobby) usando LobbyCompatibility.Features.LobbyHelper;

Fábricas de vapor.Dados;


/* . */


// Nenhum dado foi retornado porque o lobby não existe.

Lobby lobby = new();

LobbyDiff lobbyDiff = LobbyHelper.GetLobbyDiff(lobby);

No futuro, se você quiser verificar se um certo mod foi carregado para o lobby, faça o seguinte


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

{

  /* Código */

}

diff.ServerVersion = null Usado para verificar se o mod está instalado no lobby/servidor.

Mods/Addons semelhantes

Versão do Jogo *

1.2.0 (BMX-LobbyCompatibility-1.2.0.zip)