Jump to content

What does a metaserver do and how do i add one.


AtomicTEM

Recommended Posts

You should look at the Nexus Integration plugin and the GameBanana API (if they have one, it's hard to find stuff over there) to see if equivalent functionality is possible. It's not likely to be something we'd work on officially but the community are welcome to create it :)

Link to comment
Share on other sites

There are different ways you can integrate other sites into Vortex.

 

You can use the api function "registerModSource" to add an option in a couple of places, e.g. for the "Find More Mods" button. You can then use that to open a mod page (externally or in the integrated browser). If you go through the integrated browser, Vortex will also try to catch all download attempts and handle them. This way you can have a button inside Vortex that takes the user to a mod page and does its downloads from there.

 

Then you can react to certain events (like "Checking if there is an update to mod xyz") and there use the api of the mod page to handle that event (in this case: query the api for the current version of mod xyz, update the corresponding mod attributes to signal there is a newer version).

 

Metaservers are separate, they can be queried for files based on their md5-hash and provide meta information. So when you query a metaserver you already have to have the file on disk or know exactly which file you're interested in. It can't be used to find files (*) but to find details (description, author, potentially even hints about compatibility or dependencies with other mods) for a file you already have. This is primarily relevant if the user didn't get the file through an api at all but it can also be used for sites to provide additional info about a file, e.g. the STEP project could add dependency/compatibility info or installation instructions for the mods in their guide.

 

Technically you don't need to code anything to set up a metaserver, this repo (https://github.com/Nexus-Mods/modmeta-db) works as both the client library and contains a script that runs as a server.

That module basically acts as a cache for meta information, if it already knows about a hash it returns that, otherwise it queries all configured backend servers.

When integrated into Vortex it gets set up with the meta-servers configured in settings plus the nexus api as its backends and serves its data through an api, but you could just as well set it up with no backend servers, fill the "cache" manually/through a script and have it serve its data through a rest interface.

 

(*) obviously you could extend the api of your metaserver to allow searching its database but then you always have to write a Vortex extension to utilize it.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...