Code Monkey home page Code Monkey logo

modman's Introduction

ModMan

A package-manager like mod manager for minecraft servers, integrated with Modrinth.

Installation

Use pip or pipx, via git, to install ModMan.

pip install git+https://github.com/nexy7574/modman.git

And then run modman --help to get started.

Usage

Note that you can specify multiple mods at once, separated by spaces.

Initial setup

You will first want to go to your server's directory, and run modman init. This will create a modman.json file, which will be used to store your mod list.

If you had a mods directory in your cwd, modman will automatically add all the detected mods.

It will also attempt to automatically detect your server type (fabric only) and version from and jars in your cwd.

Adding mods

You simply just need to run modman install <mod slug or ID>. ModMan will automatically find the latest compatible version, and perform basic dependency resolution, and then securely download them into your mods directory.

If a file is missing, you can run modman install -R <mod slug or ID> to forcefully re-install the missing mod.

You can install optional dependencies with the -O flag.

Removing mods

Run modman uninstall <mod slug or ID>. This will remove the mod from your mod list, and delete the mod file.

Updating mods

Same game version

If you are keeping the same game version (e.g. 1.20.4), you can run modman update to update all mods to the latest version.

Different game version

You will first need to download the latest server and update the metadata file. The recommended way to do this is via modman download-fabric <minecraft version>. This will download the latest server jar, and update the metadata file for you.

You can then run modman update to update all mods to the latest version.

Any mods that do not support the current version will not be modified.

Listing installed mods

modman list produces a nice table of installed mods and their versions.

Searching for mods

modman search <query> will search Modrinth for mods that match the query.

If you want to find the top relevant mods, you can pass an empty string to modman search (i.e. modman search '').

Viewing mod information

modman view <mod> will show you neatly organised information about the given mod, similarly laid out to the modrinth website. Note that this command only takes one mod at a time, unlike the rest.

Creating client mod packs

ModMan allows you to pack all mods that have client-side support into a zip file to share with friends or server members.

Running modman pack will create a zip file in the current directory, containing all mods that have client-side support.

If you want to also include mods that are server-side only for some reason, you can use the -S flag.

Debugging

You can pass -L DEBUG to modman (e.g. modman -L DEBUG install fabric-api) to get VERY verbose output.

You can pass DEBUG, INFO, WARNING, ERROR, or CRITICAL to modman to get different levels of verbosity.

You cannot pass this flag to subcommands, it has to be BEFORE a subcommand.

modman's People

Contributors

nexy7574 avatar

Stargazers

 avatar  avatar Nico avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.