Take the 2-minute tour ×
Arqade is a question and answer site for passionate videogamers on all platforms. It's 100% free, no registration required.

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?


My solution:

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 about symlinks 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.

share|improve this question
    
Please provide more details as to what exactly you are doing. Are you currently using the Host & Play option? –  user9983 Jun 12 '11 at 17:18
    
Guess I should have been more specific about my requirements since there are multiple solutions. Thank you everyone for your answers and feedback. I will post my exact solution above which uses a combination of these answers. However, I found the suggestion by OrigamiRobot to use a Dedicated Server the most helpful for my situation which is why I have chosen it as the accepted answer, wish I could do more than just +1 for the rest of you. Thanks again! –  theChrisKent Jun 13 '11 at 13:36
    
Hah, we also use DynDNS but I completely took that for granted. Nice job. Good call on DropBox for your players folder. Enjoy playing Terraria unrestricted by your location! –  user9983 Jun 13 '11 at 16:44
add comment

4 Answers

up vote 6 down vote accepted

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.

share|improve this answer
1  
The dedicated server is also included with the game distribution. As the asker plays himself, he will have that. Also, the questions point was: What to do when the asker is not there. So I don’t think a (ded.) server is an option. –  Kissaki Jun 12 '11 at 12:08
    
If you run the dedicated server, no one has to be there. When the asker is not there, the server is still running. It is exactly what he wants. What comes with the game is the "Host & Play" option which is different than a dedicated server. –  user9983 Jun 12 '11 at 15:13
    
Kissaki, as @OrigamiRobot said, the latest version the game only has a "Host and Play" option. For either person to play alone at any time, running a dedicated continuously seems like the best option. –  Ian Pugsley Jun 12 '11 at 15:42
    
Read the question again. He was running the host himself and he can't get dedicated hosting... –  Tom Wijsman Jun 12 '11 at 16:28
1  
@Ian: For a dedicated server to run you still need a running computer. And that’s what I’m getting at. If he is not there to host a normal game, then he will probably not want to keep the PC running just for that. Anyway, the question was on playing and merging the same world. –  Kissaki Jun 13 '11 at 0:15
show 8 more comments

Simply 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

  1. Moving your world5.wld to a folder inside the sync folder, e.g. C:\Users\<Your Username>\Dropbox\Terraria shared
  2. 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.
  3. Pick the moved World file as link source as shown here.
  4. 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.

share|improve this answer
    
+1 Been using this extension for a long time and it's a handier way than over the console. –  Tom Wijsman Jun 12 '11 at 17:21
    
I wish everyone would use linux. It’d be so much easier. On linux, there are only symlinks and no stupid “shortcuts”, and you create them by holding shift while dropping a dragged file. (Additionally, on KDE, after each file drop, a small context menu asks you if you want to move the file, or create a link) –  flying sheep Jun 12 '11 at 17:25
    
@flying: On Linux, there are hard and soft symlinks, not just symlinks. On Windows, shortcuts allow you to provide more options about how the process should start; on Linux these are also existing under the form of launchers. How you create is just a GUI action and is easy to manipulate. For me, both operating systems work kind of equal in the aspect of linking to files and directories, they are just coined different terms... –  Tom Wijsman Jun 12 '11 at 17:28
    
but on linux you usually use symlinks and the creation and information of/about them is available in every gui, other than on windows, where you have to use a 3rd-party tool. –  flying sheep Jun 12 '11 at 18:00
    
@flyingsheep: Because they are not meant to be seen and you do have properties on shortcuts. And also; Gnome, KDE and Xfce are third-party written GUIs written on top of the X11 display system... ;) –  Tom Wijsman Jun 12 '11 at 18:24
show 2 more comments

TL;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

  1. Downloads the changes.

  2. Hosts your server or starts your Terraria client.

  3. 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 changes

The 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

Mokubai's suggestion on the Super User chat.

Ben Blank explained in the comments that this is completely automatable. :)

share|improve this answer
1  
Dropbox wouldn't need additional automation for this. A friend of mine and I use it to share a Minecraft world in much the same way. Move the save folder into your drop box, hardlink it back to where Terraria expects it (yes, you can do this even in Windows), share the folder, and have your friend hardlink it as well. You have to make sure not to both play it offline at the same time and to let Dropbox sync before playing, but it works extremely well. –  Ben Blank Jun 12 '11 at 0:18
    
Hmm, if it's an update-on-changes mechanism then it would indeed work well. Thanks for enlightening us... :) –  Tom Wijsman Jun 12 '11 at 0:53
    
All of this is nice, but it is unnecessary. The Terraria dedicated server was created for this exact purpose. –  user9983 Jun 12 '11 at 15:22
    
@OrigamiRobot: Not really, because the OP can't host the Terraria server. –  Tom Wijsman Jun 12 '11 at 16:27
    
@Tom - The OP is using the "Host & Play" option that is in the Terraria client. This requires that he be in the game in order for anyone else to connect. He wants his friend to be able to connect when he is not. The dedicated server software allows the server to be running at all times even when there are no players. –  user9983 Jun 12 '11 at 16:51
show 6 more comments

Simple. 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.)

share|improve this answer
    
This would soak up quite some bandwidth; Git VCS also isn't not meant to store binaries as that will take up quite some space in your repository, pushing and pulling again soaks up a lot of bandwidth as binary diff isn't used afaik... –  Tom Wijsman Jun 12 '11 at 0:56
    
The Git part was just an info on what I used locally. Git is not easy to use for first-timers. Even if it’s not diffing, with compression it can be a valid option. –  Kissaki Jun 12 '11 at 12:06
    
+1 @Kissaki: 100 MB turns into 4 MB, nice! :) –  Tom Wijsman Jun 12 '11 at 14:24
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.