Открыть меню
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Поваренная книга админа

Материал из Exodus

Данная статья посвящена всяким полезностям для админов.

Консоль открывается по клавише ` (ё).

Переход между состояниями админа и простого игрока с помощью команд:

  • deadmin убирает с вас права и делает обычным игроком;
  • readmin возвращает вам права администратора.

setadminooc #FFFFFF устанавливает цвет вашему нику, который будет виден в чате OOC.

Отыгрыш ЦК

Установка кодов угроз

Позволяет менять код на станции и блокировать его смену персоналом с консоли связи:

setalertlevel <ID кода> [заблокирована ли возможность сменить ("true" или "false")]

ID кодов:

  • green - зелёный;
  • blue - синий;
  • yellow - жёлтый;
  • violet - фиолетовый;
  • red - красный;
  • gamma - гамма;
  • delta - дельта;
  • epsilon - эпсилон.

Значения кодов см. Стандартные_Рабочие_Процедуры#Уровни_угрозы.

Эвакуационный шаттл

  • callshuttle #, где # - кол-во минут до шаттла, вызывает эвакуационный шаттл.
  • dockemergencyshuttle мгновенно стыкует эвакуационный шаттл к станции.

Раунд

customvote <вопрос> <ответ1> <ответ2> ... <ответN> - создаёт голосование с заданными параметрами, которое видно и в раунде, и в лобби.

delaystart [seconds] - ставит старт раунда на паузу в лобби. Если указан аргумент, то откладывает старт на указанное количество секунд.

forcemap - позволяет сменить карту до начала раунда.

Режимы игры

Существующие режимы игры:

  • Extended
  • Secret
  • Sandbox
  • Traitor
  • Nukeops
  • Zombie
  • Pirates
  • Deathmatch
  • Survival

setgamepreset устанавливает режим следующего раунда.

forcegamepreset устанавливает режим и мгновенно запускает раунд.

Внутриигровые ивенты

Понятия игровых режимов и игровых ивентов тесно связаны (почему-то), поэтому вызывать их можно через команды тоже...

addgamerule <rules> добавляет режим или ивент к следующему или идущему раунду.

endgamerule <rule> останавливает текущий в игре ивент.

Список ID событий:

  • BasicStationEventScheduler - спавнер редких игровых ивентов. Стоит во всех режимах игры кроме выживания.
  • RampingStationEventScheduler - спавнер частых игровых ивентов для режима выживания.
  • Secret - режим игры "Секрет"
  • DeathMatch - режим игры "Все против всех".
  • NukeOps - режим игры ядерных оперативников - спавнит пять нюкеров и их базу.
  • Pirates - режим игры "Пираты" - создаёт шаттл с пиратами, пиратов по хорошему переспавнить и сделать через Уристов, сломаны.
  • Sandbox - режим игры "Песочница", игроки имеют права спавнить энтити/декали/тайлы.
  • Suspicion - TTT - Все вооружены, среди вооруженных есть предатели, задача не-предателей найти их и убить.
  • TraitorDeathMatch - режим игры, резня агентов.
  • Zombie - режим игры "Зомби".
  • VentClog выпускает жидкости из скрубберов.
  • PowerGridCheck выключает свет на неопределённый срок.
  • FalseAlarm - ивент, создающий фальшивые обьявления о игровых ивентах.
  • BluespaceArtifact создаёт рядом со станции/На ней артефакт.
  • BreakerFlip отключает в некоторых местах ЛКП.
  • DiseaseOutbreak выпускает рандомную болезнь рядом с игроком.
  • AnomalySpawn создаёт аномалию.
  • BureaucraticError - бюрократическая ошибка.
  • GasLeak создаёт в рандомном месте рандомный газ.
  • KudzuGrowth - кудзу.
  • MeteorSwarm - метеоритный рой.
  • RandomSentience даёт некоторым объектам роль призрака.
  • Dragon - дракон, не работает, админу нужно спавнить вручную.
  • RevenantSpawn спавнит Ревенанта.
  • Traitor - игра выдаёт случайным игрокам предателей.
  • VentCritters - из вентиляции лезут существа, от мышей до тарантулов.
  • ZombieOutbreak оживляет мертвых игроков в виде зомби.
  • MouseMigration - крысиный король с его свитой.
  • BluespaceLockerLink - блюспейс-шкаф.
  • SpiderSpawn спавнит в рандомных местах Тарантулов.



Nukeops и Pirates надо добавлять обязательно до начала раунда. Zombie и Traitor можно добавлять во время раунда, но лучше до начала. Остальные, классические ивенты, срабатывают сразу, даже в лобби.

Починка нюкера-дионы

Чтобы убрать пацифизм у дионы-нюкера, нужно удалить компоненты PacifedComponent и CombatModeComponent, а затем добавить CombatModeComponent снова. Это делается через просмотр переменных (vv <EntityUID>) во вкладке "Компоненты сервера". Если добавить CombatModeComponent, пока у моба стоит PacifedComponent, то ничего не сработает.

Если вы меняете расу ядерного оперативника или респауните его, то вы во первых лишаете его тега синдиката, а во вторых ломаете систему режима из-за чего раунд может закончится, даже если этот опер жив.

Цели антагониста

С помощью команды lsobjectives <ник игрока> можно просмотреть цели антагониста.

Команда addobjective <nickname> <objective ID> добавит выбранному игроку ещё одну цель антагониста. Список ID целей (см. файл traitorObjectives.yml):

  • CaptainIDStealObjective
  • KillRandomPersonObjective
  • KillRandomHeadObjective
  • RandomTraitorAliveObjective
  • DieObjective
  • CMOHyposprayStealObjective
  • RDHardsuitStealObjective
  • NukeDiskStealObjective
  • IDComputerBoardStealObjective
  • MagbootsStealObjective
  • SupplyConsoleBoardStealObjective
  • CorgiMeatStealObjective
  • CaptainGunStealObjective
  • CaptainJetpackStealObjective
  • EscapeShuttleObjective
  • RandomTraitorProgressObjective


Баны

Баны роли

rolebanlist ... позволяет просмотреть список банов ролей игрока.

roleban <логин> <ID профессии> "<причина>" <время в минутах или 0 для пермы>

банит данную профессию для данного игрока.

Узнать ID работы можно, найдя соответствующий файл этой роли на Github:

# /Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml
- type: job
  id: HeadOfSecurity # <--- интересующий нас ID
  name: job-name-hos
  playTimeTracker: JobHeadOfSecurity
...

Пример команды: roleban Morty Assistant "Очень плох" 60

departmentban <nickname> <ID отдела> <причина> <время в минутах или 0 для пермы> банит игроку весь отдел. ID отделов:

  • Cargo
  • Civilian
  • Command
  • Engineering
  • Medical
  • Science
  • Security

roleunban <ID бана> отменяет бан роли.

Общие баны

banlist ... позволяет просмотреть список банов игрока.

ban <login> <причина> [время бана в минутах или 0 для перма] просто банит игрока с сервера.

pardon <ID бана> разбанивает простой бан игрока.

Логи

Просмотр логов доступен по команде adminlogs в консоли.

Сетки и карты

Основные понятия:

  • Карта (map) - БСС-пространство, содержащее сетки (grids).
  • Сетка (grid) - совокупность соединённых тайлов и игровых сущностях, находящихся на них. Собственно, станция - большая единая сетка. Например, если отделить от неё кусочек или поставить прутья на космос, то получится новая сетка, отдельная от станции.

Карта (map)

Карта - БСС-пространство и содержащиеся в нём сетки (grids). Имеет два состояния init: True и init: False - пауза и не пауза. С помощью команды lsmap можно вывести список всех существующих в текущий момент карт, их ID и их состояние (пауза или нет). Основные команды:

  • mapping [MapID] [путь до мира или сетки] создаёт новую карту на свободном ID или с данным ID, который не должен быть занят существующими картами, и телепортирует вас на неё. Если дан путь до мира или сетки, то загружает этот файл в новосозданный мир. По умолчанию карта поставлена на паузы.
  • mapinit <MapID> снимает с паузы или размораживает карту. Не сработает с эвакуационным шаттлом и картой ЦК.
  • addmap <MapID> создаёт размороженный мир с данным ID, к которому телепортироваться нужно вручную.
  • rmmap <MapID> удаляет мир с данным ID. ОЧЕНЬ рекомендуется дюжину раз проверять ID прежде, чем нажимать Enter, иначе ненароком можно удалить мир со станцией вместе с игроками.

Сетка (grid)

Сетка - совокупность соединённых вместе тайлов (пол) и лежащих на них предметов. Например, станция - отдельная сетка, шаттл карго - тоже отдельная сетка.

Спавн сетки:

  1. Получить ID текущей карты. Для этого используйте команду loc:
  2. Определитесь с шаблоном который хотите загрузить на карту.
  3. Используйте команду loadgrid <ID карты> <загружаемый шаблон>. По умолчанию объект появится на нулевых координатах (x: 0, y: 0). Вы можете телепортировать себя туда, используя команду: tp <x> <y>.
  4. Если вы хотите переместить его на другие координаты, то см. #Перемещение сеток.
  5. Profit!

Перемещение сеток:

  • tpgrid <id сетки> <x> <y> - сама команда для телепорта;
  • lsgrid выдаёт список всех существующих сеток;
  • loc даёт ваши текущие координаты, там же указывается ID сетки на которой вы стоите (GridID).

Сохранение сеток:

Функция позволяет сохранить сетку как файл с картой на сервере и загружать ее в будущих раундах.

❗Не злоупотребляйте этой функцией и сохраняйте только действительно необходимые вам вещи.

  1. Узнайте ID сетки на которой находится ваш персонаж/призрак с помощью команды loc. Нужное вами число это GridID.
  2. Далее сама команда для сохранения сетки как карты: savebp <gridUid> <path>, где <gridId> это ранее полученное число, а <path> - путь, по которому сетка будет сохранена в папке сервера. Достаточно просто указать название файла. Обязательно укажите расширение .yml для файла.
    Пример: savebp 12 myShuttle.yml.
  3. Profit!

БСС (FTL):

Чтобы сделать сетку доступной для прыжка к ней через БСС, нужно открыть окно просмотра переменных этой сетки. Для этого прописывается vv <gridUID>. Во вкладке "Компоненты сервера" нужно добавить компонент "FTLDestination" через кнопку "Добавить компонент". Готово! Сетка, а вместе с ней и карта, на которой она расположена, доступны для прыжка, например, карго-шаттла.

Опционально можно переименовать сетку опять в просмотре переменных vv - во вкладке "Переменные сервера" в поле Name прописывается новое имя и обязательно нажимается Enter по завершению ввода.

Примечание: чтобы новое БСС-пространство появилось в консолях управления шаттлами, нужно их обновить путём выкручивания и вкручивания обратно гаечным ключом.

Непосредственно маппинг

fixgridatmos мгновенно заполняет все тайлы грида дыхательной смесью.

colornetwork <UID> Pipe <HEX-color> добавляет выбранный цвет на трубу.

  • #FF9900 - Сигнальный
  • #FF0000FF - Скруббер
  • #0000FFFF - Вентиляция
  • #17E8E2FF - Воздух
  • #D3FC03FF - Вирусология
  • #FEF101FF - Жёлтый
  • #A505FAFF - Фиолетовый
  • #947507FF - Грязный
  • #FFD800FF - Автобус

loadmappacts - подгружает некоторые инструменты для более удобного маппинга (ставит в меню действий некоторые тайлы и стены).

dock <ID1> <ID2> стыкует два стыковочных портах с ID1 и с ID2, находящихся на разных сетках. Полезно, когда нужна стыковка на карте, находящейся в паузе.

Прототипы

В панели администратора есть возможность загрузить в игру свой прототип. Например, нужен спавнер случайного гуманоида для проведения какого-нибудь мероприятия:

- type: entity
  parent: ClothingHeadsetAlt
  id: ClothingHeadsetCentComCCAlt
  suffix: CentCom
  name: Гарнитура офицера ЦК
  description: Стандартная гарнитура ЦК.
  components:
  - type: Headset
    channels:
    - CentCom
  - type: Sprite
    sprite: Clothing/Ears/Headsets/centcom.rsi
  - type: Clothing
    sprite: Clothing/Ears/Headsets/centcom.rsi

В админ-панели (по клавише F7) во вкладке "Админ-абуз" есть кнопка "Загрузить прототип", кликнув на неё выберите файл прототипа, который нужно загрузить.

Загруженные прототипы будут доступен до перезапуска сервера.

Загрузка RSI

RSI - формат группы изображений, изобретённый создателями SS14. Используется для спрайтов. У администраторов существует возможность загрузить свои RSI для использования их в прототипах без необходимости перезапуска сервера или перекомпиляции сборки.

Например, нужно загрузить следующий RSI:

delorian.rsi/
├── auto.png
└── meta.json

Для этого нужно использовать команду uploadfile с прописанной директорией:

> uploadfile delorian.rsi/auto.png
> uploadfile delorian.rsi/meta.json

Для использования загруженных спрайтов в прототипах нужно прописывать такой путь:

    - type: Sprite
      sprite: /Uploaded/delorian.rsi # <------
      layers:
        - state: auto
          map: ["enum.VehicleVisualLayers.AutoAnimate"]

Загруженные файлы удаляются при перезапуске сервера.

В недавнем обновлении появился более лёгкий способ загрузки папок - команда uploadfolder.

BQL

Основная статья: BQL

BQL - язык запросов движка SS14, который позволяет проводить массовые манипуляции с игровыми сущностями. Примеры:

  • forall with FaxMachine do echo $ID найдёт абсолютно все факсы и выведет их UID.
  • ...