Skip to content

Multikill is still in development, so I created my own multiplayer mod for Ultrakill

License

Notifications You must be signed in to change notification settings

xzxADIxzx/Join-and-kill-em-together

Repository files navigation

Discord Support License Stars Devlogs

Join and kill 'em together

This modification made by me and my team adds support for multiplayer via Steamworks to ULTRAKILL. The idea to create this project came to me immediately after completing the game in a week, and since MULTIKILL is still in development, nothing stopped me from speedrunning programming.

Features

  • Integration with Steam
    • Public, friends only and private lobbies
    • Invitations via Steam or lobby code
    • Rich Presence
    • Lobby settings
  • Automatic check for updates
  • User interface
    • Lobby menu, player list and settings
    • Player indicators to help you find each other on the map
    • Information about teammates: their health and railgun charge
    • List of public lobbies so you never get bored
    • Chat, in case you have no other means of communication
    • Interactive guide to help you understand the basics
  • Interaction between players
    • Up to 5 teams, making available both the passage of the campaign and PvP
    • Emote wheel to tease your friends or bosses
    • Pointers to guide your friends in the right direction
    • SAM TTS Engine for speaking messages via /tts command
    • Sprays and moderation system for them
    • Extended V2 coins mechanic
    • Voting system to skip cutscenes or choose dialogs
  • Synchronization of everything
    • Players, their weapons, weapons paint, fist, hook, animations, particles and even head rotation
    • All projectiles in the game and chargeback damage
    • All sorts of items such as torches, skulls and developer plushies
    • Synchronization of position and attacks of enemies
    • Synchronization of special bosses such as Leviathan, Minos' hand and Minotaur
    • Synchronization of different triggers at levels
    • Synchronization of the Cyber Grind
    • Synchronization of 2-S and 5-S
  • New plushies of V2, V3 and Jaket developers
  • New arts for the ALL IMPERFECT LOVE SONG level
  • Translation into many languages
    • Arabic by Iyad
    • Portuguese by Poyozit
    • English
    • Filipino by Fraku
    • French by Theoyeah
    • Italian by sSAR, Fenicemaster
    • Polish by Sowler
    • Russian
    • Spanish by NotPhobos
    • Ukrainian by Sowler

Installation

Before installing, it's important to know that the mod requires BepInEx to work.
Without it, nothing will make a beep-beep sound.

Mod manager

Your mod manager will do everything itself, that's what mod managers are for.
Personally, I recommend r2modman.

Manual

  1. Download the mod zip archive from Thunderstore.
  2. Find your plugins folder.
  3. Extract the content of the archive into a subfolder.
    Example: BepInEx/plugins/Jaket/Jaket.dll

Building

To compile you will need .NET SDK 6.0 and Git.
Important: You don't need this if you just want to play with the mod.

  1. Clone the repository with git clone https://github.com/xzxADIxzx/Join-and-kill-em-together.git
    1. Run cd <path-to-cloned-repository>
  2. Run dotnet restore
  3. Create lib folder in root directory.
    1. Copy Assembly-CSharp.dll, Facepunch.Steamworks.Win64.dll, plog.dll, Unity.Addressables.dll, Unity.ResourceManager.dll, Unity.TextMeshPro.dll, UnityEngine.UI.dll and UnityUIExtensions.dll from ULTRAKILL\ULTRAKILL_Data\Managed
    2. As well as BepInEx.dll and 0Harmony.dll from ULTRAKILL\BepInEx\core
  4. Compile the mod with dotnet build
  5. At the output you will get the Jaket.dll file, which will be located in the bin\Debug\netstandard2.0 folder.
    1. Copy this file to the mods folder.
    2. Copy the jaket-assets.bundle file and bundles folder from the assets folder to the mods folder.
    3. Copy the manifest.json file from the root folder.

Afterword

I fix bugs all the time, but some of them are hidden from me.
Anyway feel free to ping me on Discord xzxADIxzx or join our server.

I am very grateful to all those who supported me during development. Thank you!
Cheers~ ♡