How to run your own Terraria server

#1Ice_ShieldPosted 5/18/2011 11:17:52 PMmessage detail(edited)
Being that Terraria is new and I haven't seen any threads here on how to start your own server, I figured I'd make a thread, especially since playing online through Terraria is wonderful. Request a sticky if you feel this is helpful (which it should be).

Introduction
Terraria is a pretty awesome game, and I'm sure we all know this, but playing online with other players is even better. But how do you start your own server? Well, it's pretty simple, if you know how to port forward and run on a Static IP. If you don't know what either of this means, don't worry, I'll cover the basics.

Before you Start; Static IP
The first thing you're going to want to do is to create a Static IP. I'm not sure how to do this on a wired system but you can find plenty of guides online on how to do it. As for doing it on a wireless network you're in luck. If you already have a Static IP address you can skip this step. If you need extra help during these steps, refer to this website; http://portforward.com/

You're going to need a little information for this. This is the most confusing step out of the entire process. This process is for Windows Vista and may differ for systems running on XP or 7. I chose Vista because I feel like more users have Vista than another OS. If you have one of these OSes, you can try and see if it works for you, as it should be around the same idea.

Step 1a
Open up the start menu. Click "run". Now, in the text box that appears, type the phrase "command" or "cmd" and hit OK.

Step 1b
When the command window pops up you're going to type "ipconfig /all" then hit enter. A long list of information will list for you. Don't worry, we only need a few things of info.

Step 1c
You're going to need the following information from this window. Open up Notepad or another text editor and copy the information down (or write it down on paper, oldschool style). You'll need;
*IPv4 Address
*Subnet Mask
*Default Gateway
*DNS Servers

Step 1d
Close the window and open up your Control Panel. Then go to Network and Sharing Center. Click on Manage Network Connections on the left side of the screen. You should see network connections. Right click on the one you use and hit properties.
If you are unsure at which one you're using, right click on one and hit disable. Now open your web browser (not the one you're using now) and try a webpage. Did it load? If not, that's the one you're using right now. If it did load, just go back to the window, right click and hit enable.

Step 1e
In the popup window that appears when you click on the Properties menu for your router, you'll see another Properties button. Click on that. In the new window you'll see something called Internet Protocol Version 4 (TCP/IPv4). Click on it and it Properties.
---
Phantasy Star Online Start From Scratch Participant
http://goo.gl/fXbQw
#2Ice_Shield(Topic Creator)Posted 5/18/2011 11:34:25 PMmessage detail(edited)
Step 1f
In the new window that pops up, copy down all of the information before you change anything. This way, if something happens, you can change it back. Most of the time, however, the fields will be blank and you'll obtain an IP address automatically.

Anyways, click on the Use the following IP address button. The fields will now allow you to change the information. Do the following;

IP Address: If your original IP from Step 1b was something like 192.168.1.1, you'll want to change the last numbers to something like 192.168.1.10; it must not be the same number as the original.
Subnet Mask: Just put in the same information from Step 1b.
Default Gateway: Again, same information from Step 1b.
Preferred/Alternate DNS Server: Again, the same as from Step 1b.

Step 1g
Assuming you did everything correctly, hit Ok on the box, then close out the other windows. Try a webpage in your browser (it may take a second to reconfigure the new settings). Did it load? If so, onto the next step! If not, go back and either change what you put into the last step back to what it originally was, or try again.
Now that you have done this step, if you use your computer on another network, you will have to change these settings back to what they originally were.

Step 2 (Port Forwarding)
You'll now have to Port Forward. Since this step varies for every different type of router I have to link you to another website;
http://portforward.com/
This website will help you through the steps to Port Forward.
If you just need to know the Port to forward, it is 31337

Step 3 (Obtain your External IP)
I am assuming you have already forwarded Port 31337. If not, go back to Step 2. Your next goal is to find your IP address. This is a simple step as you can go to this website to find it out;
http://www.whatismyip.com/
Copy the IP address at the top of the webpage and put it somewhere so you can get back to it. Note, this is an external IP and is different from the information found in Step 1b.

Step 4 (Creating the Server)
Start up Terraria. On the main page, click on Multiplayer and click on Start Server. After selecting a world (or creating one) it will ask for a password. This is to make your game secure from outsiders. Make your password whatever you want. When finished, it will tell you to start a new instance of Terraria. Congrats, you've made it!

