Logo

TechnicFlux by Zandercraft

A feature-rich and easy-to-use implementation of Technic's Solder API using Node.js.

Explore the Docs . Report Bug . Request Feature

Qodana CodeQL Contributors License js-standard-style

NOTE: TechnicFlux is still under active development! Many of the features listed here are not implemented and are simply planned for inclusion. We cannot guarantee that everything listed here will eventually be implemented, although we will try our best.
-- Zander 🙂

Table Of Contents

About The Project

Screen Shot Placeholder

TechnicFlux is a feature-rich and easy-to-use implementation of the TechnicSolder API including a modern, interactive dashboard.

What is TechnicSolder?

TechnicSolder is an API that sits between a modpack repository and the Technic Launcher. It allows you to easily manage multiple modpacks in one single location.

Using Solder also means your packs will download each mod individually. This means the launcher can check MD5's against each version of a mod and if it hasn't changed, use the cached version of the mod instead. What does this mean? Small incremental updates to your modpack doesn't mean re-downloading the whole thing every time!

Solder also interfaces with the Technic Platform using an API key you can generate through your account there. When Solder has this key it can directly interact with your Platform account. When creating new modpacks you will be able to import any packs you have registered in your Solder install. It will also create detailed mod lists on your Platform page! (assuming you have the respective data filled out in Solder)

Source: TechnicPack/TechnicSolder

How does TechnicFlux compare with TechnicSolder?

Feature TechnicFlux TheGameSpider/TechnicSolder Vanilla TechnicSolder
Multiple Accounts (with perms) ✅ ✅ ✅
Web-based Mod Management ✅ ✅ ⚠️ (Limited)1
Web-based Mod Upload ✅ ✅ ❌
Web-based Config Upload ✅ ✅ ❌
Forge Modloader Support ✅ ✅ ⚠️ (Limited)2
Fabric Modloader Support ✅ ✅ ⚠️ (Limited)2
Quilt Modloader Support ✅ ⚠️ (Limited)2 ⚠️ (Limited)2
NeoForge Modloader Support ✅ ⚠️ (Limited)2 ⚠️ (Limited)2
Automatic Mod Info Loading ✅ ⚠️ (Limited) ❌
Modrinth Support ✅ ❌ ❌
Mod Update Tracking3 ✅ ❌ ❌
Custom Modloader Support ⚠️ (Limited)2 & 4 ⚠️ (Limited)2 ⚠️ (Limited)2

1 Requires manual zip file construction and an FTP connection to package and upload mods.
2 Supported by manual zip construction, but not automatic fetch within the web interface.
3 Via Modrinth's API for mods downloaded from Modrinth only.
4 More support than the others (online configuration w/ mod compatibility).

Built With

TechnicFlux is built using:

js-standard-style

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

You will need the following software to get started:

Installation

  1. Clone the repo
git clone https://github.com/Zandercraft/TechnicFlux.git
  1. Install the project dependencies
npm install
  1. Copy and rename the example configuration file
cp ./.env.example ./.env
  1. Create a MongoDB database for TechnicFlux to use.

  2. Change the values within your .env file to your desired configuration.

  3. Run the server

npm start

Usage

Here are some examples of how you can use TechnicFlux:

(examples)

For more examples, please refer to the Documentation

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  • If you have suggestions for adding or removing projects, feel free to open an issue to discuss it, or directly create a pull request after you edit the README.md file with necessary changes.
  • Please make sure you check your spelling and grammar.
  • Create individual PR for each suggestion.

Creating A Pull Request

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE.txt for more information.

Authors

Extra Thanks

A special thanks to TheGameSpider and his TechnicSolder implementation for providing an easier way for me to hop into the Minecraft modpack scene. Your enthusiasm for developing it and your kindness toward your community really inspired me and showed me what OSS development was all about.

We are not affiliated with Mojang, AB or Syndicate LLC.

Description
A feature-rich and easy-to-use implementation of the TechnicSolder API using Node.js
Readme 527 KiB
Languages
Markdown 100%