kencinder
New member
Minecraft Save Syncing on Multiple Computers (Windows)
I figured I'd share this here, as someone may be able to use it...AND it can be applied to virtually any program too just by changing the targeted program/task etc
I recently got tired of my 3 kids asking why their worlds weren't on another computer in the house when they played, we have 5 computers here all with accounts for each of us so there's no arguing of who uses which one, so I took to setting up sync'ing them all.
After the amount of time I spent getting it tweaked exactly how I wanted it, I figured I should share.
Note this is for Windows users only, I don't own a Mac and this sort of thing is more easily accomplished in *nix anyway.
To start with, you'll need the following:
A shared folder setup where ALL USERS have read/write access/permissions, either on one of the computers you play on or if you have a server or NAS, on there. Use "Minecraft_Saves" as the folder name for example.
Make sure all the user accounts on all the other computers can Read/Write to this folder over your network before continuing!
I recommend the Server/NAS method as it's likely always on. If you use one of your Desktops/Laptops, use the one that's on the most.
I can't provide instructions/support for this part, as it's highly dependent on your personal setup. Google is your friend...
FreeFileSync
Install it and run it, then Follow these steps;
1: Click on the green gear icon (Syncronization Settings)
2: Click on "Ignore" under "Error Handling" (If a folder doesn't exist, it will just be ignored...this is OK, you may not have Minecraft installed yet or run on 1st use of this)
3: Open the "On completion" dropdown box and select "Close Progress Dialog"
4: Click OK
Now we're going to setup a folder pair, using variables so that no matter what user runs it, it uses the correct username, only syncs for that user and avoids any messy permissions issues. (I spent a couple hours trying to set it up to backup EVERYONES saves under any account...messy)
1: In the LEFT folder pair beside the + symbol, enter "%appdata%\.minecraft\saves" (Without the quotes).
2: In the RIGHT folder pair enter the location of the shared folder you created earlier, appending "%USERNAME&\saves" to it, eg; "\\<computername or IP addres>\<shared folder name>\Minecraft_Saves\%USERNAME%\saves" (Again, without quotes).
In my case it's "\\server\Backup\Minecraft_Saves\%USERNAME%\saves" as my saves are stored on my server, rather than a local folder on my main desktop.
Now you're going to save this Sync setup as a Batch Job;
1: Click on the button near the bottom left "Save as Batch Job"
2: Uncheck "Save Log" (We don't need this)
3: Click "Save As", go to the folder your "Minecraft.exe" is in and name the save "Minecraft_Saves.ffs_batch"
4: You can close FreeFileSync now
Now we're going to create a batch file that syncs the saves, starts Minecraft and waits until it's closed before syncing the saves again. You want to sync BEFORE and AFTER use so that you're not overwriting the ones in your shared folder with missing changes from one machine, and changes from another.
1: Create a new text file where you saved "Minecraft_Saves.ffs_batch" called "Minecraft_Saves.bat"(Make sure you can see file extensions, or it will wind up named "Minecraft_Saves.bat.txt"!)
2: Open it in Notepad/Wordpad or Right Click> Edit, or any other text editor you may use.
3: Copy and paste the following into it:
You're done, now all you have to do is install FreeFileSync and copy the batch files to the same folder as Minecraft.exe on your other computers.
When you run "Minecraft_Saves.bat" the above script will run, syncing your saves, and wait for Minecraft to close before syncing your saves again.
TIP: If you create a shortcut to the batch file, and hold shift while right clicking it you can "Pin to Start Menu" in Win7. Otherwise just put the shortcut on the desktop or wherever your kids will run it from.
Note: The script watches for java.exe as the launcher hands off and closes, so if you have ANY other apps open using java, it will NEVER move onto syncing after you close Minecraft until those apps also close.
Warning: If you have worlds on 2+ computers with the same name for a user, the one that contains newer time/date stamps on the files will be the one that gets sync'd. Keep the one you want and delete the others on the other computers before syncing to avoid losing it.
I figured I'd share this here, as someone may be able to use it...AND it can be applied to virtually any program too just by changing the targeted program/task etc
I recently got tired of my 3 kids asking why their worlds weren't on another computer in the house when they played, we have 5 computers here all with accounts for each of us so there's no arguing of who uses which one, so I took to setting up sync'ing them all.
After the amount of time I spent getting it tweaked exactly how I wanted it, I figured I should share.
Note this is for Windows users only, I don't own a Mac and this sort of thing is more easily accomplished in *nix anyway.
To start with, you'll need the following:
A shared folder setup where ALL USERS have read/write access/permissions, either on one of the computers you play on or if you have a server or NAS, on there. Use "Minecraft_Saves" as the folder name for example.
Make sure all the user accounts on all the other computers can Read/Write to this folder over your network before continuing!
I recommend the Server/NAS method as it's likely always on. If you use one of your Desktops/Laptops, use the one that's on the most.
I can't provide instructions/support for this part, as it's highly dependent on your personal setup. Google is your friend...
FreeFileSync
Install it and run it, then Follow these steps;
1: Click on the green gear icon (Syncronization Settings)
2: Click on "Ignore" under "Error Handling" (If a folder doesn't exist, it will just be ignored...this is OK, you may not have Minecraft installed yet or run on 1st use of this)
3: Open the "On completion" dropdown box and select "Close Progress Dialog"
4: Click OK
Now we're going to setup a folder pair, using variables so that no matter what user runs it, it uses the correct username, only syncs for that user and avoids any messy permissions issues. (I spent a couple hours trying to set it up to backup EVERYONES saves under any account...messy)
1: In the LEFT folder pair beside the + symbol, enter "%appdata%\.minecraft\saves" (Without the quotes).
2: In the RIGHT folder pair enter the location of the shared folder you created earlier, appending "%USERNAME&\saves" to it, eg; "\\<computername or IP addres>\<shared folder name>\Minecraft_Saves\%USERNAME%\saves" (Again, without quotes).
In my case it's "\\server\Backup\Minecraft_Saves\%USERNAME%\saves" as my saves are stored on my server, rather than a local folder on my main desktop.
Now you're going to save this Sync setup as a Batch Job;
1: Click on the button near the bottom left "Save as Batch Job"
2: Uncheck "Save Log" (We don't need this)
3: Click "Save As", go to the folder your "Minecraft.exe" is in and name the save "Minecraft_Saves.ffs_batch"
4: You can close FreeFileSync now
Now we're going to create a batch file that syncs the saves, starts Minecraft and waits until it's closed before syncing the saves again. You want to sync BEFORE and AFTER use so that you're not overwriting the ones in your shared folder with missing changes from one machine, and changes from another.
1: Create a new text file where you saved "Minecraft_Saves.ffs_batch" called "Minecraft_Saves.bat"(Make sure you can see file extensions, or it will wind up named "Minecraft_Saves.bat.txt"!)
2: Open it in Notepad/Wordpad or Right Click> Edit, or any other text editor you may use.
3: Copy and paste the following into it:
Code:
@ECHO OFF
TITLE Minecraft with Save Sync
ECHO Syncing Save Files, please wait...
START /wait Minecraft_Saves.ffs_batch
CLS
START Minecraft.exe
choice /T 5 /D Y /N
CLS
:LOOP
tasklist /FI "IMAGENAME eq java.exe" 2>NUL | find /I /N "java.exe">NUL
if "%ERRORLEVEL%"=="1" (
GOTO CONTINUE
) ELSE (
ECHO Waiting to Sync Save Files...
ECHO DO NOT CLOSE THIS WINDOW!
)
choice /T 5 /D Y /N
CLS
GOTO LOOP
:CONTINUE
START Minecraft_Saves.ffs_batch
You're done, now all you have to do is install FreeFileSync and copy the batch files to the same folder as Minecraft.exe on your other computers.
When you run "Minecraft_Saves.bat" the above script will run, syncing your saves, and wait for Minecraft to close before syncing your saves again.
TIP: If you create a shortcut to the batch file, and hold shift while right clicking it you can "Pin to Start Menu" in Win7. Otherwise just put the shortcut on the desktop or wherever your kids will run it from.
Note: The script watches for java.exe as the launcher hands off and closes, so if you have ANY other apps open using java, it will NEVER move onto syncing after you close Minecraft until those apps also close.
Warning: If you have worlds on 2+ computers with the same name for a user, the one that contains newer time/date stamps on the files will be the one that gets sync'd. Keep the one you want and delete the others on the other computers before syncing to avoid losing it.