A simple tool for downloading necessary mods (and/or optionals) from my mod hosting webserver project and deletes unneeded mods from local (with ability to flag mods as don't delete).
- Download executable from
Releases(or build it from source) then run it. - Input the host webserver's address and path to your mods folder.
- Change to the branch you want to use.
- Optional steps:
- Select optional mods to download from
to downloadlist. - Select mods to not delete from
to deletelist.
- Select optional mods to download from
- Press
Download
- download zip + unzip it
- download files separately
- delete mods from local
- show optional mods in delete list so they can be deleted
- checksum comparison
- settings menu
- colors
- themes?
- text aligment
- config file path
- translation
- grey out required mods
- grey out optional to deletes
- optional mods
- checking version changes (must download/delete)
- saving uncheked to_delete mods to keep file + load them
- profiles
- about dialog
- check new version from github
- auto update from github
- CLI
If the host server gets a new branch while this program runs it won't fetch it.
- cargo
- rustup
- gcc
- make
- cmake
- linux specifics:
- Xinerma
- pkg-config
- windows specifics:
- dlltool (mingw)
- run
cargo build --release - if successfully exited, executable will be at
target/release/minecraft-mod-syncer(.exe)
- Players on custom modded servers. (Especially on servers where mods change)
- People who play from multiple machines (e.g. home pc, laptop, school pc, etc.).
- downloading mods manually?
It's easy to download the wrong version of a mod or forget one, which can block you from joining the server. This tool won't let that happen. - downloading premade modpack?
If a server uses a premade modpack (like ATM10), then yes, this program won't help. This tool is for custom modded servers. - share mods/zips with each other?
This tool does that, but better, faster and it's way more easier for everyone.
Warning: yapping
I hosted minecraft servers for my friends with tons of mods, and I had enough of constantly needing to share zips with them.
So I made a website for them, thus they can easily download the dynamically built zips (from 2 folder /both, /client_only (and /server_only which isn't zipped) this way I could build the zips and clone mods into the server automaticly).
But still, they were too lazy to use that page, therefor I made a python script for them (which was the cli predecessor of this program). But I felt this program could be used by more people who change mods in the middle of hosting a server, so I upgraded it to a GUI app and expanded its features.
Another big reason for doing all this, was to learn rust, gui, cross compiling, async/threading and web requests in rust. And oh boy did I learn a lot from this. This was my 3rd rust project (and the previous 2 was nowhere this size). 1.0 took 4 months (with other side projects in that time, so actually it was more like 1 month of work).