Qualidade da página: 1/5
Qualidade da página: 1/5
Qualidade da página: 1/5
Qualidade da página: 1/5
Qualidade da página: 1/5

Servidor

Fonte: Terraria Wiki
Saltar para a navegação Saltar para a pesquisa
Guide.png
Página marcada para tradução.
Se você conhece um pouco de inglês, ajude traduzindo a página aqui.
Última edição por LasanhaLG08 em 2023-01-15 14:12:01.

Um servidor do Terraria fornece uma plataforma para jogadores se conectarem através da internet ou outra rede para jogos multijogador. Instalações do terraria no Windows já incluem um software para servidor. Para rodar um servidor numa distribuição Linux, você precisa baixar os arquivos do servidor. Veja a seção de downloads.

Um servidor também pode ser usado para jogar com apenas um jogador. Isso oferece a habilidade de ajustar o tempo do jogo à vontade.

Antes de Hospedar

O servidor roda em uma porta TCP 7777 por padrão. Se sua rede estiver atrás de um NAT (por exemplo, um usuário residencial), a porta precisa ser aberta para que outros jogadores possam se conectar. Se você não pode abrir uma porta, você também pode usar um serviço VPN como o Hamachi ou Radmin VPN (Nesses casos, todos os jogadores precisam instalar o software VPN). O padrão máximo de jogadores é 8 (16 na 1.4.0.1), mas isso pode ser alterado na inicialização do servidor, assim como dentro dos arquivos de configuração do servidor (serverconfig.txt). Conexões que não utilizam NAT (por exemplo, redes comerciais e usuários de data centers) normalmente não precisam abrir portas, mas talvez necessitem permitir a porta através do firewall.

Se estiver rodando um serviço em nuvem como AWS ou GCP, garanta que a porta 7777 esteja aberta tanto em TCP quanto em UDP para permitir conexões ao servidor.

Servidores Publicos

Servidores podem ser encontrados através dessas listas:

Entrando em Servidores

Um servidor pode ser acessado selecionando a opção Multijogador no menu principal, selecionando um personagem, e então colocando o IP do servidor e a porta.

Geralmente servidores diferentes tem requisitos diferentes para um jogador entrar. Alguns servidores vão requisitar que o jogador tenha um personagem clássico 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.

Servidores publicos normalmente são executados por um grupo de administradores e/ou moderadores que reforçam as regras. Normalmente essas regras não permitem mods e hacks. Alguns servidores também tem a capacidade de permitir um jogador de jogar online com os personagens offline sem perder seu inventario.

Uma lista de todos os servidores jogados recentemente vão ficar salvos abaixo do "Entrar via IP" no Multijogador.

Como criar no (Windows)

  • Por padrão, em uma instalação Windows de 32-bits, o TerrariaServer.exe pode ser encontrado em: %programfiles%\Steam\steamapps\common\terraria
  • Em uma instalação Windows de 32-bits, o TerrariaServer.exe pode ser encontrado em: %programfiles(x86)%\Steam\steamapps\common\terraria
  • Se você não conseguir encontrar nos caminhos acima, abra o Steam e clique no Terraria com o botão direito na sua biblioteca, então vá em "Propriedades" > "ARQUIVOS LOCAIS" > "NAVEGAR NOS ARQUIVOS LOCAIS..." para abrir a pasta.
  • Se você não tem Steam: %programfiles(x86)%\terraria or %programfiles%\terraria
  • Se você usa GOG: GOG Games\terraria

Um jogador então pode entrar no servidor escolhendo a opção Multijogador no menu do jogo.

Como criar no (Linux)

Prerequisites

First we will install the tools we need to run the server. These are likely preinstalled on your distribution.

For a Debian based system (Ubuntu), run: sudo apt update && sudo apt install -y wget tmux unzip

Starting the server

  1. See the Downloads section to get the link to the latest download. Then download the file: wget the_latest_link_here
  2. Unzip the file: unzip terraria-server*
  3. Navigate into the directory you just unzipped. As of 1.4.1.2 the directory is called '1412'. This may change for future versions: cd 1412
  4. Navigate to the Linux directory: cd Linux
  5. Add executable permissions to the server binary: chmod +x TerrariaServer.bin.x86*
  6. Launch the server. The 64 bit version is TerrariaServer.bin.x86_64, the 32 bit version is TerrariaServer.bin.x86: ./TerrariaServer.bin.x86_64
  7. Place your world files in the following location for the server to find them: ~/.local/share/Terraria/Worlds/

