Server

A Terraria server provides a platform for players to connect over the internet or other network for multiplayer games. Windows installations of Terraria include its server software.

A server can also be used for standalone single-player gameplay. This offers the ability to adjust the in-game time at will.

The downside to using a server (instead of playing in singleplayer or "Host-and-Play" modes) is that although the hosting computer can be a server and play at the same time, there will be a small amount of lag or more depending on the amount of players you are willing to limit for the hosting computer's gameplay.

Before You Host
The server runs on port 7777 by default. If you are behind NAT(e.g. residential user), the port used must be port-forwarded in order for other players be able to join. If one can't forward a port, one may choose to use a VPN service like Hamachi or Radmin VPNinstead (although in those cases, every player needs to install the VPN software). The default max players is 8, but this can be changed during server start-up, as well as within the server configuration file (serverconfig.txt). Non-NAT connections(e.g. business or data center user) typically do not need port forwarding, but may need to allow the port through a firewall.

Public servers
Some active servers:


 * Aurora Gaming - https://aurora-gaming.org/ (ip:t.aurora-gaming.com port:7777)
 * Pedguin's Minigame Server - https://www.pedguin.com (ip:pedguin.com port:7777)
 * Capture the Gem, Spleef, Build My Thing, Penguin Party, Parkour, Who is the Killer, Terra Strike, Class Wars, Defend the Fortress, and Races; PvE events in the PvE lobby and Survival in the Survival lobby.
 * Must use a new Softcore character. Play as Guest or use /register "password".
 * Teeria Legends - http://teeria.eu (ip:t.teeria.eu port:7777)

Other servers can be found via these server lists:

Joining Servers
A server can be joined by selecting the Multiplayer option on the main menu, selecting a character, and then entering the server's IP and port.

Often different servers have different requirements for a player to join. Some servers will require the player to have a Softcore or Mediumcore player to play, and some may require that players be at a certain level of the game before joining. Often a public server will have a /register and /login system where the player must have a character with both a unique name and password.

Public servers also usually are run by a group of Administrators and/or Moderators who enforce or regulate rules. Often these rules will disallow mods and hacks, impersonation, and the like. Some servers may also have the capability to allow a player to play online with their singleplayer character without losing their singleplayer inventory.

A list of servers you have recently played will be saved under "Join via IP" in Multiplayer.

How to (Windows)
By default, on a 32-bit Windows installation of Terraria, TerrariaServer.exe can be found at: %programfiles%\Steam\steamapps\common\terraria

On a 64-bit Windows installation, it can be found at: %programfiles(x86)%\Steam\steamapps\common\terraria If you do not have steam: %programfiles(x86)\terraria or %programfiles%\terraria A player then may join the server from the game menu by choosing the Multiplayer option.

How to (Linux)
To keep the server up and running while in the background, you can use a program like tmux or screen.

By default TerrariaServer.exe can be found at:

or if using Steam:

The binaries for Linux are called TerrariaServer.bin.x86_64 for 64bit or TerrariaServer.bin.x86 for 32bit machines.

A player then may join the server from the game menu by choosing the Multiplayer option.

If you want to use screen, just start screen with:

and now start the server. To exit screen while leaving the server up push Ctrl + a + d. To resume the session just type:

Downloads
The vanilla Terraria server software is included with the regular Terraria package (see above), but can also be downloaded:
 * Terraria Server 1.3.3.3
 * Terraria Server 1.3.4.4
 * Terraria Server 1.3.5.3

Dedicated Server GUI is a third-party add-on for the vanilla server that offers graphical controls (the server is normally a command-line program):
 * Dedicated Server GUI.

Tshock and TDSM are third-party server packages that offer additional functionality, such as in-game commands, whitelists, player passwords, and a plugin interface for added features (such as factions):
 * Tshock
 * TDSM (Latest version 1.3.2.1; No longer maintained.)

Server files
The server consists of three files:


 * TerrariaServer.exe - The main server file. Can be run stand-alone.
 * serverconfig.txt - The server config files. Defines all parameters for the server (see below).
 * start-server.bat - A Windows Batch file which starts the server using the serverconfig.txt file. Also contains a loopback to restart the server if it should crash.

List of console commands
Once a dedicated server is running, the following commands can be run:


 * help - Displays a list of commands.
 * playing - Shows the list of players. This can be used in-game by typing /playing into the chat.
 * clear - Clear the console window.
 * exit - Shutdown the server and save.
 * exit-nosave - Shutdown the server without saving.
 * save - Save the game world.
 * kick  - Kicks a player from the server.
 * ban  - Bans a player from the server.
 * password - Show password.
 * password  - Change password.
 * version - Print version number.
 * time - Display game time.
 * port - Print the listening port.
 * maxplayers - Print the max number of players.
 * say  - Send a message to all players. They will see the message in yellow prefixed with    in the chat.
 * motd - Print MOTD.
 * motd  - Change MOTD.
 * dawn - Change time to dawn (4:30 AM).
 * noon - Change time to noon (12:00 PM).
 * dusk - Change time to dusk (7:30 PM).
 * midnight - Change time to midnight (12:00 AM).
 * settle - Settle all water.

Note that a forward-slash is not required to precede the command, as some command interfaces require. For a list of Tshock commands, refer to the TShock readme.

