Сетевая игра в Terraria¶
Сетевая игра в Terraria — совместный игровой процесс в многопользовательской версии sandbox-игры Terraria, разработанной студией Re-Logic и выпущенной в 2011 году. Игра поддерживает два основных режима многопользовательской игры: выделенный сервер (dedicated server) и встроенный хост-режим, где один из игроков создаёт мир и подключается к нему напрямую. Сетевое взаимодействие реализовано поверх TCP-протокола, стандартный порт — 7777.
¶Общие сведения о Terraria
Terraria — двухмерная песочница с элементами приключений, разработанная американской студией Re-Logic. Игра была выпущена 16 мая 2011 года на платформе Windows, позднее портирована на macOS, Linux, консоли и мобильные устройства. Игрок исследует процедурно генерируемый мир, добывает ресурсы, создаёт оружие и броню, строит укрытия, сражается с многочисленными боссами и не-игровыми персонажами (NPC).
В многопользовательском режиме до игры могут подключаться до 255 игроков одновременно (теоретический лимит клиента), однако практическое число зависит от производительности сервера. Все игроки разделяют один общий мир: построенные здания, разрушенные блоки, открытые сундуки и убитые боссы сохраняются для всех участников сессии.
¶Способы игры по сети
¶Хост-режим (Host & Play)
Самый простой способ — режим «Host & Play», доступный из главного меню. Игрок выбирает персонажа, создаёт или выбирает существующий мир, задаёт максимальное число участников и пароль (необязательно). После запуска мира игра автоматически открывает порт 7777 и ожидает подключений. Остальные игроки выбирают тот же мир и вводят пароль.
Ограничения хост-режима:
- Мир доступен только при включённом компьютере хоста.
- Производительность зависит от железа хоста.
- При выходе хоста сессия завершается для всех.
¶Выделенный сервер
Для постоянной игры используется выделенный сервер — отдельная программа terraria-server (входит в дистрибутив игры, доступна для Windows, Linux и macOS). Запуск на Windows:
`` TerrariaServer.exe -world "путь/к/миру.wld" -players 8 -port 7777 -pass "пароль" ``
Основные параметры командной строки:
| Параметр | Назначение |
|---|---|
-world | Путь к файлу мира (.wld) |
-players | Максимальное число игроков (от 1 до 255) |
-port | Сетевой порт (по умолчанию 7777) |
-pass | Пароль на подключение |
-worldpath | Каталог хранения миров |
-maxram | Ограничение используемой оперативной памяти |
На Linux сервер запускается аналогично через mono или в нативном окружении (начиная с версии 1.4.4 поддерживается запуск без Mono). Для автоматического перезапуска и работы в фоне используется systemd или утилита screen/tmux.
¶Подключение к серверу
В главном меню выбирается пункт «Multiplayer» → «Join via IP», указывается IP-адрес сервера (или доменное имя) и порт. Если сервер удалённый, порт должен быть проброшен через NAT роутера (проброс портов TCP/UDP 7777) либо использован туннель (ngrok, PlayIt.gg и аналоги).
¶Настройка файрвола и роутера
Для входящих подключений необходимо открыть порт 7777 в системном файрволе (Windows Firewall, ufw, firewalld) и на роутере. Проброс выполняется в веб-интерфейсе роутера: создаётся правило перенаправления TCP/UDP-трафика с внешнего порта 7777 на локальный IP компьютера с сервером. Для динамического IP используется проброс через DNS-сервисы (No-IP, DuckDNS).
¶Синхронизация мира и персонажей
Файл мира (.wld) хранится в папке Documents\My Games\Terraria (Windows). Персонажи (.plr) хранятся там же. При хост-режиме персонажи по умолчанию локальные; на серверах с включённой опцией «Серверный персонаж» (server_character) прогресс хранится на сервере, что исключает «прокачку» персонажа в другой сессии.
¶Типичные проблемы при подключении
- Ошибка «Unable to connect» — проверка IP, порта, открыт ли файрвол.
- Высокий пинг — выбор географически близкого сервера, проводное подключение вместо Wi-Fi.
- Рассинхронизация версий — все участники должны использовать одинаковую версию игры (актуальная стабильная — 1.4.4.9).
- Падение сервера при большом числе игроков — ограничение
-players, выделение большего объёма RAM.
¶Игровые режимы в сетевой игре
При создании мира доступны три сложности: Journey's End (путешественник), Normal и Expert, а также Master и введённый в 1.4.4 режим Legendary. В сетевой игре сложность определяется миром, а не игроком. Режим PvP (Player vs Player) включается отдельно через меню игрока и требует специального снаряжения с флагом PvP.
¶История сетевой поддержки
Многопользовательский режим присутствовал в Terraria с самого релиза в 2011 году. Крупное обновление 1.3 (2016) добавило возможность подключения к серверам Steam через Steamworks. Обновление 1.4 «Journey's End» (2020) переработало сетевой код, добавило режим Journey и улучшило синхронизацию. Патч 1.4.4 (2022) внёс финальные изменения в сетевую механику.
Источники:
- Официальная документация Terraria (terraria.wiki.gg)
- Terraria Wiki (русскоязычный раздел)
- Руководства сообщества по настройке выделенных серверов Terraria
- Re-Logic, патчноуты обновлений 1.3 и 1.4
