Nsx Library Manager Switch

From GameBrew
Revision as of 03:23, 24 March 2024 by Hyatt (talk | contribs) (Created page with "{{Infobox Switch Homebrews |title=Nsx Library Manager |image=nsxlibrarymanagerswitch.png |description=Another Lib Manager for NSP NSZ files. |author=ivaano |lastupdated=2024/02/01 |type=PC Utilities |version=0.3.1 |license=MIT |download=https://dlhb.gamebrew.org/switchhomebrews/nsxlibrarymanagerswitch.7z |website=https://gbatemp.net/threads/nsx-library-manager.646336/ |source=https://github.com/ivaano/NsxLibraryManager |donation= }} {{#seo: |title=Switch Homebrew PC Tool...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Nsx Library Manager
Nsxlibrarymanagerswitch.png
General
Authorivaano
TypePC Utilities
Version0.3.1
LicenseMIT License
Last Updated2024/02/01
Links
Download
Website
Source

The Nsx Library Manager is a homebrew tool designed for managing and visualizing a Nintendo Switch library. It organizes files and creates a comprehensive database. The tool was created out of a desire for a data grid that allows easy filtering and sorting of games, and it offers the added convenience of server-based access from any device.

Features

  • Web interface.
  • Runs on Windows, Linux and Mac.
  • Supports NSP, NSZ, XCI, XCZ files.
  • Read a folder and analyze all the files.
  • Extract metadata from the files, like name, size, titleId, publisher and Icon.
  • Use titledb to aggregate more information.
  • Create a database with all the information.
  • Shows a list or grid of all your games.
  • Filter by name, publisher, size, titleId, region, type, etc.
  • Sort by name, publisher, size, titleId, region, type, etc.
  • List missing DLC or updates for your games.
  • Local TitleDb, no need to download it every time.

Requirements

  • dotnet 8.0
  • a recent browser (didn't worked on Edge 13)
  • prod.keys

Install

  • Download the latest release
  • Extract the zip/gz file
  • Create titledb\config.json and customize it to your needs:
    • TitleDatabase: Path where the db file is going to be stored, this is required and must end with .db. Use a fast drive for this file, like a NVMe.
    • LibraryPath: Path to your library.
    • Recursive: If true, it will search recursively in the library path.
    • TitleDbPath: Path where we are going to download titledb json Files to add them to the db.
    • RegionUrl: Url to download the region file.
    • CnmtsUrl: Url to download the cnmts file.
    • VersionUrl: Url to download the version file.
    • Regions: List of regions to download.
    • ProdKeys: Path to your prod.keys file, if this value is not set, program will look in the same folder as the executable, or you can put them in $HOME/.switch/prod.keys.
  • Alternative to creating the file manually, run the application once and it will create a default config file you can use the the browser to edit it.

Warning - Be sure that the paths you put on config.json are valid, the application doesn't create the paths if they don't exists.

Note - Please use absolute paths, relative paths might not work because the function to build paths is a little wonky for example ~/Library will not work as expected on linux, as the final result will be /ApplicationPath/~/Library instead of /home/user/Library.

Docker

  • Download the latest release
  • Extract the zip/gz file
  • build the image docker build -t nsxlibrarymanager .
  • you can mount the keys, titledb and library folders to the container, for example: -docker run --name nsxlibrarymanager -p 8080:8080 --mount type=bind,source=/home/ivan/nsxlib/keys,target=/app/keys --mount type=bind,source=/home/ivan/nsxlib/library,target=/app/library nsxlibrarymanager

Usage

  • Run the NsxLibraryManager.exe file.
  • If you are running it for the first time, you will need to download the region, cnmts and version files.
  • Open your browser and go to http://localhost:5000.
  • On first run you will need to update titledb, go to Titledb and click on Update Titledb button.
  • After that, go to Library and click on Reload Library
  • If new files are added to your library, you can use the Refresh Library button to update the database.
  • Reload Library will drop the table and create it again.

Tip - To setup the port or the listening address, you can use the --urls parameter, for example ./NsxLibraryManager.exe --urls http://*:6666 will listen on any interface on port 6666.

Screenshots

nsxlibrarymanagerswitch-01.png

nsxlibrarymanagerswitch-02.png

nsxlibrarymanagerswitch-03.png

nsxlibrarymanagerswitch-04.png

nsxlibrarymanagerswitch-05.png

nsxlibrarymanagerswitch-06.png

nsxlibrarymanagerswitch-07.png

nsxlibrarymanagerswitch-08.png

TODO

  • Implement the file organizer.
  • Support more Regions.
  • Ability to add custom information to each title (favorite, rating).
  • Ability to download and store banners and screenshots locally.
  • Optimization.

Changelog

v0.3.1

  • Config save fix by @ivaano

v0.3.0

  • Libraries updates
  • Dockerfile modification
  • Titledb Insertbulk reduced to chunks of 1k to decrease memory while importing
  • Titles that are not in cnmt are marked as unknown, marking them as base if titleid ends in 000
  • TitleDb Categories filter
  • Saving grid settings on library grid
  • Rename now creates subdirectories if needed
  • Config now read from config directory the default will be titledb so it can be mounted in docker.

v0.2.0

  • License by @ivaano
  • Renamer initial release by @ivaano
  • Settings moved to config by @ivaano

v0.0.1

  • First Release.
    • Features/odata service
    • Features/component refactor
    • Libhac Update
    • Deltas for faster library updates
    • Dashboard
    • Added game list page, and game card to easy browse games in library
    • Library Title detail moda
    • Move title detail in library to a modal
    • Versions update
    • Readme updates

Credits

External links

Advertising: