Многопользовательские серверы Terraria уязвимы для разрушительных действий недобросовестных игроков: бесконечные вёдра с лавой, взрывчатка Dynamite и Holy Hand Grenade способны превратить спавн и постройки игроков в руины за считанные секунды. Модифицированное серверное ядро TShock предоставляет мощную встроенную систему пространственного зонирования регионов (Region Protection), работающую на базе локальной базы данных SQLite.
В этой статье мы разберём полный цикл создания защищенных зон в TShock, синтаксис выделения координат с помощью кирки, разграничение прав доступа для групп и прямое инспектирование базы данных tshock.sqlite.
Выделение границ региона в игровом клиенте#
Зонирование в TShock использует двухточечную систему координат (Bounding Box). Для разметки границ администратор использует стандартную кирку:
- Введите команду выделения первой точки и ударьте киркой по верхнему левому блоку желаемой зоны:
- Введите команду выделения второй точки и ударьте киркой по нижнему правому блоку:
/region set 1
/region set 2
Чат подтвердит успешную фиксацию координат в блоках (тайлах).
Определение имени региона и включение защиты#
После того как координаты зафиксированы, создайте именованный регион и активируйте флаг защиты:
/region define SpawnArea && /region protect SpawnArea true
Команда /region protect <Имя> true немедленно блокирует любые попытки разрушения или установки блоков, открытие сундуков и взаимодействие с дверями для всех игроков, не обладающих явным разрешением.
Назначение прав доступа для игроков и групп#
Чтобы позволить строителям или доверенным пользователям модифицировать защищенную территорию, выдайте персональные или групповые разрешения:
/region allow "PlayerName" SpawnArea && /region allowg "TrustedGroup" SpawnArea
Команда allowg особенно удобна: она открывает доступ всем участникам группы рангов без необходимости добавлять каждого игрока по отдельности.
Настройка специальных флагов региона#
TShock позволяет накладывать специальные поведенческие флаги на территорию (например, запретить PvP в пределах зоны возрождения или отключить спавн питомцев):
/region flag SpawnArea pvp false && /region flag SpawnArea spawnpets false
Флаг pvp false гарантирует мирную зону вокруг точки первого появления новых персонажей.
Структура базы данных регионов tshock.sqlite#
Все созданные регионы сохраняются в реляционной базе данных SQLite в папке сервера /opt/tshock/tshock.sqlite. Это позволяет производить аудит или пакетный перенос зон между серверами:
sqlite3 /opt/tshock/tshock.sqlite "SELECT RegionName, WorldID, X, Y, Width, Height FROM Regions LIMIT 5;"
Запрос выведет имена зон, идентификатор мира и геометрические координаты прямоугольника.
Разграничение глобальных прав антигрифа в TShock#
Чтобы обычные игроки не могли создавать регионы поверх чужих построек или снимать защиту, настройте список разрешений для базовой группы default:
/group addperm default "tshock.world.build" && /group delperm default "tshock.admin.region"
Если вы хотите запустить сервер Terraria TShock с автоматической защитой от взрывчатки, готовыми шаблонами групп и резервными копиями мира без ручного ввода консольных команд, специализированный хостинг серверов Terraria обеспечивает быстрый старт с веб-панелью управления и антигрифом из коробки.




