Поваренная книга админа
Дополнительные действия
Данная статья посвящена всяким полезностям для админов.
Консоль открывается по клавише ` (ё).
Переход между состояниями админа и простого игрока с помощью команд:
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):
CaptainIDStealObjectiveKillRandomPersonObjectiveKillRandomHeadObjectiveRandomTraitorAliveObjectiveDieObjectiveCMOHyposprayStealObjectiveRDHardsuitStealObjectiveNukeDiskStealObjectiveIDComputerBoardStealObjectiveMagbootsStealObjectiveSupplyConsoleBoardStealObjectiveCorgiMeatStealObjectiveCaptainGunStealObjectiveCaptainJetpackStealObjectiveEscapeShuttleObjectiveRandomTraitorProgressObjective
Баны
Баны роли
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)
Сетка - совокупность соединённых вместе тайлов (пол) и лежащих на них предметов. Например, станция - отдельная сетка, шаттл карго - тоже отдельная сетка.
Спавн сетки:
- Получить ID текущей карты. Для этого используйте команду
loc:
- Определитесь с шаблоном который хотите загрузить на карту.
- Используйте команду
loadgrid <ID карты> <загружаемый шаблон>. По умолчанию объект появится на нулевых координатах (x: 0, y: 0). Вы можете телепортировать себя туда, используя команду:tp <x> <y>. - Если вы хотите переместить его на другие координаты, то см. #Перемещение сеток.
- Profit!
Перемещение сеток:
tpgrid <id сетки> <x> <y>- сама команда для телепорта;lsgridвыдаёт список всех существующих сеток;locдаёт ваши текущие координаты, там же указывается ID сетки на которой вы стоите (GridID).
Сохранение сеток:
Функция позволяет сохранить сетку как файл с картой на сервере и загружать ее в будущих раундах.
❗Не злоупотребляйте этой функцией и сохраняйте только действительно необходимые вам вещи.
- Узнайте ID сетки на которой находится ваш персонаж/призрак с помощью команды
loc. Нужное вами число это GridID. - Далее сама команда для сохранения сетки как карты:
savebp <gridUid> <path>, где<gridId>это ранее полученное число, а<path>- путь, по которому сетка будет сохранена в папке сервера. Достаточно просто указать название файла. Обязательно укажите расширение.ymlдля файла.
Пример:savebp 12 myShuttle.yml. - 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.- ...
