vazkii / instancesync Goto Github PK
View Code? Open in Web Editor NEWGit hook to allow managing Twitch App modpack instances without passing around mod jars
Git hook to allow managing Twitch App modpack instances without passing around mod jars
The most recently minecraftinstance.json as generated on a Windows 10 machine, when transferred to my server, failed to properly sync with InstanceSync reporting a null-pointer-exception related to fileNameOnDisk.
It appears that in my own JSON this field is now known as FileNameOnDisk and gson is case-sensitive, hence the value was discarded and the value stored in fileNameOnDisk was null.
I don't know if this is an overall change to Twitch or whether it's a platform specific one.
Recompiling Instance.java and DownloadManager.java to use the proper capitalisation and injecting them into the jar file in place of the previous class files, then uploading this copy of InstanceSync to my server resolved the issue.
As I'm unsure if the issue is caused by a specific change in schema from Twitch's end, or whether it's a new platform-related issue, I'll attempt to file a PR that includes both variations of the field (or read up on GSON to determine if there's a way to ignore case sensitivity for some fields) and check that both aren't null and use whichever is relevant.
I'm new to modpacks, and I've been using CurseForge following Twitch's sale of it to Overwolf. (I never used it while it was a Twitch thing.) I'd like to experiment with version control, and I discovered InstanceSync while poking around on the Web.
Has InstanceSync been tested with CurseForge since the service came under new ownership? Should InstanceSync work the same way as before, or has anything changed?
Manifest is the one in the export. minecraftinstance.json is the one in the launcher
Mods not downloaded from Curse get removed.
https://mattadatta.page.link/7ayp
Logistics Pipes in this example.
https://mattadatta.page.link/j2VB - Minecraft Instance Json
message (1).txt
^ that is the log if you need it
if I run the script twice, it just thinks everything has been downloaded and doesn't do any thing else
When CF servers are unresponsive it can become quite difficult to download the pack as the download continues to timeout.
Hello,
I discovered a bug where InstanceSync would fail to download a file with a whitespace in its downloadUrl. Example:
"downloadUrl": "https://edge.forgecdn.net/files/2691/750/AbyssalCraft Heads-1.12.2-2.1.0.jar"
I implemented a fix here, but it may not be the best approach.
P.S. If you want to adopt the changes from my fork let me know and I will gladly assist you.
After running Instance Sync .disabled
& non-curse
mods get removed.
MinecraftMachina#3
After syncing a pack loaded by the Twitch client, it will become unresponsive and show incorrect data about the pack. For example, it will show no mods installed. You will also be unable to launch the pack from their launcher. This issue is fixed once the client has been reloaded.
This is likely an issue with the Twitch client and not this tool specifically. Just documenting it here so others can find more information about the issue.
Since not all mods are on curseforge, would you be able to add support for mods that can be downloaded externally?
I would imagine it being a JSON, txt, or some other file that contains a link to the download location that the modpack developers would create and maintain manually.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.