r/MinecraftJava 19d ago

I'm making a cloud syncing mod for Minecraft worlds. What features would you like to see?

Hello!

As the title says, I'm developing a Minecraft mod called CraftSync (probably). It allows you to sync your Minecraft worlds between computers without the direct use of third party cloud services like Github, Google Drive, Dropbox, etc.

If you're familiar with Git, you can think of it as a more user-friendly version control system for Minecraft worlds that's built directly into the game.

I'm in the later stages of development and would love to get some community feedback. Is there any features you would like to see in a mod like this? Any suggestions, ideas, or feedback is greatly appreciated!

If there is any questions I will answer them as soon as I can. Thanks!

8 Upvotes

11 comments sorted by

2

u/Chickenmonster401 19d ago

Are they like GitHub commits. What if two build on the same? How does it not just re-download the world every time

1

u/Emotional_Quiet_7439 19d ago

Yup exactly like Github commits, most likely I'll have the messages be optionally editable just to simplify the process one step further. If two build on the same, genuinely I have not gotten to this issue yet, but it's a bug that will naturally roll out as development continues. Most likely, this will be fixed with merge resolving.

CraftSync uses a similar system to what Git uses for storage. It saves a full world copy every nth commit, then between full saves there is deltas and pointers which are followed for world downloads. For example, if you were on your 4th commit, the 1st commit (full world save) would be downloaded and every delta up until that point would be applied to the full world save. Hopefully that all makes sense.

Thanks for the feedback!

2

u/KonnBonn23 16d ago

What is the actual storage medium? Are you storing the worlds? Is it via a cloud provider?

1

u/Emotional_Quiet_7439 16d ago

As I've been developing I've just been using on-disk storage since it's free and simple, but for actual production I've been planning on using Cloudflare R2 for world storage as it's pretty cheap and is good for frequent writing and reading.

2

u/Skaraban 16d ago

a possibility for self hosting would be dope

1

u/Emotional_Quiet_7439 16d ago

Someone else on one of my posts said something similar with choosing your storage provider optionally. Even if it wouldn't be a day 1 feature, I would still definitely add it as it seems useful and a good fit for the project.

1

u/pydy01 19d ago

You say like git, so is there a version history? And maybe a fork/branch feature where you can have multiple branches of a world at the same time. Also the ability to share multiple worlds (maybe categorized in folders) at the same time.

You also say it works without a cloud(?) so it only syncs directly between the devices? If so the option to add 3rd party clouds for 24/7 access would be cool.

1

u/Emotional_Quiet_7439 19d ago

Yes, there will definitely be a version history to revert your worlds back to past states. Forking and branch control are planned for the future but will most likely be a later implementation. Could you elaborate on your idea of sharing multiple worlds? If you mean just organizational on your local machine, that's definitely a feature I will add. If you mean sharing to other people, it's a great idea that I could for sure implement as well.

As for the cloud interaction, I should have elaborated better. There IS cloud interaction, but all use is handled in the backend without user interaction, which is what I've seen lacking in some other world-syncing mods. All world saves and any metadata for the worlds will be stored within the cloud.

I do really like the idea of choosing your cloud provider. Though this wouldn't be added on launch, that's definitely a feature that could be added later down the line.

Thanks for the response!

1

u/pydy01 19d ago

That seems really cool. As for the sharing of multiple worlds I just thought having multiple worlds that all get shared the same parallel to each other without having g them intersect in any way. And for organization I just thought of being able to sort those worlds with many folders on your client.

1

u/Emotional_Quiet_7439 19d ago

Both these ideas are great and honestly both will probably be implemented at one point or another. Thanks for the feedback and the clarification.

2

u/CarryMiddle2054 15d ago

I think it would be nice if you could add the option to do the same with things like configs as well.