Requirements
- Java 9+
- Java FX
ServerSync
A utility for easy mod management. The client will always be able to connect to your server with less instruction required on how to do so.
Clients will need to run serversync.jar before starting Minecraft to sync with their desired server (can be automated), sync on connect from within Minecraft is desirable but is currently outside the scope of this project.
Technically you could sync any game/filesystem using serversync however it does have some specific funtionality intended for use with Minecraft.
If you don't feel like compiling from the source code and simply want to download a jar file see the Releases.
DISCLAIMER:
This utility is only intended for personal use. Other developers work very hard on their mods and simply visiting their website, forum post, or github is just a common courtesy. Please don't use this to mass distribute other people's mods without explicit permisson.
Depending on the copyright and/or pattent laws in your area using this mod with other developer's mods for a commercial purpose could be ILLEGAL, check licenses.
This utility allows ANY server running it to put ANY file in your game folder, such as a virus or a keylogger. So if you are a client please make sure you trust your server administrator and as a good measure make sure to scan your games folders for malicious content.
FREQUENTLY ASKED QUESTIONS:
- "This mod isn't doing anything!"
- This version of serversync is run independent of minecraft (minecraft should be closed when running serversync), I did this as minecraft did not need to be running for the program to work and the previous method required you to open and close minecraft several times which if you have any more than 2-3 mods then loading time gets very taxing.
- "I can't connect to my server"
- Check the ip and port details are correct on both server and client.
- Are you using your external/internal IP address?
- Are you trying to transfer a file larger than your max file size?
- Are you ignoring a file that is necessary to connect to the server?
- "This is so insecure I hate it!"
- As per the disclaimer this is not intended to be a super secure system, it's more for personal use.
- Please direct any useful security material to the issues, shall look into it.
- "Can you add feature X? Or fix bug Y?"
- Probably. Submit it to the issues, and I'll check it out.
- "I have files such as Optifine that I don't want the server to delete"
- check out the wiki, there are docs on how to ignore files
What does it do?
ServerSync is a Server <-> Client app, both are bundled into the same file.
The server configures what is required for clients to connect and serves files.
The client requests information from the server and downloads / removes files based on what is required to connect.
How do I use it?
ServerSync can be used either as a command line tool or a user interface, running with no arguments assumes that you want to start the GUI. See: CLI Wiki & Quick Start
Working with the code
Building a Jar
./gradlew build
Find the output in ./build/libs
Building exe files
./gradlew build createAllExecutables
Find the output in ./build/launch4j
Clean project
./gradlew clean
IDE Setup
IntelliJ
Open the cloned project, IntelliJ should auto detect the gradle files and do the rest for you.
Eclipse
./gradlew eclipse
Then change the working directory of your eclipse to
./eclipse
Have at it.
Special Thanks
- P3rf3ctXZer0: Extremely useful feedback & testing