Server

The server software of Terraria is run in the game itself. To run a server, a user 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 portforwarded in order for other players be able to join. The default number of max players is 8. This can be changed during server startup and in the server configuration (serverconfig.txt).

Features
The server will auto-save the world now and then. A password can be customized for the server. Note however, if you click the x without using the "save" command, your server will not auto save.

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

The following is a list of available server commands:


 * help -             Displays a list of commands.
 * playing -          Shows the list of players
 * 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.
 * motd -             Print MOTD.
 * motd  -     Change MOTD.
 * dawn -             Change time to dawn.
 * noon -             Change time to noon.
 * dusk -             Change time to dusk.
 * midnight -         Change time to midnight.
 * settle -           Settle all water.

Note that you do not have to do a /[command] to do the command, just type the command with no forward slash into the Command prompt

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 defind the the file is not located during the server start up then the server will ask the user to define the parameters much as it would if it was run without a server config file defined.

The following is a list of available server 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 addition cheat protection.

The use of the hash (#) symbol in the server config file defines the entire line as a remark 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 - this will take care of it)
 * XNA Framework (easiest is to install Terraria Client on the Server - this will take care of it)