banner
Рейтинг
Голоса0

ЛоббиСовместимость

Категория - Моды для Lethal Company
1
Версия мода:1
Версия игры:1.2.0
Mод успешно проверен на отсутствие вирусов
1649.29K15.36K

Репорт мод

  • image
modalImage

Об этом моде

Совместимость с лобби

Сборка Последняя версия Thunderstore NuGet Версия Скачать


Этот мод призван улучшить совместимость и навигацию ванильного и мод-лобби.


Для игроков

Сканер лобби.

Этот мод сообщит вам, несовместимо ли конкретное лобби с установленными модами, и какие моды вам нужно обновить, понизить, скачать или удалить, чтобы присоединиться к этому лобби.


В левом нижнем углу каждого лобби в браузере лобби появится значок, наведя на который, вы сможете увидеть дополнительную информацию (например, несовместимость, какой мод вызывает несовместимость и т. д.).


Наведите курсор на значок совместимости лобби.


Нажмите на значок, чтобы увидеть подробную информацию о списке режимов, полоса прокрутки покажет все режимы, необходимые для подключения к данному серверу. Обратите внимание, что это будет работать только на тех серверах, где этот режим работает.


Модал совместимости с лобби


Если вы попытаетесь подключиться к серверу (публичному или частному) с несовместимыми или отсутствующими режимами, будет отображена ошибка, информирующая вас о том, что необходимый режим отсутствует.


Ошибка подключения к лобби из-за несовместимых или отсутствующих модов


Доски лидеров.

Этот мод добавляет отдельную таблицу лидеров модов, чтобы было проще сравнивать с друзьями. Цель состоит в том, чтобы разделить ванильные и мод-лидеры, чтобы мод (который может быть проще или сложнее ванильного) не смешивался с ванильным.


Для разработчиков.

Чтобы использовать это, вам нужно добавить ссылку на пакет TeamBMX.LobbyCompatibility в ваш файл .csproj. Можно использовать следующий код:


<ItemGroup>

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

</ItemGroup>

Вы также можете добавить ссылки с помощью интерфейса IDE: В Visual Studio 2022 щелкните выпадающее меню Project, а затем выберите Manage NuGet Packages; в Visual Studio 2022 щелкните TeamBMX. LobbyCompatibility, и вы сможете добавить его оттуда.


Использование

Атрибуты.

Добавьте [LobbyCompatibility(CompatibilityLevel, VersionStrictness)] поверх класса плагина:


// .

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


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

Класс MyPlugin : BaseUnityPlugin.

{

  // .

}

Используются следующие перечислимые типы


Уровень совместимости

Только для клиентов.

Режим влияет только на клиентов.

VersionStrictness не применяется.

Только для сервера.

Мод влияет только на сервер и может косвенно влиять на клиент, даже если клиент его не устанавливает.

Мод требуется только на сервере; VersionStrictness применяется, только если мод установлен на клиенте.

Для всех.

Моды влияют как на клиент, так и на сервер и добавляют функциональность, которая должна быть установлена на обоих.

Моды должны быть установлены на сервере и клиенте. Контроль версий зависит от VersionStrictness.

Опции клиента.

Не всем клиентам необходимо устанавливать мод, но если он установлен, то должен быть установлен и на сервере. Обычно используется для модов, которые добавляют дополнительную (необязательную) функциональность клиенту, если он установлен на сервере.

Мод должен быть установлен на сервере. Контроль версий зависит от VersionStrictness.

VersionStrictness.

Нет

Нет контроля версий (x.x.x.x)

Мажор.

Должна быть одна и та же мажорная версия (1.x.x)

Минор

Минорная и мажорная версии должны быть одинаковыми (1.1.x)

Патч

Патч, минорная и мажорная версии должны быть одинаковыми (1.1.1)

Метод.

Другим способом поддержки программных зависимостей является использование метода PluginHelper.RegisterPlugin:


public static void RegisterPlugin(string guid, Version version, CompatibilityLevel compatibilityLevel, VersionStrictness versionStrictness)

Важно.


Этот метод должен быть вызван в методе Awake основного класса плагина. Получение и использование дифференциалов лобби

Если вы хотите использовать разницу между лобби (разницу между лобби и режимами, установленными на клиенте), вы можете использовать LobbyCompatibility.Features.LobbyHelper.GetLobbyDiff(Lobby lobby) следующим образом


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

Steamworks.Data;


/* . */


// Никаких данных не возвращается, потому что лобби не существует.

Лобби лобби = new();

LobbyDiff lobbyDiff = LobbyHelper.GetLobbyDiff(lobby);

В дальнейшем, если вы захотите проверить, был ли загружен в лобби определенный мод, вы можете сделать следующее


if (lobbyDiff.PluginDiffs.Any(diff => diff.GUID == «example.guid» && diff.ServerVersion . = null)))))

{

  /* Код */

}

diff.ServerVersion . = null Используется для проверки того, установлен ли мод на лобби/сервере.

Похожие Моды/Аддоны

Версия игры *

1.2.0 (BMX-LobbyCompatibility-1.2.0.zip)