All Projects → misternebula → quantum-space-buddies

misternebula / quantum-space-buddies

Licence: AGPL-3.0 license
Outer Wilds online multiplayer mod, using Mirror and OWML.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to quantum-space-buddies

MPPatch
Patch for Civilization V to allow modded multiplayer. Currently under development.
Stars: ✭ 31 (-44.64%)
Mutual labels:  multiplayer, mod
Csm
Source code for the Cities: Skylines Multiplayer mod (CSM)
Stars: ✭ 457 (+716.07%)
Mutual labels:  multiplayer, mod
Starbound-WEdit
WEdit is a tech mod that allows you to edit the world around you on a larger scale through various functions and features not present in the game.
Stars: ✭ 26 (-53.57%)
Mutual labels:  multiplayer, mod
Lunamultiplayer
Multiplayer mod for Kerbal Space Program (KSP)
Stars: ✭ 265 (+373.21%)
Mutual labels:  multiplayer, mod
Team-Capture
Team-Capture - A multiplayer FPS game, inspired by games like Quake and TF2. Done in Unity
Stars: ✭ 81 (+44.64%)
Mutual labels:  multiplayer, mirror
NodeListServer
Node List Server is a multi-purpose server list system. NodeJS powered and supports Docker.
Stars: ✭ 65 (+16.07%)
Mutual labels:  multiplayer, mirror
piw5 bot warfare
The Bot Warfare mod for PlutoniumIW5
Stars: ✭ 57 (+1.79%)
Mutual labels:  multiplayer, mod
software-inc-multiplayer
A multiplayer mod for Software Inc written in C# for Unity.
Stars: ✭ 17 (-69.64%)
Mutual labels:  multiplayer, mod
Multiplayer
Zetrith's Multiplayer mod for RimWorld
Stars: ✭ 154 (+175%)
Mutual labels:  multiplayer, mod
Openmmo
OpenMMO - Groundwork
Stars: ✭ 115 (+105.36%)
Mutual labels:  multiplayer, mirror
Halomd
New demo version of Halo for the Mac.
Stars: ✭ 36 (-35.71%)
Mutual labels:  multiplayer, mod
BeatSaberServerBrowser
Beat Saber modification that adds a Server Browser to the Online menu, making it easy to share and join custom multiplayer games.
Stars: ✭ 101 (+80.36%)
Mutual labels:  multiplayer, mod
AtomicX
Browse, Download and Install GSC Mods for Black Ops II (PlayStation 3 & Xbox 360)
Stars: ✭ 20 (-64.29%)
Mutual labels:  multiplayer, mod
HKMP
Hollow Knight Multiplayer
Stars: ✭ 151 (+169.64%)
Mutual labels:  multiplayer, mod
AA2Unlimited
Modding framework for Artificial Academy 2
Stars: ✭ 75 (+33.93%)
Mutual labels:  mod
arcomage-hd
Web-based, free and open source, remastered 3D clone of 3DO/NWC's 2000 card game Arcomage. 13 languages. Desktop or mobile Android iOS. Online or offline PWA. Against AI or Multiplayer (w/o server). 🧝👾🃏 (ts+react+redux+rxjs, CSS-based anim, WebRTC)
Stars: ✭ 55 (-1.79%)
Mutual labels:  multiplayer
Funtuna-Fork
a homebrew ps2 app launcher for FMCB-incompatible ps2 units
Stars: ✭ 33 (-41.07%)
Mutual labels:  mod
ote
ote updates a packages' go.mod file with a comment next to all dependencies that are test dependencies; identifying them as such.
Stars: ✭ 25 (-55.36%)
Mutual labels:  mod
FlySkyRxFirmwareRssiMod
Patched firmwares for the various FlySky receivers to inject RSSI in IBUS channel 14
Stars: ✭ 96 (+71.43%)
Mutual labels:  mod
mirror-cache
A customizable reverse proxy with cache
Stars: ✭ 23 (-58.93%)
Mutual labels:  mirror

logo

