invar

Crates.ioinvar
lib.rsinvar
version0.4.1
sourcesrc
created_at2024-09-24 11:35:57.09947
updated_at2024-10-15 23:44:12.864639
descriptionCLI management tool for modded Minecraft servers
homepagehttps://github.com/exoumoon/invar
repository
max_upload_size
id1385134
size166,697
mxxntype ༒ (mxxntype)

documentation

README

                    .=./:)  ,===.   .==. ,===.  ,===.    ____     .=======.    
                    \8.-.') |8@8R\  |88| |@8Y/  |8@8|  .xX888b`.  |@8^Y^88B\   
                    /8`-'8\ |88,8R\ |@8| |88|   |@8Y' /x88'  \8b\ |8( ' )8@|   
                     `-'`"` |@8|\_Y\|88| |@8| _ |88|  |888|  /@8| |(_ o _)8/   
                     .===.  |8Y_( )Y\&8| |8&Y( )Y8@|     _.-`@88| |8(_,_).' __
                     |8@8|  |&(_ o _)8@| \Y(_ o._)Y/  .X@88^8888| |8&|\Y\  |@8|
                     |88&|  |8L(_,_)\88|  \Y(_,_)Y/   |88_( )_88| |X8| \Y`'@8Y/
                     |Y8R|  |8@|    |@8|   \Y@88Y/    \Y(_ o _)Y/ |8@|  \&88Y/
                     '==='  '=='    '=='    `===`      'Y(_,_)Y'  ''='   `'='  

Not sure how good this art is, but whatever (c) mxxntype.
Invar is currently hella WIP, barely anything is implemented, but I'm working on it.

Invar

Invar is a CLI management tool for modded (or not) Minecraft servers. This project has the following goals:

  • Allowing you to declaratively1 build and configure Minecraft modpacks, which includes managing mods, resourcepacks, shaderpacks and datapacks2, while treating their configuration files as first-class citizens. I aim to implement fetching component data from both the Modrinth and CurseForge APIs;
  • Providing an automated setup of a Docker container with your modded minecraft server, powered by itzg/minecraft-server and docker compose, with configurable automatic backups3 and maintenance;
  • Being as user-friendly and informative as possible and allowing you to organize and categorize your managed components, so you don't get lost in them while playing around with hundreds of mods at the same time.

Architecture

Footnotes

  1. By "declaratively", I mean having everything built from plaintext metadata (like in packwiz) and being tightly integrated with the Git VCS. One of the design concepts of this tool is to treat modpacks and servers as software source code and deployments, respectively.

  2. There still may or may not be a need for a datapack loader mod. I'll update this when I get to implementing server-side and client-side datapack handling.

  3. It's unliky I will be hand-rolling some sophisticated backup system. This will probably be an equivalent of an automated cp -r ./server .backups/ before you start the server and after it shuts down.

Commit count: 0

cargo fmt