A buddy and I have been playing Terraria together in a joint world. I hosted and so I have the world and can play in single player when he's not around. He'd like to do the same, is this possible?
I doubt we could both play it and then have it sync up the changes, but is there a way to send him the world file and then when we go to play together copy it back or something along those lines?
36 Answers
TerrariaServer.exe is located in your Steam Terraria folder. If you run that on your computer, he can connect to the world whenever your computer is on.
This link can help set this up.
13TL;DR: Simply use Dropbox, or get your hands dirty with batch files and Boar.
This would be called batch automation.
Simply, you would create a batch file that
Downloads the changes.
Hosts your server or starts your Terraria client.
Upload the changes when you are done.
I wouldn't suggest uploading the whole map as that could be around 100 MB, while I belief that when playing only a small part of the 100 MB is really affected. What you need is a binary version control system, try looking into Boar or come up with something like RDiff-Backup which might be easier to automate over the command line.
It would look something like this:
line that tells your BVCS to download changes
%ProgramFiles%\Terraria\Terraria.exe
line that tells your BVCS to upload changesThe batch will automatically pause till Terraria is closed.
Good luck! :)
PS: You could commit a .lock file and check for it to ensure you don't play simultaneously...
Alternatively, you could try to use Dropbox and skip the version control system altogether.
I'd do it via dropbox , share the folder, and then hardlink to where you need it to be, that way DB only syncs actual changes to the file as well
Ben Blank explained in the comments that this is completely automatable. :)
11Simple. Just copy and manage your world file. It is saved in the %USERPROFILE%\Documents\My Games\Terraria\Worlds folder. (Enter that path in your explorers location path.)
You can simply copy the world file to your friends computer in the same folder and run it.
Make sure you don’t overwrite what you actually want to use. Maybe back them up in a separate folder whenever you will overwrite or something. (Personally, I’m using git version control to make sure I don’t lose anything – but that’s probably for the more tech-savy/devs/coders.)
2Simply use a sync service where you can share folders, like wuala, ubuntu one or dropbox, if you don’t use one yet (they are useful way beyond that).
Then install the link shell extension. This one is a program where you can install so-called symlinks and juntions. You don’t have to know what that is, but “simply” to create a symlink. You do this by
- Moving your
world5.wldto a folder inside the sync folder, e.g.C:\Users\<Your Username>\Dropbox\Terraria shared - Share this folder with your friend, which has to do everything like you, except moving the file and creating the folder (it will appear on his computer once shared) Sharing should be easy, with dropbox, it’s in the context menu, too, I think.
- Pick the moved World file as link source as shown here.
- Go back to your save folder, right click it and select
Drop as → Symbolic Link(shown above, too, but you’ll want to pick “Symbolic” instead of “Hard” Link)
If the context menu entries aren’t shown directly after installing link shell extension, you’ll have to reboot.
I hope everything is clear.
PS: Why to do all this? in order to share this file and at the same time keep a link to it that terraria can follow to find it. Simple windows shortcuts don’t suffice here, thus the symlink.
7Solution: provided by theChrisKent, taken from the question:
I have used a combination of the answers below to make this game even more awesome. First I setup a Dedicated server as mentioned by OrigamiRobot. This was super simple and meets my requirements perfectly. I don't mind leaving my computer on all the time with this running. To do this I also had to do a couple of other things unique to my situation:
- Setup a static route in my router for port 7777 to the machine where I am running the dedicated server
- Registered with DynDNS.org to get a domain name to be used with my dynamic IP Address
- I setup the DynDNS account in my router and I was good to go (This is needed so that my friend can ping the domain name and get my current ip address should it change in the future).
Doing that took care of my need to share the world file without us having to sync it between run times.
Looking at the other answers, Kissaki provided me with the folders I needed, and I used flying sheep's answer aboutsymlinks along with Tom Wijsman's suggestion of using DropBox to share my player folder. I use the dedicated server to hold onto the world, but putting my player folder in dropbox allows me to play as the same character regardless of which of my machines I am using.
You could use a flash drive, so when you give it to him he edits the world and then he gives the flash drive back and you put edit it and so on.