Author Topic: CryoFall Mod Manager (CFM)  (Read 899 times)

Muphet

  • Newbie
  • *
  • Posts: 4
    • View Profile
CryoFall Mod Manager (CFM)
« on: May 20, 2021, 05:03:20 am »
Hello CryoFall community!

I would like to introduce you to little tool that i composed recently - the CryoFall Mod Manager (will use CFM for short). Here is quick teaser because it is not released yet however it will be, very soon :) It's not lightest application (it runs on nodejs and electron, probably thats why) however it will simplify the browsing, installing and activating mods for you. Available crossplatform and i will publish source code on github, at least for the mod managing part (no backend).

Additionally, I will be launching a small community portal called "Pragmium Network" where you can find mods, guides and items database with recipes and maybe couple game servers because why not :) Ok enough of my blabling, here is working example:



If you have any ideas or propositions of what to change / add, feel free to comment or message me on CryoFall discord.
Cheers!

Lurler

  • AtomicTorch Founder
  • Hero Member
  • *****
  • Posts: 1320
    • View Profile
Re: CryoFall Mod Manager (CFM)
« Reply #1 on: May 21, 2021, 01:53:03 am »
Oh!!! This looks neat!

Can you give a little overview of the project? Does it pull mod info from somewhere or does it only display local mobs?

Anyway, looking forward to it! :)

Muphet

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: CryoFall Mod Manager (CFM)
« Reply #2 on: May 21, 2021, 04:34:34 am »
I am parsing header.xml from .mpk and extract some data from it like id, version, description etc. User has to provide path to cryofall directory (documents) if it's not detected automatically. then i am using local database (in plain json format for clarity) to keep info of which mod is active.

What tool does right now is:
- checks mods directory, if there is any existing .mpk (currently didn't add support for unpacked mods) it adds info about it to local database so no need to redownload mods you already have
- if mod is added in config but doesn't exist in mods directory, it's just gets deleted out of the list.
- if local mod version is different than remote version, it will prompt about update, however update part is not implemented yet but it's probably just download&replace file function
- mod browser pulls data from REST API and downloads mpk into mods folder - here is the part that i haven't touched yet - as of how mods are added into database. I will either supply them myself by browsing forums or create some sort of website where authors can create and publish mods themselves. I will look into few ways in case someone wants to keep most changes on forums and not separate platform
- enabling or disabling mods rewrites ModsConfig.xml to add or remove mod ID, im guessing this is what engine looks for.
- ability to rename files when disabling/enabling (i originally thought about renaming disabled ones in case renekei scanned all mpk regardless of config but when i learned it doesn't matter, i already had that bit completed so it's disabled by default. I might add configuration to use one or both ways to config.

Planned:
- support for both packed and unpacked mods for ease of development / testing, maybe automatic repackaging for export
- support for multiple mod versions (selectable version)
- mod boilerplate generation
- mod explorer with categories so it's easy to find things
- support for more "games" for renkei engine
- optimization

Other than this there isn't really much more needed, it's not supposed to be some big project. Additionally im working on separate project which is small fansite about the game with some tools i keep using pretty much every time i play the game like map and recipe calculator so it will be also available in near future. Was also planning to add public server directory, we all know how painful it is to find server in never ending list in game or quickly fading messages on discord.

I will keep you updated on the progress but it's mostly done "in development" but not ready "in production" so probably need few more days to get it ready. I am limited by my daily job but hopefully it will come out before you forget about it  :P