Launching in the background

Tmux is a modern version of screen that allows multiple virtual terminal instances. We will use it to launch the server in the background.

  1. Launch the server in a tmux session: tmux
  2. In the tmux session, launch the server: ./TerrariaServer.bin.x86_64
  3. Now the server should start up as normal. To detatch from the tmux instance, leaving the server running in the background, use the following key combination: <Ctrl+b> d
  4. You should now be back at the previous terminal instance. You can see that the tmux session is running in the background with tmux list
  5. To re-attach to the instance to edit or shut it down, just run tmux attach

Notes

  • In some cases it is needed to export TERM variable in this way: export TERM=xterm

How to (RPI / Others OSes)

If you are using an operating system (Such as Raspberry Pi OS (previously called Raspbian) or FreeBSD) that does not come with a prebuilt executable, you could use mono to start the server. This could be useful if you want to host a server on a device such as a Raspberry Pi, or any device that does not run on the x86 architecture.

Prerequisites

NOTE: If you are using a non-x86 Linux-based operating system (Such as Raspberry Pi OS), the first few instructions should be the same as the one found here, up until the chmod command. You would need to install mono and and any other required libraries (such as sqlite or screen) if it does not come preinstalled on your system.

Launching the server

  1. Download and extract the Terraria files following your system specifications. (For Raspberry Pi Users Follow The Linux Guide)
  2. Navigate to the Linux directory.
  3. Launch the server by using the following mono command: mono --server --gc=sgen -O=all ./TerrariaServer.exe

The server should run as expected.

Troubleshooting

If you encounter an error saying "Your mono runtime and class libraries are out of sync.", navigate within the Terraria directory and remove monoconfig, mscorlib.dll, and any files that begin with "Mono" or "System".

Example instructions with Linux:

rm System*
rm Mono*
rm monoconfig
rm mscorlib.dll

WindowsBase.dll and FNA.dll should be the only .dll files in the directory

NOTE: This procedure will delete any other files starting with "Mono" or "System", so keep that in mind!

Downloads

The vanilla Terraria server software is included with the regular Terraria package (see above), but can also be downloaded:

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):

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 Windows server consists of these 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.
  • start-server-steam-friends.bat - functions as "Host & Play" would, but through the console. steam friends will be able to join your game through this.

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 <player name> - Kicks a player from the server.
  • ban <player name> - Bans a player from the server.
  • password - Show password.
  • password <pass> - Change password.
  • version - Print version number.
  • time - Display game time.
  • port - Print the listening port.
  • maxplayers - Print the max number of players.
  • say <message> - Send a message to all players. They will see the message in yellow prefixed with <server> in the chat.
  • motd - Print MOTD.
  • motd <message> - 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 <file path> - Specifies a configuration file to use (see Server config file below).
  • -port <number> - Specifies the port to listen on.
  • -players <number> / -maxplayers <number> - Sets the max number of players.
  • -pass <password> / -password <password> - Sets the server password.
  • -motd <text> - Set the server motto of the day text.
  • -world <file path> - Load a world and automatically start the server.
  • -autocreate <number> - 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 <file path> - Specifies the location of the banlist. Defaults to "banlist.txt" in the working directory.
  • -worldname <world name> - 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 friends / -lobby private - Allows only friends to join the server or sets it to private if Steam is enabled.
  • -ip <ip address> - Sets the IP address for the server to listen on
  • -forcepriority <priority> - Sets the process priority for this task. If this is used the "priority" setting below will be ignored.
  • -disableannouncementbox - Disables the text announcements Announcement Box makes when pulsed from wire.
  • -announcementboxrange <number> - Sets the announcement box text messaging range in pixels, -1 for serverwide announcements.
  • -seed <seed> - Specifies the world seed when using -autocreate

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:

  • world=C:\Users\Defaults\My Documents\My Games\Terraria\Worlds\world1.wld - Load a world and automatically start the server.
  • autocreate=3 - Creates a new world if none is found. World size is specified by: 1(small), 2(medium), and 3(large).
  • seed=AwesomeSeed - Sets the world seed when using autocreate
  • worldname=World - Sets the name of the world when using autocreate
  • difficulty=0 - Sets world difficulty when using -autocreate. Options: 0(normal), 1(expert), 2(master), 3(journey) [Note: Mobile Servers require 1 to be added to the difficulty (e.g. 2 is expert for mobile terraria servers).]
  • maxplayers=8 - Sets the max number of players allowed on a server. Value must be between 1 and 255
  • 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
  • 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
  • upnp=1 - Automatically forward ports with uPNP.
  • npcstream=60 - Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off.
  • priority=1 - Default system priority 0:Realtime, 1:High, 2:AboveNormal, 3:Normal, 4:BelowNormal, 5:Idle
  • Journey Mode power permissions for every individual power. 0: Locked for everyone, 1: Can only be changed by host, 2: Can be changed by everyone
    • journeypermission_time_setfrozen=2
    • journeypermission_time_setdawn=2
    • journeypermission_time_setnoon=2
    • journeypermission_time_setdusk=2
    • journeypermission_time_setmidnight=2
    • journeypermission_godmode=2
    • journeypermission_wind_setstrength=2
    • journeypermission_rain_setstrength=2
    • journeypermission_time_setspeed=2
    • journeypermission_rain_setfrozen=2
    • journeypermission_wind_setfrozen=2
    • journeypermission_increaseplacementrange=2
    • journeypermission_setdifficulty=2
    • journeypermission_biomespread_setfrozen=2
    • journeypermission_setspawnrate=2

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

Banning and un-banning

The command ban <player> will ban the indicated player from the server. A banned player, when they try 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.

Notes

  • The server will auto-save the world now and then, but will only save on shutdown when using the exit command. That said, consider saving manually prior to shutdown.
  • When no players are online the server hibernates. Time only passes when players are connected.
  • When you launch a server, it will ask if you want to auto port forward, however this doesn't always work.
  • Servers are often set up using Hamachi. This removes the need of having to port-forward, but relies on a third party program.
  • Some servers will boost health, If a server is in expert mode, the destroyer may have 1,000,000+ health / hp (hitpoints)

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
    • Connect the computers to the network via ethernet if possible, since ethernet is almost always faster than wireless.
    • 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.
  2. Get server information
    • 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.
    • Windows:
      • 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.
    • MacOS:
      • Open System Preferences > Network and record the IP Address. See above for what the IP should look like.
    • GNU/Linux:
      • Run "ifconfig" or "ip a" from a terminal window to get your local IP. See above for what the IP should look like.
  3. Connect the clients to the server
    • Open Terraria, click multiplayer, and connect to the IP address that you recorded from the second step.
    • You should be connected to the server!
  4. Troubleshooting (if something doesn't work)
    • 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.
    • If your local IP address does start with 169, you should check your network settings to get connected to the internet.
    • 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.
      • 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.
    • 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

  • Desktop 1.4.0.1:
    • New difficulty values: 2 for master mode, 3 for journey mode.
    • A bunch of configuration file options have been added for controlling journey mode power permissions.
  • Desktop 1.3.0.4:
    • Dedicated servers can now be launched with -forcepriority to override server settings file's process priority.
    • Dedicated server can now use -ip again to set their local IP address.
  • Desktop 1.3.0.3: You should now have an easier time reporting errors if they happen on a server.
  • Desktop 1.3.0.2:
    • You will now be able to enter the password every time when entering or creating a server.
    • Many issues with the dedicated server and its configurations have been resolved.
    • Fixed an issue where users would be unable to invite each other when in "Invite Only" mode.
  • Desktop 1.2.3.1: Fixed crashes when starting the dedicated server in a language other than English.
  • Desktop 1.0.2:
    • Servers now listen to all IP addresses on the hosting PC, regardless of how many network connections are active.
    • Typing "localhost" instead of your own local IP address will connect to your own same-PC server.
    • Game default port changed from 31337 to 7777.
    • Client will now resolve a hostname into its IP address, for example, if randomsite.org ran a server, you could type randomsite.org as the IP address and be able to connect.
  • Desktop-Release: Introduced.
  • Console-Release: Introduced.
  • Mobile-Release: Introduced.
  • 3DS-Release: Introduced.