Skip to content

Senyksia/InfiniteFriends

Repository files navigation

Infinite Friends

🎉🕷️🕷️🕷️🕷️🕷️🎉
Multiplayer beyond 4 people
A ModWeaver and BepInEx 5 plugin for the game SpiderHeck

Features

  • Allows more than 4 players to join a single lobby.
  • Removes player count limits on all game-modes.
  • Dynamically generates spawn points once the initial four are claimed.
  • (Partial) Improved UI scaling.
  • Online support?

Known Issues

  • Additional starting weapons are not spawned for dynamic spawn points.
  • UI performance is poor at very high player counts.

Installation

  1. Locate your SpiderHeck install directory

    Steam library -> Right click SpiderHeck -> Manage -> Browse local files.
    A visual guide to locating the SpiderHeck directory

    On Windows, it will typically be located at C:\Program Files (x86)\Steam\steamapps\common\SpiderHeck.

Tip

ModWeaver is the standard mod-loader for SpiderHeck, and is what you will probably need when using other mods.
If you're unsure which to install, go with ModWeaver. BepInEx 5 support is provided as an alternative or fallback.

Important

The 1.1.0 release of ModWeaver is non-functional at time of writing; Until a new release is published, BepInEx should be installed instead.

  1. Install ModWeaver or BepInEx

    • ModWeaver

      Manually download the latest release, and unzip it into your SpiderHeck directory.
      Alternatively, follow the instructions for using the ModWeaver installer.

    • BepInEx

      Follow the instructions for installing BepInEx 5.
      When downloading BepInEx, choose the latest stable x64 release of BepInEx 5, which can be found here.

  2. Install InfiniteFriends

    Download the latest release for either ModWeaver or BepInEx, and unzip it into your SpiderHeck directory.

Contributing

  1. Clone the latest source code

    git clone https://github.com/Senyksia/InfiniteFriends.git

  2. Link to your SpiderHeck directory

    Create a file called InfiniteFriends.csproj.user next to InfiniteFriends.csproj.

    <?xml version="1.0" encoding="utf-8"?>
    <Project>
      <PropertyGroup>
        <GameDir>path\to\SpiderHeck</GameDir>                                                    <!-- User-defined absolute path to SpiderHeck -->
        <ReferencePath>$(ReferencePath);$(GameFolder)\SpiderHeckApp_Data\Managed</ReferencePath> <!-- Path to the SH game assemblies -->
        <AssemblySearchPaths>$(AssemblySearchPaths);$(ReferencePath)</AssemblySearchPaths>       <!-- Add that path to the assembly search list -->
      </PropertyGroup>
    </Project>

    Replace path\to\SpiderHeck with the absolute path to your SpiderHeck directory. E.g.

    <GameDir>C:\Program Files (x86)\Steam\steamapps\common\SpiderHeck</GameDir>
  3. Set up your SpiderHeck directory

    Because we are building for multiple mod-loaders, your game directory will need to contain both of them (assuming you are building for both). This can mostly be done without conflict by simply installing both. Notably, however, each loader's doorstop_config.ini will need to be preserved. The Doorstop (winhttp.dll) version may also conflict; keeping the latest one should be sufficient.

    To launch with a particular loader, rename the dormant loader's doorstop_config.ini to something else, e.g. doorstop_config.modweaver.ini. This is a finicky solution, but as far as I can tell the --doorstop-target-assembly CLI parameter was broken in Doorstop 4, or I just can't get it to work.

  4. Compile

    ModWeaver and BepInEx each have a build configuration.
    Using Visual Studio or Rider, building will close the game and copy the compiled .dll directly into your mod folder.

Changelog

See CHANGELOG.md for version changes.

About

A multiplayer extension mod for the game SpiderHeck.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages