Сервер Terraria для игры с друзьями: дёшево и просто

Игровые серверы
Сервер Terraria для игры с друзьями: дёшево и просто

Сервер Terraria — редкий случай, когда «дёшево» и «хорошо» совпадают: выделенный террария сервер настолько лёгкий, что ему хватает VPS за 199–349 ₽ в месяц. Не нужно держать компьютер включённым, раздавать мир через Steam или возиться с Hamachi — друзья заходят в любой момент, мир живёт на сервере 24/7, прогресс не зависит от того, кто «хостит». В этой инструкции поднимем официальный выделенный сервер Terraria на Ubuntu 24.04, разберём проброс порта 7777 на NAT VPS, поставим TShock для защиты от гриферов и настроим автозапуск. Всё — за полчаса.

Сколько ресурсов нужно серверу Terraria

Terraria — 2D-игра, и её сервер не сравнить по аппетитам с Minecraft или Rust. Выделенный сервер однопоточный по основной логике, миры весят десятки мегабайт, а не гигабайты. Реальные цифры:

СценарийRAMvCPUПодходящий тариф
2–4 друга, средний мир1–2 ГБ1–2NAT Pro — 199 ₽/мес
До 8 игроков, большой мир2–3 ГБ2NAT Pro — 199 ₽/мес
8–16 игроков, TShock с плагинами3–5 ГБ2–4NAT Plus — 349 ₽/мес
tModLoader с крупными модами4–8 ГБ4NAT Plus — 349 ₽/мес

То есть даже с запасом достаточно NAT Plus у Cheap-Host (4 vCPU, 8 ГБ RAM, 50 ГБ NVMe за 349 ₽/мес), а компании из нескольких друзей на ванильном сервере хватит и NAT Pro за 199 ₽/мес. Сравнение требований других игр — в статье сколько ресурсов нужно игровому серверу.

Почему NAT VPS — идеальный вариант для Terraria

NAT VPS — это виртуальный сервер с общим IPv4-адресом: выделенный IP не выдаётся, зато цена в разы ниже обычного VPS. Для веб-сайта это ограничение, а для игрового сервера — нет: игрокам всё равно, общий у сервера IP или выделенный, они просто вводят адрес и порт.

  • На тарифах Cheap-Host вы получаете 999 портов TCP/UDP плюс отдельный SSH-порт — Terraria нужен ровно один TCP-порт.
  • Трафик безлимитный, канал 100 Мбит/с — сервер Terraria генерирует единицы мегабит даже с полным онлайном.
  • NVMe-диск ускоряет сохранение мира, полный root позволяет ставить что угодно.
  • Локация — Германия: из европейской части России пинг 40–80 мс, для кооперативной песочницы это незаметно.

Единственный нюанс: порт 25 (SMTP) на NAT-тарифах закрыт, но игровому серверу он и не нужен. Подробнее о том, как устроен этот тип серверов — в статье что такое NAT VPS.

Шаг 1. Подготовка сервера

Подключитесь по SSH и обновите систему, поставьте утилиты и создайте отдельного пользователя:

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget unzip screen
sudo adduser terraria
su - terraria

Шаг 2. Установка выделенного сервера Terraria

Официальный сервер раздаётся бесплатно на terraria.org — покупать игру для сервера не нужно. Номер в ссылке — версия без точек (1.4.4.9 → 1449); актуальную ссылку проверяйте на сайте в разделе Dedicated Server:

mkdir ~/server && cd ~/server
wget https://terraria.org/api/download/pc-dedicated-server/terraria-server-1449.zip
unzip terraria-server-1449.zip
cd 1449/Linux
chmod +x TerrariaServer.bin.x86_64

Сервер можно запустить прямо сейчас командой ./TerrariaServer.bin.x86_64 — он в интерактивном режиме предложит создать мир. Но удобнее один раз описать всё в конфиге.

Шаг 3. Конфиг serverconfig.txt

Создайте в каталоге ~/server/1449/Linux файл serverconfig.txt:

world=/home/terraria/worlds/friends.wld
autocreate=3
worldname=FriendsWorld
difficulty=1
maxplayers=8
port=7777
password=нашсекрет
motd=Добро пожаловать на наш сервер!
secure=1
npcstream=60

Что здесь важно:

  • autocreate=3 — если мира по указанному пути нет, сервер создаст большой мир (1 — маленький, 2 — средний, 3 — большой).
  • difficulty — сложность мира: 0 — классика, 1 — эксперт, 2 — мастер, 3 — journey.
  • password — обязательно поставьте: на общем IP порты регулярно сканируют случайные игроки и боты.
  • port — стандартный порт Terraria 7777; на NAT VPS его, скорее всего, придётся поменять — об этом ниже.

Уже существующий мир с домашнего ПК переносится просто: скопируйте файл .wld (Windows: %UserProfile%\Documents\My Games\Terraria\Worlds) на сервер командой scp и укажите путь в параметре world.

Шаг 4. Порт 7777 на NAT VPS: два способа

На обычном VPS достаточно открыть 7777/tcp в файрволе. На NAT VPS общий IP делят несколько клиентов, поэтому вам выделяется диапазон портов — например, 20000–20999. Снаружи доступны только они. Есть два рабочих варианта.

Способ 1 (проще): запустить сервер сразу на выделенном порту

Просто укажите в serverconfig.txt порт из вашего диапазона:

port=20777

Друзья подключаются по адресу вида 185.xx.xx.xx:20777. Никаких лишних правил — рекомендуем именно этот способ.

Способ 2: проброс внешнего порта на локальный 7777

Если хотите оставить внутри классический 7777 (например, конфиг уже настроен), перенаправьте входящие с выделенного порта:

sudo iptables -t nat -A PREROUTING -p tcp --dport 20777 -j REDIRECT --to-port 7777
sudo apt install -y iptables-persistent
sudo netfilter-persistent save

Пакет iptables-persistent сохраняет правило, чтобы оно пережило перезагрузку. Как вообще устроена работа с портами на таких серверах, мы подробно разбирали в статье о пробросе портов на NAT VPS.

Шаг 5. Запуск и автозапуск

Для первого запуска удобен screen — сессия с консолью сервера не умрёт при отключении SSH:

cd ~/server/1449/Linux
screen -S terraria
./TerrariaServer.bin.x86_64 -config serverconfig.txt

Отключиться от сессии — Ctrl+A, затем D; вернуться — screen -r terraria. В консоли сервера работают команды save, kick, ban, exit.

Для постоянной работы лучше оформить сервер службой systemd. Создайте от sudo-пользователя файл /etc/systemd/system/terraria.service:

[Unit]
Description=Terraria Dedicated Server
After=network.target

[Service]
Type=simple
User=terraria
WorkingDirectory=/home/terraria/server/1449/Linux
ExecStart=/home/terraria/server/1449/Linux/TerrariaServer.bin.x86_64 -config /home/terraria/server/1449/Linux/serverconfig.txt
Restart=on-failure

[Install]
WantedBy=multi-user.target

И включите её:

sudo systemctl daemon-reload
sudo systemctl enable --now terraria
sudo systemctl status terraria

Мир автоматически сохраняется при штатной остановке службы, но резервную копию папки worlds по крону лишней не будет — файл мира весит немного даже на NVMe-диске в 25–50 ГБ.

TShock: права, регионы и защита от гриферов

Ванильный сервер прекрасен для компании друзей, но в нём нет системы прав: любой зашедший может сломать постройки. TShock — самая популярная серверная обвязка Terraria: аккаунты и группы прав, защита регионов, варпы, история изменений блоков и откат гриферства, плагины.

TShock заменяет ванильный сервер: скачайте свежий релиз для linux-x64 со страницы github.com/Pryaxis/TShock/releases (версия TShock должна соответствовать версии Terraria) и распакуйте в отдельный каталог:

mkdir ~/tshock && cd ~/tshock
wget https://github.com/Pryaxis/TShock/releases/download/v5.2.0/TShock-5.2-for-Terraria-1.4.4.9-linux-x64-Release.zip
unzip TShock-5.2-for-Terraria-1.4.4.9-linux-x64-Release.zip
chmod +x TShock.Server
./TShock.Server -config /home/terraria/server/1449/Linux/serverconfig.txt

При первом запуске TShock выведет в консоль одноразовый код настройки. Зайдите в игру, введите в чате /setup КОД, затем создайте себе администратора: /user add ВашНик пароль superadmin и войдите: /login ВашНик пароль. Дальше — /region для защиты построек и конфиги в каталоге tshock/. Плагины (файлы .dll) кладутся в папку ServerPlugins.

Под TShock с десятком плагинов и 10+ игроками берите NAT Plus: 8 ГБ RAM хватит с большим запасом, а 4 vCPU сгладят пики при событиях вроде вторжений. К слову, на том же сервере параллельно поместится и небольшой сервер Minecraft — портов и памяти хватит на оба.

FAQ

Сколько игроков потянет сервер Terraria на дешёвом VPS?

На 2 vCPU и 4 ГБ RAM (NAT Pro) спокойно играют 8 человек на большом мире. NAT Plus с 4 vCPU и 8 ГБ RAM держит 16 игроков и запас под TShock с плагинами.

Какой пинг будет до сервера в Германии из России?

Обычно 40–80 мс из европейской части России. Terraria — не шутер: такой пинг в кооперативе не ощущается, а безлимитный трафик и канал 100 Мбит/с закрывают остальные вопросы.

Можно ли поставить tModLoader с модами?

Да, у tModLoader есть собственный выделенный сервер для Linux, ставится аналогично. Крупные модпаки вроде Calamity заметно прожорливее ванили, поэтому для модов лучше NAT Plus с 8 ГБ RAM.

Почему друзья не могут подключиться?

В 90% случаев — неверный порт. На NAT VPS подключаются к общему IP и внешнему порту из вашего диапазона (например, 20777), а не к 7777. Проверьте port в serverconfig.txt, правило iptables, если делали проброс, и что сервер запущен: ss -tlnp | grep Terraria.

Как перенести мир с компьютера на сервер?

Скопируйте файл .wld из папки миров на вашем ПК командой scp на сервер и укажите путь к нему в параметре world в конфиге. В обратную сторону работает так же — мир всегда можно забрать домой.

Вывод

Сервер Terraria — идеальный первый игровой сервер: официальный выделенный сервер бесплатен, ставится за 15–30 минут, а железа просит меньше, чем любая другая популярная песочница. Схема простая: дешёвый NAT VPS, официальный архив с terraria.org, serverconfig.txt, порт из выделенного диапазона (или проброс на 7777) и TShock, если нужны права и защита от гриферов. Если для этой задачи нужен сервер — у Cheap-Host есть NAT Pro за 199 ₽/мес (2 vCPU, 4 ГБ RAM) для компании друзей и NAT Plus за 349 ₽/мес (4 vCPU, 8 ГБ RAM, 50 ГБ NVMe) под TShock и моды: безлимитный трафик, полный root, выдача сервера за минуту.

Читайте также