GitHub GitHub release (latest by date) GitHub Release Date GitHub all releases GitHub release (latest by date) GitHub last commit (branch)

Support on Patreon Donate with PayPal Donate with PayPal

Quantum Space Buddies (QSB) is a multiplayer mod for Outer Wilds. The mod uses the OWML mod loader and Mirror for networking.

Spoilers within!

Installation

Easy installation (recommended)

  • Install the Outer Wilds Mod Manager;
  • Install Quantum Space Buddies from the mod list displayed in the application;
  • If you can't get the mod manager to work, follow the instructions for manual installation.

Manual installation

Hosting / Connecting

Connecting to a server

  • On the title screen, click the option CONNECT TO MULTIPLAYER.
  • Enter the Product User ID of the person you are trying to connect to.
  • Enjoy!

Hosting a server

  • Enter a game. This can be a new expedition or an existing save file.
  • On the pause screen, click the option OPEN TO MULTIPLAYER.
  • Share your Product User ID with the people who want to connect.
  • Enjoy!

Frequently Asked Questions

Requirements

  • Latest version of OWML.
  • Latest version of Mod Manager. (If using)
  • Latest version of Outer Wilds. We cannot guarantee QSB, or OWML, will work on cracked/pirated versions of Outer Wilds. Do not come asking us for help when using pirated versions.
  • Fast and stable internet connection, upload and download.
  • Above minimum Outer Wilds system requirements.

How complete is this mod? How far through the game can I play?

The base game is around 95% done, whereas EotE is around 80% done.

Compatibility with other mods

TL;DR - Don't use any mods with QSB that aren't marked as QSB compatible.

QSB relies on object hierarchy to sync objects, so any mod that changes that risks breaking QSB. Also, QSB relies on certain game events being called when things happen in-game. Any mod that makes these things happen without calling the correct events will break QSB. Some mods will work fine and have been tested, like CrouchMod. Others may only work partly, like EnableDebugMode and TAICheat.

Will you make this compatible with NomaiVR?

Maybe.

Why do I keep getting thrown around the ship?

Boring boring physics stuff. The velocity of the ship is synced, as well as the angular velocity. However, this velocity is not also applied to the player. (Or it is sometimes. I don't 100% know.) This means the ship will accelerate, leaving the player "behind". Which makes you fly into the walls alot.

Update: you can attach/detach yourself to/from the ship using the prompt in the center of the screen.

What's the difference between QSB and Outer Wilds Online?

TL;DR - QSB is multiplayer co-op, Outer Wilds Online is multiplayer not co-op.

QSB is a fully synced game. The other players are actually there in the world, and can affect things. The loop starts/ends at the same time for everyone, and you share ship logs / signal discoveries.

Outer Wilds Online is easier to set up, but much more basic in its features. The other players cannot affect your game, and do not contribute to anything in your save. The loop is entirely per-player.

Why would someone make this mod? Seems like a lot of effort for no reward.

Good question.

Let me know if you find an answer.

Update: a plausible answer is the enjoyment you get seeing/hearing about others playing with their friends :)

Translating

See TRANSLATING.md

Development Setup

  • Download the Outer Wilds Mod Manager and install it anywhere you like;
  • Install OWML using the Mod Manager
  • Clone QSB's source
  • Open the file DevEnv.targets in your favorite text editor
  • (optional if copying built dlls manually) Edit the entry <OwmlDir> to point to your OWML directory (it is installed inside the Mod Manager directory)
  • (optional if no unity project) Edit the entry <GameDir> to point to the directory where Outer Wilds is installed
  • (optional if no unity project) Edit the entry <UnityAssetsDir> to point to the Assets folder of the QSB unity project
  • Open the project solution file QSB.sln in Visual Studio 2022

If developing with the Steam version of Outer Wilds you can't run multiple instances of the game by default. To do so, create a file called steam_appid.txt in your Outer Wilds directory and write 753640 inside it, then run the exe directly.

A powerful PC is needed for development, due to the high amount of RAM and CPU needed to run 2 or 3 instances of modded Outer Wilds.

