Начните вводить название — например, MoreHead, Sodium или PEAK

MyceliumNetworking — иконка
Обложка STRAFTATМод для STRAFTAT

MyceliumNetworking

от straftatmodding

Простая в использовании сетевая библиотека для отправки пользовательских RPC через Steam.

  • Эпический
  • 7,1 тыс. скачиваний
  • Версия 1.1.17
  • Обновлён 29 ноября 2025
  • Библиотека
  • Vanilla compatible

О моде MyceliumNetworking

MyceliumNetworking — мод для STRAFTAT (Страфтат) от автора straftatmodding. Простая в использовании сетевая библиотека для отправки пользовательских RPC через Steam.

Его скачали 7,1 тыс. раз: это 9-е место среди модов STRAFTAT в нашем каталоге, редкость — «эпический» (топ-20% по скачиваниям). Мод обновлялся в течение года, актуальная версия — 1.1.17.

Для работы ему нужны: BepInExPack.

Скриншоты

2 шт · нажмите, чтобы открыть

Полное описание MyceliumNetworking

Текст автора на языке оригинала

MyceliumNetworking For Straftat

This is a port of the library MyceliumNetworking For Content Warning for use in Straftat mods, to allow RPC use.

See the original readme below for a usage reference.

Original Readme

An easy to use networking library for sending custom RPCs through Steam.

A note

Landfall has asked mod developers not to send lots of data through Photon, which is the networking solution mainly used by the game. This is because they have to pay for all the bandwidth that modders use. To solve this issue, this mod was created to be used as an alternative to Photon. With MyceliumNetworking, RPCs can be used in a very similar fashion to Photon without compromising on features.

Setup

  1. Add MyceliumNetworkingForCW.dll as a reference in your Visual Studio solution.
  2. Add using MyceliumNetworking; at the top of your script.

Using RPCs

Defining RPCs

To define an RPC, simply add the [CustomRPC] attribute to a method:

[CustomRPC]
void ChatMessage(string message)
{
	Debug.Log("Received chat message: " + message);
}

To get the player who sent an RPC, add a RPCInfo as the final parameter in your RPC. You don't need to send the info yourself, it will be provided automatically if you include the parameter.

[CustomRPC]
void ChatMessage(string message, RPCInfo info)
{
	CSteamID sender = info.SenderSteamID;
	string username = SteamFriends.GetFriendPersonaName(sender);
	Debug.Log("Received chat message from " + username + ": " + message);
}

You can add as many arbitrary parameters to an RPC as you want, and they will automatically be synced when used.

[CustomRPC]
void DoSomething(string message, int num, ulong id)
{
	Debug.Log("The message is " + message);
	Debug.Log("The num is " + num);
	Debug.Log("The id is " + id);
}

Calling RPCs

To call an RPC, first register the object with the network. Each mod needs a unique ID, which is just a random number you define unique to your mod. This is to make sure mods don't accidentally call an RPC on a separate mod. I recommend you store the modId as a constant somewhere in your program. Deregister the object when it is destroyed (for singletons or static classes, it's fine to never deregister).

const uint modId = 12345;

void Awake()
{
	MyceliumNetwork.RegisterNetworkObject(this, modId);
}

void OnDestroy()
{
	MyceliumNetwork.DeregisterNetworkObject(this, modId);
}

To call the RPC, use MyceliumNetwork.RPC. Pass in the mod ID, the name of the RPC you are calling, what kind of reliability you want the RPC to have (leave it at Reliable if you are unsure), and the parameters to pass in the RPC:

// This will call the RPC named ChatMessage on all clients, with the parameter "Hello World!" being sent.
MyceliumNetwork.RPC(modId, nameof(ChatMessage), ReliableType.Reliable, "Hello World!");

You can also call an RPC on a specific player using MyceliumNetwork.RPCTarget.

// This will call the RPC named ChatMessage on only the specified player, with the parameter "Hello World!" being sent.
MyceliumNetwork.RPCTarget(modId, nameof(ChatMessage), targetSteamId, ReliableType.Reliable, "Hello World!");

Using LobbyData and PlayerData

LobbyData and PlayerData are Steam features that allow you to define synced variables associated with the lobby (perfect for config syncing) or individual players. Mycelium provides an easy way to interface with them.

Lobby Data

To use lobby data, you first need to register the key. This should happen when your mod starts for the first time. This step is optional but strongly recommended. It's required if you want the LobbyDataUpdated callback to fire when that key's value is changed.

void Awake()
{
	MyceliumNetwork.RegisterLobbyDataKey("foo");
}

The host can set lobby data using MyceliumNetwork.SetLobbyData and passing in a registered key with a value.

MyceliumNetwork.SetLobbyData("foo", "bar");

Values are serialized as strings (Steam requires it), so any type that can be serialized as a string can be used. To serialize your own custom types you will need to convert them to a string yourself (and back from a string when you get the data).

