8 unstable releases (3 breaking)
new 0.4.2 | Dec 14, 2024 |
---|---|
0.4.1 | Oct 15, 2024 |
0.3.2 | Oct 8, 2024 |
0.2.0 | Sep 26, 2024 |
0.1.1 | Sep 24, 2024 |
#141 in Games
56 downloads per month
94KB
803 lines
.=./:) ,===. .==. ,===. ,===. ____ .=======.
\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 declaratively[^1] build and configure Minecraft modpacks, which includes managing mods, resourcepacks, shaderpacks and datapacks[^2], 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
anddocker compose
, with configurable automatic backups[^3] 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.
[^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.
Architecture
Dependencies
~25–39MB
~585K SLoC