It is also recommended to lower all graphics settings to minimum, be in windowed mode, and lower resolution to roughly a quarter of your monitor space. This lets you run multiple instances of Outer Wilds to quickly test QSB.

Some debugging options exist to make things easier. These come in the form of actions and settings.

Debug Actions :

Hold Q and press :

  • Numpad 1 - Teleport to nearest player.
  • Numpad 2 - If holding LeftShift, warp to the dreamworld Vault fire. If not, warp to the Endless Canyon.
  • Numpad 3 - Unlock the Sealed Vault.
  • Numpad 4 - Damage the ship's electrical system.
  • Numpad 5 - Trigger the supernova.
  • Numpad 6 - Set the flags for having met Solanum and the Prisoner.
  • Numpad 7 - Warp to the Vessel.
  • Numpad 8 - Insert the Advanced Warp Core into the Vessel.
  • Numpad 9 - If holding LeftShift, load the SolarSystem scene. If not, load the EyeOfTheUniverse scene.
  • Numpad 0 - Revive a random dead player.

Debug Settings :

Create a file called debugsettings.json in the mod folder. The template for this file is this :

{
  "useKcpTransport": false,
  "dumpWorldObjects": false,
  "instanceIdInLogs": false,
  "hookDebugLogs": false,
  "avoidTimeSync": false,
  "autoStart": false,
  "skipTitleScreen": false,
  "debugMode": false,
  "drawGui": false,
  "drawLines": false,
  "drawLabels": false,
  "drawQuantumVisibilityObjects": false,
  "drawGhostAI": false,
  "greySkybox": false
}
  • useKcpTransport - Allows you to directly connect to IP addresses, rather than use the Epic relay.
  • dumpWorldObjects - Creates a file with information about the WorldObjects that were created.
  • instanceIdInLogs - Appends the game instance id to every log message sent.
  • hookDebugLogs - Print Unity logs and warnings.
  • avoidTimeSync - Disables the syncing of time.
  • autoStart - Host/connect automatically for faster testing.
  • skipTitleScreen - Auto-skips the splash screen.
  • debugMode - Enables debug mode. If this is set to false, none of the following settings do anything.
  • drawGui - Draws a GUI at the top of the screen that gives information on many things.
  • drawLines - Draws gizmo-esque lines around things. Indicates reference sectors/transforms, triggers, etc. LAGGY.
  • drawLabels - Draws GUI labels attached to some objects. LAGGY.
  • drawQuantumVisibilityObjects - Indicates visibility objects with an orange shape.
  • drawGhostAI - Draws debug lines and labels just for the ghosts.
  • greySkybox - Turns the skybox grey. Useful in the Eye, where it's pretty dark.

Warning : Mod development can lead to unexpected errors in your computer system.

  • When editing the networking code, mistakes can lead to QSB overwhelming your network connection with excess packets.
  • Too high RAM usage will lead to Outer Wilds sticking at ~31% loading, then crashing.
  • There have been instances of graphics cards crashing, and needing to be disabled/re-enabled from Device Manager.

Authors and Special Thanks

Authors

Contributers

  • Chris Yeninas - Help with project files and GitHub workflows.
  • Tlya - Russian translation.
  • Xen - French translation.
  • ShoosGun - Portuguese translation.

Special Thanks

  • Thanks to Logan Ver Hoef for help with the game code, and for helping make the damn game in the first place.
  • Thanks to all the people who helped in public tests.

Dependencies

Help / Discuss development / Whatever

Join the Outer Wilds Modding Discord, we have a nice #qsb-bugs-and-questions channel for support, and other channels to discuss modding!

License and legal stuff

Copyright (C) 2020 - 2022 :

  • Henry Pointer (_nebula or misternebula)
  • Will Corby (JohnCorby)
  • Aleksander Waage (AmazingAlek)
  • Ricardo Lopes (Raicuparta)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

This work is unofficial Fan Content created under permission from the Mobius Digital Fan Content Policy. It includes materials which are the property of Mobius Digital and it is neither approved nor endorsed by Mobius Digital.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].