Tutorial como criar servidor de Terraria no Raspberry Pi

Objetivos

  • Instalar suporte .NET Framework no Linux, com o Mono
  • Criar servidor de Terraria no Raspberry Pi

Considerações Iniciais

Neste tutorial vamos levar em conta que já formatou um cartão de memória ou unidade de armazenamento USB no seu raspberry Pi com o Raspberry Pi Imager. No momento da formatação e escolha do sistema operacional (Raspberry Pi OS ou Ubuntu) você já habilitou suporte a conexão SSH e conexão wifi, caso não vá utilizar conexão de internet por cabo no Raspberry.

Passo a passo para criar servidor de Terraria no Raspberry Pi

Passo 1 – Conexão SSH

Como comentamos, já vamos considerar que instalou a imagem do Sistema Operacional no Raspberry com suporte a conexão SSH. Desta forma, levando em conta o usuário viniciuspaes e o IP sendo 192.168.1.55, vamos realizar o login com o comando:

ssh viniciuspaes@192.168.1.55

Passo 2 – Update e Upgrade de softwares

Vamos ter certeza que estamos com o sistema operacional e os softwares na versão mais atualizada. Vamos então executar o comando:

sudo apt update && sudo apt upgrade

Passo 3 – Download e instalação da versão mais atualizada do Mono

Terraria utiliza o .NET Framework para funcionar, como estamos utilizando o sistema operacional Linux, precisamos então utilizar o software Mono. Nesta etapa precisamos acessar o site do Mono pelo link:

Nesta tela temos 3 opções de sistema operacional:

  • Ubuntu
  • Debian
  • Raspbian

Neste exemplo, meu raspberry está com o Ubuntu instalado, mas caso você esteja utilizando o Debian ou Raspbian, só clicar na aba deles na página do Mono para verificar os comandos de instalação.

Seguindo as instruções da página do Mono para o Ubuntu, para realizar a instalação do Mono, precisamos executar os comandos (execute 1 linha por vez no terminal):

sudo apt install ca-certificates gnupg
sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/mono-official-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb [signed-by=/usr/share/keyrings/mono-official-archive-keyring.gpg] https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

Vamos precisar do pacote do Mono completo, então para realizar a instalação, precisamos executar o comando:

sudo apt install mono-complete

Servidor Terraria - Página de Download do Mono (.NET Framework para Linux)
Servidor Terraria - inatalação mono - parte 1
Servidor Terraria - inatalação mono - parte 2
Servidor Terraria - inatalação mono - parte 3
Servidor Terraria - inatalação mono - parte 4
Servidor Terraria - inatalação mono - parte 5

Passo 4 – Download da versão mais atualizada do Servidor de Terraria Oficial

Para realizar o download da última versão do Servidor de Terraria, primeiro vá até a página oficial do jogo:

Terraria.org

Navegue até o rodapé da página e procure pelo link:

PC Dedicated Server

Copie o link de download para que possa realizar o download diretamente no servidor.

Alternativamente, segue uma lista dos arquivos para download:

 

Neste exemplo, a última versão disponível é a 1.4.4.9. Para navegar até a pasta do seu usário, utilize o comando:

cd ~

Para realizar o download do arquivo diretamente no servidor, utilizar o comando:

wget https://terraria.org/api/download/pc-dedicated-server/terraria-server-1449.zip

Repare então que vamos ter o arquivo no formato terraria-server-XXXX.zip na nossa pasta pessoal do usuário.

Terraria Server - Página Oficial de Terraria - foco no rodapé com link de download
Terraria Server - download do arquivo de servidor do terraria

Passo 5 – Descompactar arquivo de Servidor do Terraria

Para descomprimir/descompactar o arquivo que acabamos de realizar o download, precisamos ter o software zip/unzip instalado. Desta forma, vamos utilizar o comando:

sudo apt install zip unzip

Terraria Server - instalar zip e unzip

Para descomprimir o arquivo .zip do servidor, utilize o comando:

unzip terraria-server-1449.zip

Terraria Server - descompactar arquivo do servidor de Terraria

Para renomear a pasta da versão do terraria (1449) para terraria-server, utilize o comando:

mv 1449 terraria-server

Terraria Server - renomear pasta do servidor

Passo 6 – Primeira tentativa de execução do servidor de Terraria

