Coder Social home page Coder Social logo

neosmodmanager's Introduction

NeosModManager

A mod manager for NeosVR.
Manage and install mods from the community-managed listing of mods. More information about the mod list or modding NeosVR in general can be found on the NeosModLoader Website.

Features:

  • Download and install most mods from Mod Manifest
  • Show mods with updates available
  • Quick access to NeosVR, Logs, nml_mods and NMM Application folders
  • Options to use Neos.exe or NeosLauncher.exe
  • Persistent launch arguments
  • Manually check mod github pages for mod updates that aren't on the manifest yet
  • Search Mods by name, category, description text, author, tags

Prerequisite

Installation and Usage

Read the wiki for Windows / Linux Installation steps
or Download the Latest Release.

After Installing, check out Usage

neosmodmanager's People

Contributors

xdelta avatar

Stargazers

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

Watchers

 avatar  avatar

neosmodmanager's Issues

mod with a non standard name behave weirdly

I have a mod in my mods folder called ReArmature (1).dll, the mod manager detects the mod just fine, but trying to disable the mod will not do anything (not even a message in the log saying it tried to disable it or an error that would actually say what happened)

trying to update that mod, doesn't delete the original dll either so you end up with 2 dlls ReArmature (1).dll (the old version) and ReArmature.dll the new version created by the manager

iTrackerFix mod downloads file with wrong hash compared to manifest

This is strange because if you download the mod file directly from GitHub it has the correct hash, but downloading it through the mod manager gives a file with the wrong hash. So I think the mod manager is changing this file somehow to give it a different hash.

Also the mod does not appear checked in the mod manager after downloading it.

change EROR to ERROR in the logs

I assume it's EROR so that it lines up nicely with other messages, but I think it would actually be better for errors stand out a bit since they are usually meant for when something breaks, and it means the word is actually spelled correctly too

non-manifest mods flood the logs too much

I would say only displaying those messages once at the start of the app would be fine, makes the log super difficult to read when you have 22 non-manifest mods (I checked, that's exactly how many I have)

add progress bar or something

when I install an update I have no idea what's going on, the mod is displaying as not installed, but it is actually installing.
there is no way to know if the installation has failed so I'm just waiting there clicking the check for updates button hoping it shows up as installed and up to date

subdirectory support

NeosModLoader will load mods located in subdirectories, but the mod manager will not detect mods located in subdirectories.
Ideally when updating a mod located in a subdirectory, it will stay in that directory for organization purposes.
(personally I don't use this or care for it at all but someone else might so it's worth considering)

[Bug] UI appears broken at high display resolution/scale

I downloaded NeosModManager 0.3.1, and upon opening it the UI entered a broken state. I cannot confirm with 100% certainty display resolution/scaling is the issue, but I bring it up as other applications on my PC have been affected by this. I should note downscaling doesn't seem to change this particular application.

Either way, I'm opening this issue in case any other users encounter something similar. I'll post updates here as I find them. Here are some screenshots of my mod manager for reference and some relevant specs:

  • Windows Version: Windows 11 Pro 22H2
  • Device: Asus Zenbook Duo
  • Graphics: i7-12700H, Intel Iris Xe Integrated Graphics/RTX 3060 Laptop GPU

image
image
image
image
image

Failed in deserialization of Manifest, conflicts expecting wrong type

System.Text.Json.JsonException: The JSON value could not be converted to System.String[]. Path: $.mods['me.art0007i.JustBoundedUIX'].versions['1.0.1'].conflicts | LineNumber: 1554 | BytePositionInLine: 34.
   at System.Text.Json.ThrowHelper.ThrowJsonException_DeserializeUnableToConvertValue(Type propertyType)
   at System.Text.Json.Serialization.JsonCollectionConverter`2.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TCollection& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonDictionaryConverter`3.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TDictionary& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonDictionaryConverter`3.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TDictionary& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable`1 actualByteCount)
   at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo jsonTypeInfo)
   at System.Text.Json.JsonSerializer.Deserialize[TValue](String json, JsonSerializerOptions options)
   at NeosModManager.ManifestManager.ReadManifest() in E:\Documents\GitHub\NeosModManager\Internals\ManifestManager.cs:line 43
03:21:31.564 [WARN] Making fallback manifest```

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.