Command line parameters
The following is a list of parameters that can be entered when running TerrariaServer initially:


 * -config  - Specifies a configuration file to use (see Server config file below).
 * -port  - Specifies the port to listen on.
 * -players / -maxplayers   - Sets the max number of players.
 * -pass / -password   - Sets the server password.
 * -motd  - Set the server motto of the day text.
 * -world  - Load a world and automatically start the server.
 * -autocreate <#> - Creates a world if none is found in the path specified by -world. World size is specified by: 1(small), 2(medium), and 3(large).
 * -banlist  - Specifies the location of the banlist. Defaults to "banlist.txt" in the working directory.
 * -worldname  - Sets the name of the world when using -autocreate.
 * -secure - Adds additional cheat protection to the server.
 * -noupnp - Disables automatic universal plug and play.
 * -steam - Enables Steam support.
 * -lobby or   - Allows friends to join the server or sets it to private if Steam is enabled.

Server config file
It is possible to start the dedicated server using a configuration file that enters the above parameters automatically. The config file must be called using the -config parameter. The file can have any name, but must be in the same folder as TerrariaServer.exe. If a server config file is defined and the file is not located during the server boot, then the server will ask the user to input the parameters as it would if run without a defined config file.

The following is a list of available config commands:


 * maxplayers=8 - Sets the max number of players allowed on a server. Value must be between 1 and 255
 * world=C:\Users\Defaults\My Documents\My Games\Terraria\Worlds\world1.wld - Load a world and automatically start the server.
 * port=7777 - Set the port number
 * password=p@55w0rd* - Set the server password
 * motd=Please don’t cut the purple trees! - Set the message of the day
 * worldpath=C:\Users\Defaults\My Documents\My Games\Terraria\Worlds\ - Sets the folder where world files will be stored
 * autocreate=3 - Creates a new world if none is found. World size is specified by: 1(small), 2(medium), and 3(large).
 * difficulty=0 - Sets world difficulty when using -autocreate. Options: 0(normal), 1(expert)
 * worldname=World - Sets the name of the world when using autocreate
 * banlist=banlist.txt - The location of the banlist. Defaults to "banlist.txt" in the working directory.
 * secure=1 - Adds additional cheat protection.
 * language - Sets the server language from its language code.
 * available codes:
 * en/US = English
 * de/DE = German
 * it/IT = Italian
 * fr/FR = French
 * es/ES = Spanish
 * ru/RU = Russian
 * zh/Hans = Chinese
 * pt/BR = Portuguese
 * pl/PL = Polish

Comment lines can be included using the hash symbol (#). Lines that begin with # will be skipped entirely.

Banning and un-banning
The command "ban " will ban the indicated player from the server. A banned player, when he/she tries to login, will be displayed the message:You are banned for [duration]: [reason]- [modname]. A banned player may then be un-banned by editing the file "banlist.txt," which is located in the Terraria folder. This document contains a list of all currently banned players. To un-ban a player, delete the player's name and IP address from the list.

System requirements

 * Windows Operating System
 * 500 MB free RAM for a small world (RAM depends on world size and number of players)
 * .NET Framework 4.0
 * XNA Framework

An easy method of installing .NET and XNA is to simply install the Terraria client, which should install both as part of its regular installation.

LAN
Below are instructions for a very basic LAN party setup. At the very least, all computers must be connected to the same network for this to work. If you feel so inclined, you can set the server to have a static LAN IP address, but that's not really necessary. Note that these instructions are targeted at people who have little to no networking experience, and just want to play games.
 * 1) Make sure that all computers are connected to the same network
 * 2) * Connect the computers to the network via ethernet if possible, since ethernet is almost always faster than wireless.
 * 3) * If you have a regular home router and want to connect many players, you can connect more computers to the network via ethernet by use of a switch. Simply plug any port of the switch into the router, and plug the rest of the computers (and the server) into the switch. If you don't have a switch, try to at least connect the computer running the server to the network via ethernet. If you can't do that, just make sure all computers are connected to the same wifi connection and it will probably work, just a bit more slowly.
 * 4) Get server information
 * 5) * First, make sure that the server is connected to the internet, or at least connected to your router. To test router connectivity, you can try logging into your router via web panel. Usually the router login information is printed on a sticker on the back of the router. If the page loads, great - just make sure the other computers are connected to the same network.
 * 6) * Windows:
 * 7) ** Open Command Prompt and run "ipconfig" to get information about your network. Record the IP address that appears after "IPV4 Address......" It should be something like 192.168.1.27, 172.16.0.55 10.0.0.42. This is the IP address you will use for joining on terraria. If the IP address starts with 127, look for one that doesn't. If it starts with 169, you're doing something wrong.
 * 8) *MacOS:
 * 9) **Open System Preferences > Network and record the IP Address. See above for what the IP should look like.
 * 10) *GNU/Linux:
 * 11) **Run "ipconfig" or "ip a" from a terminal window to get your local IP. See above for what the IP should look like.
 * 12) Connect the clients to the server
 * 13) * Open Terraria, click multiplayer, and connect to the IP address that you recorded from the second step.
 * 14) * You should be connected to the server!
 * 15) Troubleshooting (if something doesn't work)
 * 16) * Make sure that the firewall on the computer running the server is disabled, or at least allows traffic through on port 7777. Be sure to re-enable the firewall once again when you have the chance.
 * 17) * If your local IP address does start with 169, you should check your network settings to get connected to the internet.
 * 18) * The IP of the server may change, especially if the router restarts. If you are unable to connect to the server, go through step 2 once again to see if the IP has changed.
 * 19) ** If this becomes a recurring problem, you should look up "setting a static IP on (OS Name)", where OS Name is the name of the server's operating system.
 * 20) *If you set the port of the Terraria server to something other than the default of 7777, make sure that the clients are connecting to whatever port the server is configured to use.

History
Serveur