Step 5 (Testing & Joining)
Open up Terraria without closing the one that is already running. Click on Multiplayer, then Join, then select your character. When it asks for the Server IP Address, put in yours from Step 3. If it connects correctly it will ask for the Password and then go to the game.

Congrats, it works!

As long as you keep the server running on Terraria, anyone can join (with the password) if they have your IP.

Extra Step
If you do not want to give out your external IP address for any reason, there are websites that allow you to make a free hostname which will link your IP with a website URL. So, instead of users putting in your IP to connect, they put in a URL. I would recommend using DynDNS;
http://www.dyndns.com

Happy Playing!
---
Phantasy Star Online Start From Scratch Participant
http://goo.gl/fXbQw
#3SepherinPosted 5/18/2011 11:23:52 PMmessage detail
Question...(excellent topic btw, sticky requested).

Say i want to play with 3 of my friends, but i cannot have a server upt 24/7 so we just agree that we will play at like 8pm-11pm on weekdays. If we all build houses and start a city together, then I take down the server at 11...will everything be the way we left it on that world the next day? or does it re-create the world. Also, are spawn points the same for everyone, or is it random?


Anyway, again thanks for the topic, these are just questions I had and this seemed a good place to put em!
---
...
#4Ice_Shield(Topic Creator)Posted 5/18/2011 11:27:32 PMmessage detail
I confess, I haven't actually played on a server yet, I've only tested the functionality of it. As far as I know, when you disconnect the server, it saves the world and kicks everyone off. So yes everything would be saved onto your game of Terraria. I believe you as the server host can even play in the multiplayer world offline, but I haven't tested it yet. You can even take your offline worlds online if you like.

As for everyone having the same spawn points, I'm not sure, though some people here would probably know.
---
Phantasy Star Online Start From Scratch Participant
http://goo.gl/fXbQw
#5eco masterPosted 5/18/2011 11:29:40 PMmessage detail(edited)
The initial spawn point is global, but players can change them individually by using beds.

If you take the server down gracefully (i.e., hitting the Disconnect button and letting it save), everything will be as it was when you shut down, provided you choose the same world to load through the server. It's literally the same thing as loading a Single Player world.

EDIT: It's so far the same as Single Player that yes, since the map is on your computer (your = server host), you can even load it up offline for yourself. I may or may not have done this with an old map that had a convenient Demon Altar location.

EDIT 2: Also, I haven't gone through your instruction myself (in the middle of some gaming, checking in between stages), but I will do that momentarily and let you know if anything is off.
---
#6Ice_Shield(Topic Creator)Posted 5/18/2011 11:31:13 PMmessage detail
About 85% of this is putting up a Static IP and Port Forwarding, both which don't have anything to do with Terraria, but must be done to host a server.
---
Phantasy Star Online Start From Scratch Participant
http://goo.gl/fXbQw
#7Ice_Shield(Topic Creator)Posted 5/19/2011 5:36:29 AMmessage detail
Hopefully more than two people found this useful :P
---
Phantasy Star Online Start From Scratch Participant
http://goo.gl/fXbQw
#8MizuUmaPosted 5/19/2011 5:38:29 AMmessage detail
It's very usefull lol xD The only reason I don't set up a server myself is for security.
---
Steam: judgementryu. L4D2, COD MW, Killing Floor, Magicka, Sanctum, Global Agenda, Terraria.
Pokemon White FC: 4641-8628-9531
#9tcaz2Posted 5/19/2011 5:45:53 AMmessage detail
You could also just use Hamachi and skip the port forwarding stuff.

But knowing how to port forward is extremely useful for many things and frankly I think you explained it better than portforward.com <.<
---
http://img149.imageshack.us/img149/2664/7b7aaa038007832d461b28c.jpg
#10Erik212Posted 5/19/2011 6:01:27 AMmessage detail(edited)
By the way, port 31337 wasn't all that smart of a port to choose, as most security software blocks it due to being a common backdoor port. Not saying that opening it will get you infected, but it probably increases your risk and I know most enterprise firewalls (e.g. universities) block it unconditionally across their network.

I'm not sure when there will be some option to change the port implemented in the game. A dedicated and preferably multiplatform dedicated server would be nice to have in the future as well.


Also, yeah, once you create a world it can be started as single player or multiplayer (interchangeable), and what eco master said is right. Beds change spawn point and that is saved for each player, along with piggy bank contents.
---
Another idea I had was the spy/sniper being able to climb into the soldier's rocket launcher and be launched across the map, dealing more damage, but no splash.