Server

The server software of Terraria is run by the game itself. To run a dedicated server, one must run TerrariaServer.exe.

By default, the TerrariaServer.exe can be found at: %programfiles%\Steam\steamapps\common\terraria

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

The server runs on port 7777 by default and it must be port-forwarded in order for other players be able to join. The default number of max players is 8 and can be changed during server start-up as well as within the server configuration file (serverconfig.txt).

Features
The server will auto-save the world now and then and a password can be customized for the server. However, when clicking the x without using the "save" command, the server will not auto save.

List of console commands
Once the server is running, various commands to alter certain aspects of the game dynamically and instantaneously can be run.

The following is a list of available server commands:


 * 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 /[command] is not required to do the command, typing the command with no forward slash into the Command prompt will suffice.

Command line parameters
The following is a list of available command line parameters:


 * -config  - Specifies the configuration file to use.
 * -port  - Specifies the port to listen on.
 * -players / -maxplayers  - Sets the max number of players
 * -pass / -password  - Sets the server password
 * -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 addition cheat protection to the server

Server files
Terraria comes with its own dedicated server files. They are stored in the root Terraria folder. 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.

Server config file
It is possible to start the dedicated server using a server config file to define the above parameters automatically. The server config file can be defined using the -config parameter, it can be called anything but must be located in the same folder as TerrariaServer.exe for it to function. 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 - Set’s 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).
 * 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.

The use of the hash (#) symbol in the server config file defines the entire line as a comment causing the server to skip past it.

Banning and un-banning
After banning a character using the ban command, that player may be un-banned by navigating to the Terraria folder, and then banlist.txt. This document will contain a list of all banned players and to un-ban a player delete the players name and IP address.

System requirements

 * Windows Operating System
 * Depending on the World at least 500 MB free RAM for a small world (to be verified on different Servers/Setups)
 * .NET Framework 4.0 (easiest is to install Terraria Client on the Server)
 * XNA Framework (easiest is to install Terraria Client on the Server)