CrabDevKit

版本 v1.3.2·更新於 2026-02-17

A utility mod and preloader that improves the experience for mod makers.

模組介紹 作者原文

Features

Intermediary Namings

Since Crab Game is obfuscated, the names of most types, fields, methods, etc have been changed to gibberish, making it difficult to tell what anything actually is, or what is real in the case of all of the generated garbage methods.

Everything has been given a human readable name, so no more wondering what something is or which method is the one you want among all the garbage!

Do note that since the game is compiled with Il2Cpp, this does not give you access to any source code, only the deobfuscated names of the obfuscated names ripped from the Il2Cpp Unhollower.

You don't need to add CrabDevKit as a dependency to use these namings! Feel free to copy the entire files into your project, or just what you need!

CrabDevPreloader

A preloader (BepInEx/patchers) packaged with CrabDevKit for general purpose fixes and utilities.

Asset Bundle Patch

The class for Asset Bundles isn't properly unhollowed by the unhollower, leading to it not inheriting from Il2CppObjectBase and missing a constructor that takes in an IntPtr. This results in any attempt to load an Asset Bundle throwing exceptions and just not working. This was partially fixed in the past with Asset Bundle Ptr (avoiding calling the constructor by directly working with the IntPtr and never contructing Asset Bundle, though you couldn't load more than 1 at once) but this is no longer necessary! CrabDevPreloader will force Asset Bundle to inherit Il2CppObjectBase and give it the missing constructor, allowing Asset Bundles to be used as they normally would in any other Unity game!

Unity Web Request Patch

Lots of the same and more as above, but for Unity Web Requests. Will add more details later, but currently this fixes and allows you to load textures via Unity Web Request.

DetourFailures

Detouring can VERY rarely, but occasionally fail randomly depending on how your memory (RAM) is allocated at the time when you run the game. When it fails, it leads to most, if not all mods that use Harmony bugging out and a very broken game state.

To help rectify this, CrabDevKit's preloader will now patch the method that catches and warns about the exceptions and record the failures. If any failures do occur, you will be immediately alerted on the main menu once the game starts up about them via prompt and how to rectify them. The easiest way to do so is by restarting your computer, as it will clear up memory for allocating patches.

  • Though less common, it will also show these prompts if these failures occur during gameplay.

CrabNet

A simple networking solution (utilizing channel 123 of SteamNetworkingMessages) to allow mod makers to register and send custom messages between users of CrabDevKit through their mods.

Simply register a message via a string (ex: 'CrabDevKit:Test') and a MessageHandler delegate, which takes in a ulong for the sending client's steam id, and a Packet for the byte data within the message.

CrabNet.RegisterMessageHandler($"{MyPluginInfo.PLUGIN_NAME}:Test", (clientId, packet) =>

{

Log.LogInfo($"Test message from {clientId}: {packet.ReadString()}");

});

Then you may send that message to any other user using CrabDevKit and your mod!

static IEnumerable GetAllSteamIds()

{

int members = SteamMatchmaking.GetNumLobbyMembers(LobbyManager.Instance.get_currentLobby());

for (int i = 0; i fakeClients =;

[HarmonyPatch(typeof(PlayerInput), nameof(PlayerInput.Update))]

[HarmonyPostfix]

internal static void PostPlayerInputUpdate()

{

if (!SteamManager.Instance.IsLobbyOwner() ||!Input.GetKey(KeyCode.LeftAlt))

return;

if (Input.GetKeyDown(KeyCode.P))

{

CrabDevKit.Instance.Log.LogInfo("Creating fake player...");

FakeClient fakeClient = FakeClients.Create(forceSpawnActive: true);

fakeClients.Add(fakeClient);

}

if (Input.GetKeyDown(KeyCode.O))

{

FakeClient fakeClient = fakeClients.LastOrDefault();

if (fakeClient == null)

return;

CrabDevKit.Instance.Log.LogInfo("Removing fake player...");

FakeClients.Remove(fakeClient);

fakeClients

安裝與使用 安裝:按包內說明操作

  1. 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
  2. 多數模組依賴遊戲的模組載入器:常見做法是用社群模組管理器(如 r2modman)選中本遊戲安裝,由管理器自動處理載入器與依賴。
  3. 手動安裝時,把模組檔案放進遊戲目錄下對應的 Mod / plugins 資料夾。
  4. 啟動遊戲確認載入成功;帶「前置依賴」的模組需要把依賴一併安裝。

不同模組的安裝位置差異較大,包內說明是最可靠的依據。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

BepInEx-BepInExPack_CrabGame

檔案與校驗

檔案名稱
CrabDevKit-1.3.2.zip
檔案大小
184.0 KiB