MyceliumNetwork.SetLobbyData("money", 123);
MyceliumNetwork.SetLobbyData("scoreMultiplier", 12.52f);
MyceliumNetwork.SetLobbyData("greeting", "Hello World!");

The LobbyDataUpdated callback will be fired whenever lobby data is updated by the host. It provides a list of the keys of lobby data that were changed.

Any client can access lobby data using MyceliumNetwork.GetLobbyData. Pass in the type of the data to automatically cast it.

string data = MyceliumNetwork.GetLobbyData("foo");
Debug.Log(data); // Hello World

int data = MyceliumNetwork.GetLobbyData("money");
Debug.Log(data

Описание длинное — здесь его начало. Читать целиком на странице автора

Нужно для работы

В r2modman ставится автоматически

Моды, которым нужен MyceliumNetworking

15 в каталоге · показаны самые популярные

Chat Commands — иконка

Chat Commands

Добавляет систему команд консоли и различные полезные команды администратора / утилиты

Эпический4,3 тыс.Библиотека

Koki Weapons — иконка

Koki Weapons

Оружие от Koki

Эпический3,9 тыс.

Custom Levels Reborn — иконка

Custom Levels Reborn

Пользовательская карта для STRAFTAT

Эпический3,2 тыс.Библиотека

Eights — иконка

Eights

Party Game HP, SND, CTF, Gun Game, Infected, Michael Meyers и 16 других игровых режимов + движения, здоровье и настройки оружия.

Редкий1,6 тыс.

Aboubi Unbound — иконка

Aboubi Unbound

Удалить все невидимые стены из игры

Редкий1,3 тыс.

WoK Maps — иконка

WoK Maps

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

Редкий1,1 тыс.Карты

Как установить MyceliumNetworking

Файл скачивается с официального сервера Thunderstore, без перезаливов и сторонних установщиков

Подробная инструкция для STRAFTAT
  1. Скачайте менеджер модов r2modman (или Gale) и выберите в нём игру STRAFTAT.
  2. Создайте профиль — так моды не смешаются с чистой версией игры.
  3. Найдите «MyceliumNetworking» во вкладке Online и нажмите Download — BepInEx и все зависимости подтянутся сами.
  4. Нажмите «Start modded» — игра запустится с модами.
  5. Чтобы сыграть без модов, запустите игру как обычно из Steam — r2modman не трогает чистую версию игры.
Вы автор мода? Поставьте ссылку на русское описание

Вставьте значок в описание на Thunderstore, в README или в Discord — русскоязычные игроки сразу попадут на страницу с переводом и инструкцией.

Описание на русском — Модка
Markdown[![Описание на русском — Модка](https://modka.app/badge.png)](https://modka.app/straftat/straftatmodding-myceliumnetworking/)
HTML<a href="https://modka.app/straftat/straftatmodding-myceliumnetworking/"><img src="https://modka.app/badge.png" alt="Описание на русском — Модка" height="44"></a>
Steam (BBCode)[url=https://modka.app/straftat/straftatmodding-myceliumnetworking/]Описание на русском — Модка[/url]

Частые вопросы о MyceliumNetworking

Как установить MyceliumNetworking?

Скачайте менеджер модов r2modman (или Gale) и выберите в нём игру STRAFTAT. Создайте профиль — так моды не смешаются с чистой версией игры. Найдите «MyceliumNetworking» во вкладке Online и нажмите Download — BepInEx и все зависимости подтянутся сами. Нажмите «Start modded» — игра запустится с модами. Чтобы сыграть без модов, запустите игру как обычно из Steam — r2modman не трогает чистую версию игры.

Безопасен ли MyceliumNetworking?

Файл скачивается с официального сервера Thunderstore, куда его загрузил straftatmodding. Мы не перезаливаем и не изменяем моды.

Что нужно для работы MyceliumNetworking?

Установите вместе с ним: BepInExPack. В менеджере модов зависимости подтягиваются автоматически.

Когда MyceliumNetworking обновлялся последний раз?

29 ноября 2025, актуальная версия — 1.1.17. Дата берётся с официальной страницы мода при каждом обновлении каталога.

Похожие моды

Все моды на STRAFTAT
CSCrosshairMod — иконка

CSCrosshairMod

Добавить Counter-Strike пользовательский кроссхейр с настройками

Эпический4,9 тыс.Vanilla compatible

KillfeedIcons — иконка

KillfeedIcons

Замена текста в killfeeds иконками

Эпический4,7 тыс.Vanilla compatible

Infinite Taunt — иконка

Infinite Taunt

Не смей насмехаться!

Редкий3 тыс.Звук

Straftat Kill Counter — иконка

Straftat Kill Counter

Треки убивают каждое оружие и сохраняют его в файле JSON.

Редкий1,8 тыс.Vanilla compatible

StraftatNameOverride — иконка

StraftatNameOverride

Отменяет название игры независимо от Steam.

Редкий1,5 тыс.Vanilla compatible