Terraria Руководство

Защита регионов и антигриф на сервере Terraria TShock: команды, права и базы SQLite

Защита регионов и антигриф на сервере Terraria TShock: разметка координат киркой, команды /region define и allow, флаги зон и структура базы данных tshock.sqlite.

Защита регионов и антигриф на сервере Terraria TShock: команды, права и базы SQLite

Многопользовательские серверы Terraria уязвимы для разрушительных действий недобросовестных игроков: бесконечные вёдра с лавой, взрывчатка Dynamite и Holy Hand Grenade способны превратить спавн и постройки игроков в руины за считанные секунды. Модифицированное серверное ядро TShock предоставляет мощную встроенную систему пространственного зонирования регионов (Region Protection), работающую на базе локальной базы данных SQLite.

В этой статье мы разберём полный цикл создания защищенных зон в TShock, синтаксис выделения координат с помощью кирки, разграничение прав доступа для групп и прямое инспектирование базы данных tshock.sqlite.

Выделение границ региона в игровом клиенте#

Зонирование в TShock использует двухточечную систему координат (Bounding Box). Для разметки границ администратор использует стандартную кирку:

  1. Введите команду выделения первой точки и ударьте киркой по верхнему левому блоку желаемой зоны:
  2. Введите команду выделения второй точки и ударьте киркой по нижнему правому блоку:
text
/region set 1
/region set 2

Чат подтвердит успешную фиксацию координат в блоках (тайлах).

Определение имени региона и включение защиты#

После того как координаты зафиксированы, создайте именованный регион и активируйте флаг защиты:

text
/region define SpawnArea && /region protect SpawnArea true

Команда /region protect <Имя> true немедленно блокирует любые попытки разрушения или установки блоков, открытие сундуков и взаимодействие с дверями для всех игроков, не обладающих явным разрешением.

Назначение прав доступа для игроков и групп#

Чтобы позволить строителям или доверенным пользователям модифицировать защищенную территорию, выдайте персональные или групповые разрешения:

text
/region allow "PlayerName" SpawnArea && /region allowg "TrustedGroup" SpawnArea

Команда allowg особенно удобна: она открывает доступ всем участникам группы рангов без необходимости добавлять каждого игрока по отдельности.

Настройка специальных флагов региона#

TShock позволяет накладывать специальные поведенческие флаги на территорию (например, запретить PvP в пределах зоны возрождения или отключить спавн питомцев):

text
/region flag SpawnArea pvp false && /region flag SpawnArea spawnpets false

Флаг pvp false гарантирует мирную зону вокруг точки первого появления новых персонажей.

Структура базы данных регионов tshock.sqlite#

Все созданные регионы сохраняются в реляционной базе данных SQLite в папке сервера /opt/tshock/tshock.sqlite. Это позволяет производить аудит или пакетный перенос зон между серверами:

bash
sqlite3 /opt/tshock/tshock.sqlite "SELECT RegionName, WorldID, X, Y, Width, Height FROM Regions LIMIT 5;"

Запрос выведет имена зон, идентификатор мира и геометрические координаты прямоугольника.

Разграничение глобальных прав антигрифа в TShock#

Чтобы обычные игроки не могли создавать регионы поверх чужих построек или снимать защиту, настройте список разрешений для базовой группы default:

text
/group addperm default "tshock.world.build" && /group delperm default "tshock.admin.region"

Если вы хотите запустить сервер Terraria TShock с автоматической защитой от взрывчатки, готовыми шаблонами групп и резервными копиями мира без ручного ввода консольных команд, специализированный хостинг серверов Terraria обеспечивает быстрый старт с веб-панелью управления и антигрифом из коробки.

Источники#