Giter VIP home page Giter VIP logo

subnauticamodding / qmodmanager Goto Github PK

View Code? Open in Web Editor NEW
139.0 13.0 51.0 344.94 MB

Config based patch management for Subnautica and Subnautica: Below Zero

Home Page: https://discord.gg/UpWuWwq

License: Other

C# 97.37% Shell 1.38% Batchfile 1.25%
mods modding modding-games csharp c-sharp modding-library modding-tools qmodmanager subnautica-mods subnauticabelowzero-mods subnautica subnauticabelowzero mod

qmodmanager's People

Contributors

ahk1221 avatar alexejhero avatar allcontributors[bot] avatar asherslab avatar bluefireexplosion avatar celvro avatar desperationfighter avatar eonfge avatar esper89 avatar itscinnabar avatar jkohlman avatar k07h avatar leetwentythree avatar legojoshua12 avatar metious avatar mrpurple6411 avatar nesrak1 avatar primesonic avatar qwiso avatar randyknapp avatar tobiasstrebitzer avatar toebeann avatar zebralear avatar zorgesho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qmodmanager's Issues

Add dependency on .net 3.5 in the install shield script

Describe the issue
If the machine has a 4.x version of the .net framework but not 3.5 the installer wont work. It will fail with an unhelpful message (see #68).

Since Subnautica seems to include some sort of prepackaged mono run-time it isn't installed as part of the game even though 3.5 is the required version for the game.

This is a very detectable scenario. I propose adding a dependency on .net 3.5 in the .iss file in the installer

Problems with qmodmanager-config.json

Breaking Bug (fixed)

Breaking Bug: Blank config file breaks mod loading

If the config file is present but is empty, the following exception is thrown which breaks all mod loading

[QModManager] [Patcher] [Error] There was an error while trying to apply Harmony patches.
[QModManager] [Patcher] [Exception] System.NullReferenceException: Object reference not set to an instance of an object
  at QModManager.Utility.Config.Get[T] (System.String field, T def) [0x0000c] in <26a3b294b2664334b9811ca9998cbf8c>:0
  at QModManager.Utility.Config.get_EnableDebugLogs () [0x00000] in <26a3b294b2664334b9811ca9998cbf8c>:0
  at QModManager.Utility.Logger.Debug (System.String[] text) [0x00000] in <26a3b294b2664334b9811ca9998cbf8c>:0
  at QModManager.Patching.Patcher.PatchHarmony () [0x00000] in <26a3b294b2664334b9811ca9998cbf8c>:0
  at QModManager.Patching.Patcher.Patch () [0x00188] in <26a3b294b2664334b9811ca9998cbf8c>:0
[QModManager] [Patcher] [Fatal] An unhandled exception has been caught! Patching ended prematurely!
[QModManager] [Patcher] [Exception] System.NullReferenceException: Object reference not set to an instance of an object
  at QModManager.Utility.Config.Get[T] (System.String field, T def) [0x0000c] in <26a3b294b2664334b9811ca9998cbf8c>:0
  at QModManager.Utility.Config.get_EnableDebugLogs () [0x00000] in <26a3b294b2664334b9811ca9998cbf8c>:0
  at QModManager.Utility.Logger.Debug (System.String[] text) [0x00000] in <26a3b294b2664334b9811ca9998cbf8c>:0
  at QModManager.Checks.VersionCheck.Check () [0x0007d] in <26a3b294b2664334b9811ca9998cbf8c>:0
  at QModManager.Patching.Patcher.Patch () [0x001fe] in <26a3b294b2664334b9811ca9998cbf8c>:0

Can be fixed on the player side by either deleting the file or editing it manually to the literal text "{}"

Issue can be reproduced by simply deleting the contents of the qmodmanager-config.json file.

Secondary non-issue

The file only ever contains the text "{}" if no settings are changed.
image

Mac support

So my issue is that I am trying to get QMods working on mac, and I saw there were mac instructions. Upon reading, I followed them step by step until I ran the command "mono QMods.exe" in my terminal. It printed the error:
Cannot open assembly 'QMods.exe': File does not contain a valid CIL image.
I then decided to google an answer and found to do "mcs QMods.exe". This created the error:
error CS2015: Source file QMods.exe' is a binary file and not a text file`
Does anyone have any info on what I am doing wrong or should try doing? I would like this to work for mac, but I know you have stated in the past that a mac version was not on the horizon. Any advice on what to do is greatly appreciated.

Can't resolve identical EntryMethods

Describe the bug
If two or more mods will have same "EntryMethod", then QModManager will report error:

QMOD ERR: something strange happened

and will not load mods.

Additional info
I want to use same entry method ("QMod.Patch") for all my libraries, is there a way QModManager can deal with it?

System.ArgumentOutOfRangeException when running cleanup of Nitrox/previous QMMin

When running the QModManager installer, the "clean up after Nitrox and previous QMM installs" step results in the following error. The installer reports success, but QMM fails to function.

Attempting to clean up Nitrox and previous QMM installs...
Path is unsafe! D:\Steam\steamapps\common\Subnautica\BepInEx\patchers\QModManager../../..\Subnautica_Data\Managed
Path is unsafe! D:\Steam\steamapps\common\Subnautica\BepInEx\patchers\QModManager../../..\Subnautica_Data\Managed
EXCEPTION CAUGHT!
System.ArgumentOutOfRangeException: Non-negative number required.
Parameter name: count
at System.IO.BinaryReader.ReadBytes(Int32 count)
at Mono.Cecil.PE.ImageReader.ReadDebugHeader()
at Mono.Cecil.PE.ImageReader.ReadImage()
at Mono.Cecil.PE.ImageReader.ReadImage(Disposable`1 stream, String file_name)
at Mono.Cecil.ModuleDefinition.ReadModule(Stream stream, ReaderParameters parameters)
at QModManager.CleanUp.Initialize(String gameRootDirectory, String managedDirectory)
at QModManager.Executable.Main(String[] args)

Update README.md

The README file needs to be updated with the new changes in QMM 4. Leaving this issue here so we don't forget about this.

Trouble building QModManager_Setup.exe

I opened the project within Visual Studio, Build > Build Solution, but QModManager_Setup.exe does not get built.

Instead, only the following files get built (into the Build folder, checked by Date Modified, setup.exe was never modified):
InstallerExtensions.dll
QModInstaller.dll
QModInstaller.pdb
QModManager.exe
QModManager.pdb

I'm wondering what steps I'm missing to build the final version of the setup executable?

Runtime Error (at 55:357)

Describe the problem
Executing the installer results in a popup with the following error:
Runtime Error (at 55:357):
SWbemLocator: Server execution failed

All processes close after popup is dismissed.

Additional info
Windows 7, 64bit

Add information for installing QMods on Linux with Steam Play Proton

Modding Subnautica & Subnautica: Below Zero is very much possible and can be achieved with very little work! follow the instructions below on how to properly setup a modded environment.

Installing QMods on Linux with Proton

  1. Right click on Subnautica, select Manage then Browse local files
  2. Manually download the ZIP archive of QModManager from here: https://www.nexusmods.com/subnautica/mods/201?tab=files
  3. Extract the files directly to the folder opened in step 1 - if you've done it correctly you should see a file called winhttp.dll
  4. Right click on Subnautica in your library, select Properties and add this to the launch options:
WINEDLLOVERRIDES='winhttp.dll=n,b' %command%
  1. Now you should have a QMods folder in your Subnautica folder. Simply put your mods in that folder and they will load to the game!

Troubleshooting:

  • If there's no QMods folder in your Subnautica root folder after installing QModManager, create a folder named QMods manually yourself.
  • Most mods require SMLHelper to work. Make sure to install it as well and pay attention to the dependencies of any mod you're installing.
  • Ensure you are using the latest version of Subnautica or Below Zero. Modding experimental builds is unreliable and often very buggy, make sure to mod the stable build of the games instead.

Credits to @szszoke for writing this simple version of the required instructions.

Qmod Manager suddenly stopped working

I have reinstalled the game, moved my mods and saved. When I reinstall the latest version of qmod manager, subnautica says the player settings is corrupt.

QModManager 4 doesn't install properly

When i tried to install QModManager 4 it doesn't install properly, the QMod folder appeared, but none of the Qmod files have shown up in C:\SteamLibrary\steamapps\common\Subnautica\Subnautica_Data\Managed

subnautica qmod

QModManager 3 works just not QModManager 4
(I already have tried doing the map mod but it didn't work)

Add logs location

Suggestion
Add following line on "Logger" page to tell where is the logs output:
Logs will be written to the default Subnautica log file (%userprofile%\AppData\LocalLow\Unknown Worlds\Subnautica\Player.log).

Cannot install QModManager

During installation the following error happened.

D:\Games\Steam\steamapps\common\Subnautica\Subnautica_Data\Managed\Newtonsoft.Json.dll
An error occurred while trying to replace the existing file:
DeleteFile failed; code 5.
Access denied.

I was running install as administrator, and I quit Steam client so it wouldn't interfere, but to no avail.
I was able to circumvent the error by manually renaming the file to Newtonsoft.Json.dll.old, however, during patching the following error happened.

D:\Games\Steam\steamapps\common\Subnautica\Subnautica_Data\Managed>QModManager.exe
No patch detected, type 'yes' to install:
yes

Unhandled exception: System.IO.IOException: The requested operation cannot be performed on a file with a user-mapped section.

   in System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   in System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
   in System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
   in System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   in Mono.Cecil.ModuleDefinition.GetFileStream(String fileName, FileMode mode, FileAccess access, FileShare share)
   in Mono.Cecil.ModuleDefinition.Write(String fileName, WriterParameters parameters)
   in Mono.Cecil.AssemblyDefinition.Write(String fileName)
   in QModInstaller.QModInjector.Inject()
   in QModManager.Program.Main(String[] args)

Running the patcher as administrator didn't help here, either.

I'm running Windows 10, and I was trying to install QModsSetup-16-1-2-1.exe downloaded from nexusmods.

What additional info can I provide?

Game won't run now

Installed QMM 3.0 to game directory; game no longer starts. Ran fine with QMM 2.01

Error message:
Failed to load PlayerSettings (internal index #0).
Most likely data file is corrupted, or built with mismatching
editor and platform support versions.

The game does not open with Qmodmanager

Hello, every time I try to start subnautica with qmod manager 2.3 installed the game does not open, when I try with 2.1 gives an error message, and some file is corrupted because I can no longer open the game without giving the error message.

Screenshots
the error message
image

Logs
when i use the version 2.1
Player.log

when i use the version 2.3
Player.log

Additional info
my game is bought by epic games

Subnautica BZ will not run stuck on black loading screen

It will not let me launch Subnautica BZ. with Qmods installed , it will open to a black loading screen, the game runs fine without Qmod but as soon as qmods is installed it wont load. I've uninstalled and reinstalled the game and Qmods, both seem to not do anything. I've changed the name to Qmods1 as the folder name and it worked but then none of the mods would work in the game. So i read on you mod page that every update you need to reinstall the QMods and i did as such and still nothing, it will not let me play the game with the Qmod installed. if you could please help me id very much appreciate it. i can play in the original Subnautica with no issues but i feel since BZ is still under development there has to be an issue going on.

thank you very much! hope to hear from you soon!

still not working after update to 3.3 BZ

same issue. mods will not run on Qmods when it did open and then i uninstalled and reinstalled the game and qmods and still no good even after the 3.3 update? idk if i'm doing something wrong, but i have done the same thing i did with Subnautica and it works fine and with BZ its no good,

Could not find assembly file.

I get following issue:

Could not find the assembly file.
Please make sure you have installed QModManager in the right folder.
If the problem persists, open a bug report on NexusMods or an issue on GitHub

Press any key to exit...

appears to be installed in the correct place? it auto detected and the dir contains a binch of DLLs and unity files (D:\Games\Steam\steamapps\common\Subnautica\Subnautica_Data\Managed)

any ideas?

Relicts of the Past update broke mod options

Describe the issue
Upon entering mod tab in game options I receive this error:

MissingMethodException: uGUI_SnappingSlider uGUI_TabbedControlsPanel.AddSliderOption(int,string,single,single,single,single,single,UnityEngine.Events.UnityAction`1<single>,SliderLabelMode)
  at SMLHelper.V2.Options.ModOptions+<>c__DisplayClass26_0.<AddOptionsToPanel>b__0 (SMLHelper.V2.Options.ModOption option) [0x00000] in <3ab16902b00c48189741143d09f273df>:0 
  at SystemExtensions.ForEach[T] (System.Collections.Generic.IEnumerable`1[T] items, System.Action`1[T] action) [0x00010] in <a273d96341f140c18bc60540f9e633cb>:0 
  at SMLHelper.V2.Options.ModOptions.AddOptionsToPanel (uGUI_TabbedControlsPanel panel, System.Int32 tabIndex) [0x00047] in <3ab16902b00c48189741143d09f273df>:0 
  at SMLHelper.V2.Patchers.OptionsPanelPatcher+<>c__DisplayClass4_0.<AddTabs_Postfix>b__1 (SMLHelper.V2.Options.ModOptions options) [0x00000] in <3ab16902b00c48189741143d09f273df>:0 
  at SystemExtensions.ForEach[T] (System.Collections.Generic.IEnumerable`1[T] items, System.Action`1[T] action) [0x00010] in <a273d96341f140c18bc60540f9e633cb>:0 
  at SMLHelper.V2.Patchers.OptionsPanelPatcher.AddTabs_Postfix (uGUI_OptionsPanel __instance) [0x0012c] in <3ab16902b00c48189741143d09f273df>:0 
  at (wrapper dynamic-method) uGUI_OptionsPanel.DMD<uGUI_OptionsPanel::AddTabs>(uGUI_OptionsPanel)
  at uGUI_OptionsPanel.OnEnable () [0x0002d] in <f6fd98deb9ff41358c10ee40c13c0a7a>:0 
UnityEngine.GameObject:SetActive(Boolean)
MainMenuRightSide:OpenGroup(String)
uGUI_MainMenu:OnButtonOptions()
UnityEngine.Events.InvokableCall:Invoke()
UnityEngine.Events.UnityEvent:Invoke()
UnityEngine.UI.Button:Press()
UnityEngine.UI.Button:OnPointerClick(PointerEventData)
UnityEngine.EventSystems.ExecuteEvents:Execute(IPointerClickHandler, BaseEventData)
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
FPSInputModule:ProcessMousePress(MouseButtonEventData)
FPSInputModule:ProcessMouseEvent()
FPSInputModule:OnUpdate()
ManagedUpdate:Execute(Queue)
ManagedUpdate:LateUpdate()

And the slider dosen't show up.

Additional info
Full log:
Player.log
qmodmanager_log-SubnauticaZero.txt
List of mods:

Make the installation work on Linux properly

Describe the problem
I've tried to get QModManager to install for hours by now and it just doesn't work, the installer breaks (stuck at "finishing installation" while an error is spit out on the terminal). Is there a way to make a manual install for this?

Mac Version?

Desperately need a Mac version - anything on the horizon for that?

Missing assembly reference when trying to build project

Hi, I haven't used VS for many years and I need some clarification. I clone the project from github, I open it with Visual Studio and I didn't change anything but if i try to build the entire project(or single part except InstallerExtensions) it didn't compile and give me some error like FMODUnity not found(i googled FMODUnity but what i found not work) or RuntimeManager/UWE/DevConsole not exist.
Where am I doing wrong?

Thanks

.NET Framework 3.5 missing

After installing QMods I do not notice the creation of the QMods folder. After creating it manually and introducing the folders for each mod in it there seems to be no gameplay impact, the map is not shown, no new crafting options appear, it seems the mod is nonfunctional.

qmods folder
instal folder

I'm running Windows 10 Pro, Regional settings are to English and UK. Game is Steam version.
After the installation of QMods I am prompted to install net framework 3.5, but windows 10 comes with a superior version of it and cannot downgrade

Newest Version Causing Subnautica Launch Issues

Not sure entirely what is going on, but at least with Vers. 2.1 it seems to be having some conflict with the newest Subnautica update: Big Little Update. When installed, before adding any mods, it causes the game to not launch at all. When the file integrity is validated, Steam states that two files were corrupted and needed to be re-downloaded.

Note: There were messages of a similar tone on Nexus, but I saw that as far as I could see, there were no messages here on GitHub. If you have gotten messages, my apologies for the duplicate error reports.

Sml Helper Value Settings In Mod Options

SML Helper Idea. A setting where a user can enter a value in to a box instead of having to use sliders.

(would of posted it in sml helper but there is no option to do an issue)

VersionDependencies and Dependencies cause different load orders in small numbers

Describe the bug
VersionDependencies does not appear to have the same default LoadBefore behavior that Dependencies does.
Depending on the mod IDs and dependencies present in the list, this can result in some mods loading in the wrong order.

Logs
Player-9.log

Additional info
In the example above, SMLHelper was patched before CustomCraft2SML, causing odd behaviors in-game as some of the elements were patched but others (like the custom sprites) were not.

The issue likely stems from the SortedCollection and how it doesn't look at VersionDependencies or something more abstracted such as RequiredMods.

Installation on macOS makes checks for Windows paths before calling GetOS()

Describe the problem
I downloaded QModManager 4.0.2.3-201-4-0-2-3-1600476097.exe, installed it on a Windows VM, copied the latest BepInEx folder over to my Mac (10.15.6). While attempting to run mono QModManager.exe, I kept getting a "Could not find Managed directory" error, no matter where I put the BepInEx directory.

A quick survey of the code

string gameRootDirectory = Path.Combine(Environment.CurrentDirectory, "../../..");
string snManagedDirectory = Path.Combine(gameRootDirectory, "Subnautica_Data", "Managed");
shows that the installer is looking for ../../../Subnautica_Data/Managed, and can fail with the above error before it calls GetOS
os = GetOS();
to specialize directory names. Unfortunately the directory in question in macOS is ~/Library/ApplicationSupport/Steam/steamapps/common/Subnautica/Subnautica.app/Contents/Resources/Data/Managed, so the check for the managed directory always fails.

I also couldn't run the QModManager.exe with out importing the BepInEx dlls to the local folder since the relative paths require me to execute the file from its own directory?

Workaround
Since the first check expected the Data folder to 3 dirctories down, I placed the BepInEx folder in ~/Library/ApplicationSupport/Steam/steamapps/common/Subnautica/Subnautica.app/Contents/Resources and ran:

cd ~/Library/ApplicationSupport/Steam/steamapps/common/Subnautica/Subnautica.app/Contents/Resources
ln -s Data Subnautica_Data
cd BepInEx/patchers/QModManager
ln -s ../../core/* .
mono QModManager.exe

it wont work at all

i can seem to get any mods to work with subnautica, i have a windows 10 and i can install it, but i cant seem to intall the mods correctly, i need help, anyway to get a step by step guide? bc im not finding any

Installer cannot import InstallerExtensions.dll

This is the first thing that happens when I try to run the v2.0.1 installer on Windows 10.

Full error:

Runtime error (at -1:0):

Cannot import dll:<utf8>C:\Users\Preston\AppData\Local\Temp\is-CQFN9.tmp\InstallerExtensions.dll.

Each time I run it, it has a different name for the "is-*****.tmp" folder in the above path. It is always "is-" followed by a 5 character sequence of random upper case letters and numbers. Some kind of hash maybe? Not sure if that's relevant, just something I noticed.
In any case, neither this dll nor this "is-*****.tmp" folder exists in my AppData/Local/Temp directory.

Also tried running the installer as admin but same error occurs.

An example mod for QModManager

A simple example of how to develop a QModManager-compatible mod would be appreciated.
What's written in README.md is a nice start, but it leaves a few questions open, like how to link up Subnautica's assemblies, how to see which objects are available, etc.
The content can be really minimalistic, like writing a line into game log at the start.

Mac installer & files not working with current Unity & Subnautica version

The provided Mac files and installer seem to be from May 2019 (QModManager ver. 2.1), which is per release notes incompatible with current game and Unity version (QModManager ver. 3.01), could that be the culprit? Tried manual install per instructions (copying from Build and Dependencies dirs), that did not work either (Mono 6.8 Stable). Subnautica from Epic Games, ver. 63668.

Manual install from 2.1 Mac folder sort of worked (mono QModManager.exe ran ok), but game crashed upon launching (old Unity dlls?).

Manual install from Build and Dependencies dirs did not work (mono QModManager.exe resulter in errors).

Mouse stuck in center of screen / loss of cursor

Describe the problem
After installation, launching the game locks the mouse in the middle of the screen, along with the cursor no longer being visible. Uninstalling through the .dat or QModManager restores vanilla game functionality.

Additional info
The background of the titlescreen also gets distorted with QMod active, it just becomes a flat, matte blue color.

Idea: A dll "proxy" to prevent wrong installations

With the engine update to 2018, you can guarantee that there will be users trying to install QModManager 3.0 for cracked versions not yet on U2018.

I suggest turning QModInstaller.dll intro a proxy file which checks for the unity version, nitrox, and does all initializing before QModManager.dll is loaded into the app domain.

An unhandled exception has been caught, Qmods manager can not be initiazied.

Describe the issue

I have Qmods manager 3.2.1 and SML helper 4. When I started the game, that thing showed. Can someone please help me with it, thank you!!! The report below:

[QModManager] [PirateCheck] [Warn] Ahoy, matey! Ye be a pirate!
[QModManager] [GameDetector] [Info] Detected game: Subnautica
[QModManager] [Patcher] [Info] Started loading mods
[QModManager] [Patcher] [Fatal] An unhandled exception has been caught! Patching ended prematurely!
[QModManager] [Patcher] [Exception] System.IO.FileNotFoundException: Could not load file or assembly '0Harmony_Shim, Version=1.2.0.1, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
File name: '0Harmony_Shim, Version=1.2.0.1, Culture=neutral, PublicKeyToken=null'
at (wrapper managed-to-native) System.MonoCustomAttrs.GetCustomAttributesInternal(System.Reflection.ICustomAttributeProvider,System.Type,bool)
at System.MonoCustomAttrs.GetCustomAttributesBase (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType, System.Boolean inheritedOnly) [0x00013] in <567df3e0919241ba98db88bec4c6696f>:0
at System.MonoCustomAttrs.GetCustomAttributes (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType, System.Boolean inherit) [0x00037] in <567df3e0919241ba98db88bec4c6696f>:0
at System.RuntimeType.GetCustomAttributes (System.Type attributeType, System.Boolean inherit) [0x00038] in <567df3e0919241ba98db88bec4c6696f>:0
at QModManager.Patching.ManifestValidator.FindPatchMethods (QModManager.Patching.QMod qMod) [0x000d4] in <4a267c3c41df4ec4b523429276057f21>:0
at QModManager.Patching.ManifestValidator.ValidateManifest (QModManager.Patching.QMod mod) [0x00205] in <4a267c3c41df4ec4b523429276057f21>:0
at QModManager.Patching.QModFactory.CreateModStatusList (System.Collections.Generic.List1[T] earlyErrors, System.Collections.Generic.List1[T] modsToLoad) [0x000ed] in <4a267c3c41df4ec4b523429276057f21>:0
at QModManager.Patching.QModFactory.BuildModLoadingList (System.String qmodsDirectory) [0x0004f] in <4a267c3c41df4ec4b523429276057f21>:0
at QModManager.Patching.Patcher.Patch () [0x00225] in <4a267c3c41df4ec4b523429276057f21>:0
[QModManager] [VersionCheck] [Info] Newer version found: 4.0.2.2 (current version: 3.2.1)
Material doesn't have a texture property '_MainTex'

(Filename: C:\plastic_workspace_unity\Runtime/Shaders/Material.cpp Line: 1371)

Material doesn't have a texture property '_MainTex'

(Filename: C:\plastic_workspace_unity\Runtime/Shaders/Material.cpp Line: 1371)

Object reference not set to an instance of an object
Loading game settings

(Filename: C:\plastic_workspace_unity\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Unloading asset bundle 'waterdisplacement' because it is no longer referenced

(Filename: C:\plastic_workspace_unity\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Process name: Subnautica

(Filename: C:\plastic_workspace_unity\Runtime/Export/Debug/Debug.bindings.h Line: 35)

changeset 65786, QualityLevel = 1

(Filename: C:\plastic_workspace_unity\Runtime/Export/Debug/Debug.bindings.h Line: 35)

OK Running Win64

(Filename: C:\plastic_workspace_unity\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Application version: 65786

(Filename: C:\plastic_workspace_unity\Runtime/Export/Debug/Debug.bindings.h Line: 35)

SystemInfo:
deviceModel = HP ENVY x360 Convertible 13-ag0xxx (HP)
deviceName = DESKTOP-SNIONE4
deviceType = Desktop
deviceUniqueIdentifier = 028c3c3cb80f3f4fa1badc5342c0fcd43c5fe3d6
graphicsDeviceID = 5597
graphicsDeviceName = AMD Radeon(TM) Vega 6 Graphics
graphicsDeviceType = Direct3D11
graphicsDeviceVendor = ATI
graphicsDeviceVendorID = 4098
graphicsDeviceVersion = Direct3D 11.0 [level 11.1]
graphicsMemorySize = 3561
graphicsShaderLevel = 50
npotSupport = Full
maxTextureSize = 16384
operatingSystem = Windows 10 (10.0.0) 64bit
processorCount = 4
processorFrequency = 1996
processorType = AMD Ryzen 3 2300U with Radeon Vega Mobile Gfx
supportedRenderTargetCount = 8
supports3DTextures = True
supportsAccelerometer = False
supportsComputeShaders = True
supportsGyroscope = False
supportsImageEffects = True
supportsInstancing = True
supportsLocationService = False
supportsRawShadowDepthSampling = True
supportsRenderTextures = True
supportsRenderToCubemap = True
supportsShadows = True
supportsSparseTextures = True
supportsStencil = 1
supportsVibration = False
systemMemorySize = 7123

(Filename: C:\plastic_workspace_unity\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Screenshots

Additional info

Harmony shimmer failing in some cases

Describe the bug
Some users are reporting an error stopping some mods from being loaded. Issue seems to be coming from our Harmony shim, log output as follows.

[Debug] [Info   :QMMHarmonyShimmer] Shimming QMods...
[Debug] [Error  :QMMHarmonyShimmer] Failed to shim 0Harmony.dll
[Debug] [Error  :QMMHarmonyShimmer] System.BadImageFormatException: Format of the executable (.exe) or library (.dll) is invalid.
  at Mono.Cecil.PE.ImageReader.ReadImage () [0x00013] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.PE.ImageReader.ReadImage (Mono.Disposable`1[T] stream, System.String file_name) [0x00007] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.ModuleDefinition.ReadModule (Mono.Disposable`1[T] stream, System.String fileName, Mono.Cecil.ReaderParameters parameters) [0x00006] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.ModuleDefinition.ReadModule (System.IO.Stream stream, Mono.Cecil.ReaderParameters parameters) [0x00018] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.ModuleDefinition.ReadModule (System.IO.Stream stream) [0x00007] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.AssemblyDefinition.ReadAssembly (System.IO.Stream stream) [0x00000] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at QModManager.QMMHarmonyShimmer.QMMHarmonyShimmer.ShimQMods () [0x00179] in <2c45d767c91a491984d51c42609253d7>:0
[Debug] [Error  :QMMHarmonyShimmer] Failed to shim YamlDotNet.dll
[Debug] [Error  :QMMHarmonyShimmer] System.ArgumentOutOfRangeException: Non-negative number required.
Parameter name: count
  at System.IO.BinaryReader.ReadBytes (System.Int32 count) [0x00013] in <567df3e0919241ba98db88bec4c6696f>:0 
  at Mono.Cecil.PE.ImageReader.ReadDebugHeader () [0x000f7] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.PE.ImageReader.ReadImage () [0x000a8] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.PE.ImageReader.ReadImage (Mono.Disposable`1[T] stream, System.String file_name) [0x00007] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.ModuleDefinition.ReadModule (Mono.Disposable`1[T] stream, System.String fileName, Mono.Cecil.ReaderParameters parameters) [0x00006] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.ModuleDefinition.ReadModule (System.IO.Stream stream, Mono.Cecil.ReaderParameters parameters) [0x00018] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.ModuleDefinition.ReadModule (System.IO.Stream stream) [0x00007] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.AssemblyDefinition.ReadAssembly (System.IO.Stream stream) [0x00000] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at QModManager.QMMHarmonyShimmer.QMMHarmonyShimmer.ShimQMods () [0x00179] in <2c45d767c91a491984d51c42609253d7>:0

This seems to be happening when the assembly being looked at is not in the correct format (probably unmanaged), and is often also happening when some mod authors are distributing their own version of 0Harmony.dll with their mod (oof - we should probably make it clear in the docs that this is a VERY BAD IDEA).

Posting this here as a reminder for myself to look into this ASAP.

No such file directory issue

Problem
When trying to Install this on mac i get the following issue in terminal
cp: QmodManagerMac/*: No such file or directory
Screenshots
Issue qmod

contact me on discord https://discord.gg/a9s49jm i wont be on from 11am to 12pm central europen time

Issue installing QModManager

Running the QModManager instillation application doesn't load all the files into the Subnautica, I am running windows 10, have disabled all protections and running the file as an Administrator. The folder is in the standard steam directory and I am not receiving any error messages related to this, please advise.

QModManager not installing correctly (no errors displayed)

Running the installer normally or as administrator does not install QMods into the Subnautica folder. The install display no errors when installing and completes to the finish GUI. I have verified that the subnautica path is correct both by manually selecting the subnautica button and manually selecting the path.

I have also downloaded the the install file from Nexus several times with the same results.

Note. I do have steam located on my D: drive "D:\Program Files (x86)\Steam\steamapps\common\Subnautica"

Subnautica directory after running QMod manager

Screenshot (8)

Version dependencies: 2.8 != 2.8.0

Describe the bug
When checking version dependencies, 2.8 is not considered equal to 2.8.0. Therefore, if SMLHelper's version is set to "2.8" and another mod specifies a version dependency of "SMLHelper": "2.8.0", QMM considers the 2.8 version to be older than 2.8.0 due to a quirk of Version in .NET:
https://docs.microsoft.com/en-us/dotnet/api/system.version.compareto?view=netcore-3.1

We probably need to just clean the version strings before we parse them, trim any occurrences of ".0" from the end.

QModManager 3.0 - Roadmap

Required

Pass-through DLL

image

Documentation
  • Wiki
  • Assembly Publicizer notice
  • README
Fix Open Log button for MacOS

image

Optional

Prevent saves from being loaded if mods are missing

image

Add new and expand capabilities of Spawnable classes

image
image

<TechType>.ToString

image

Cache system re-write

image

Add PrefabIdentifier to all ModPrefabs

image

<PDAItem>.UnlockedBy

image

Proxy DLL

With the engine update to 2018, you can guarantee that there will be users trying to install QModManager 3.0 for cracked versions not yet on U2018.

I suggest turning QModInstaller.dll intro a proxy file which checks for the unity version, nitrox, and does all initializing before QModManager.dll is loaded into the app domain.

Entirely Broke My Entire Game

Okay what the actual heck. I downloaded this to be able to use a mod in Subnautica but little did I know this was some Malware (not really but close enough) stuff. It bugged my entire game and rid all progress I've made. What game? The game I can't even load at the moment because I am 'luckily' stuck at the loading... page for literally all of eternity. Fix your mod or don't publish it, very upset with how this turned out. Do not download this unless you'd like to lose literally everything; like I did. I downloaded this, and I can't even delete the file. No matter what I do it comes back and ensures that my previous saves and fun times spent building and playing in this game were entirely eradicated. What the actual heck man. Can someone tell me how to fix this? I'd like to actually be able to play the darn game
Screenshots
image
^ stupid loading screen that lasts three thousand decades

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.