Mac Syncing over Dropbox/Alias issues

chaiale

Terrarian
Hi all!

I've been playing Terraria on my Macbook Pro using a Windows partition. I share a world file with a friend over Dropbox so we can both play singly and in multiplayer and the world will stay current. I used this method to set up the link on my Windows partition and on my second PC.

I wanted to add my OS X partition to this whole system, but it got sulky when I tried. When I tried to put an alias file of my Dropbox world into my OS X game files, Terraria would crash whenever those files needed to be loaded. Right now, I have run the alias the other way, meaning that my sync is only one-way and I can't sync from any changes my friend makes to the world file.

Should I be using command line symlinks instead? Can someone walk me through doing that, if so? Or can I get Steam sync to play nicely with two different users, as an alternative workflow?

I'm pretty low technical proficiency, so please explain like I'm five, if possible. Thank you so much!
 
It's been a few years since I've used a Mac regularly, but I do remember that OS X aliases are quite different (in a technical sense) from regular Unix symlinks, though they generally seem to act the same. With Steam cloud acting up right now, I've been using Dropbox to sync my saves between two Linux systems, and symlinks work like a charm here.

The command for creating a symlink in the terminal should be the same on OS X and Linux, so you'd open up Terminal.app and enter something like:

ln -s "/Users/chaiale/Library/Application Support/Terraria/Worlds/My_World.wld" "/Users/chaiale/Dropbox/TerrariaSync/Worlds/"

(Note that I'm guessing on the path to the save folder; I think it's something like that, but you already know where it is so I didn't worry about looking it up). I actually link the entire worlds folder to my Dropbox, but a single file should work just fine as well.

For the five-year-olds in the room ~;), here's a breakdown of the command:
  • Generalized command syntax:
    • ln -s source destination
  • ln
    • This is simply the command to create to create a link. Enter "man ln" in Terminal to learn bunches about it.
  • -s
    • This switch indicates that we want to create a symbolic link; the default is to create a hard-link, which--while you can try it if the symlink doesn't work--is far more likely to cause issues due to the way hard-links are handled by the filesystem.
  • source
    • The path to the .wld file in your case, or the Worlds directory in mine. If there are spaces in the names of any files or folder in this path, you must put quotes around the full path (as above) so the shell doesn't treat the space as an argument separator.
  • destination
    • Where you want the link to appear. In the example above, since we specified an existing folder as the destination (ending with a trailing "/"), a link named "My_World.wld" will appear in "TerrariaSync/Worlds". If, however, you'd like to give the link a different name than the original for some reason, you can specify the destination as a file name (no trailing slash) and the link will be created with that name. For example:
      • ln -s ".../My_World.wld" ".../TerrariaSync/Shared_World.wld"
    • will create Shared_World.wld linked to My_World.wld.

I hope this helps!
 
Back
Top Bottom