Agora os arquivos do servidor do terraria estão disponíveis dentro da sua pasta de usuário. A pasta do servidor possui 3 opções de sistema operacional:

  • Linux
  • Windows
  • Mac Os

Vamos acessar agora os arquivos do servidor de terraria disponíveis para linux (executar 1 linha de cada vez):

cd ~
cd terraria-server
cd Linux

Terraria Server - caminhar até a pasta do servidor no diretório linux

Para realizar a primeira tentativa de execução do servidor, vamos executar o comando:

mono --server --gc=sgen -O=all ./TerrariaServer.exe

É comum receber erros na primeira execução, como exemplo:

Your mono runtime and class libraries are out of sync.

Terraria Server - comando para iniciar servidor terraria
Terraria Server - erro comum primeira inicialização do servidor com mono

Caso receba este erro, basta remover alguns arquivos (execute uma linha de cada vez):

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

Terraria Server - removendo arquivos que causam conflitos na execução do servidor

Passo 7 – Execução do servidor de Terraria

Se realizou todos os passos corretamente, agora o Raspberry Pi está apto a executar o servidor de Terraria. Execute então novamente o comando:

mono --server --gc=sgen -O=all ./TerrariaServer.exe

Terraria Server - comando para iniciar servidor terraria

Você pode adicionar um mundo que já possua no seu servidor do Raspberry. Os arquivos do seu mundo devem ficar dentro da pasta:

~/.local/share/Terraria/Worlds

Servidor Terraria - local onde os arquivos do mundo ficam guardados no servidor

Passo 8 – Criando um novo mundo e habilitando o mesmo no servidor

Após executar o comando do passo anterior, você terá a opção de criar um novo mundo ou carregar um mundo existente, caso este esteja presente na pasta apropriada.

Caso opte por criar um novo mundo, as etapas são:

  • Tamanho do mapa (pequeno, médio ou grande). Um mapa grande vai demorar bastante para ser criado, tenha certeza também que seu Raspberry tenha uma boa dissipação de calor nessa etapa. É comum acontecer erros na criação de mapas grandes por este motivo.
  • Dificuldade: Classic, Expert, Master e Journey.
  • Maldição do mundo: Corrupt ou Crimson
  • Nome para o novo mundo
  • Semente: é utilizada como variável para definir um mundo aleatório. Se tiver algum mapa que já gerou no passado, pode aproveitar a mesma semente e gerar novamente.

Terraria Server - criando um novo mundo - parte 1

Terraria Server - criando um novo mundo - parte 2

Terraria Server - criando um novo mundo - parte 3

Terraria Server - criando um novo mundo - parte 4

Terraria Server - criando um novo mundo - parte 5

Terraria Server - criando um novo mundo - parte 6

Terraria Server - htop durante criação do novo mundo

Após criar um novo mundo, é possível selecioná-lo para execução no servidor. Em seguida deverá definir as opções:

  • Número máximo de jogadores conectados.
  • Porta de conexão do servidor, o padrão é a porta 7777.

Servidor Terraria - Habilitando um mundo no servidor - parte 1
Servidor Terraria - Habilitando um mundo no servidor - parte 2

Servidor Terraria - Habilitando um mundo no servidor - parte 3

Servidor Terraria - Habilitando um mundo no servidor - parte 4

Servidor Terraria - htop servidor em execução com jogador online
Servidor Terraria - 1 jogador online pela rede local

Neste exemplo então, para se conectar no servidor de terraria local, foi necessário apenas escolher o IP e a porta.

Caso queira deixar o servidor disponível externamente, você precisa abrir a porta 7777 no seu roteador e direcionar o tráfego para o IP do Raspberry Pi. Depois anote o seu IP público (IP externo de internet) e passe para que seus amigos possam se conectar.

Servidor Terraria - Habilitando port foward no roteador para amigos se conectarem pela internetServidor Terraria - jogadores oriundos da internet se conectando no raspberry pi local

Considerações Finais

O servidor de Terraria é bem leve, nos testes que realizei o Raspberry raramente passava de 1GB de ram, mesmo durante o processo de criação de um novo mundo. Não tive oportunidade de testar com muitos jogadores, mas com certeza é bem mais leve que o servidor de Minecraft e o Raspberry não terá grandes problemas de execução.