Поваренная книга админа: различия между версиями
столб2>Freeze2222 м (1 версия импортирована) |
Kirillcas (обсуждение | вклад) м (апдейт поварки админа) |
||
Строка 53: | Строка 53: | ||
<code>forcegamepreset</code> устанавливает режим и мгновенно запускает раунд. | <code>forcegamepreset</code> устанавливает режим и мгновенно запускает раунд. | ||
==== Внутриигровые ивенты ==== | |||
<code>addgamerule <rules></code> добавляет режим или ивент к следующему или идущему раунду. | <code>addgamerule <rules></code> добавляет режим или ивент к следующему или идущему раунду. | ||
<code>endgamerule <rule></code> останавливает текущий в игре ивент. | <code>endgamerule <rule></code> останавливает текущий в игре ивент. | ||
Список ID событий: | |||
* <code>VentClog</code> - выброс пены из скрубберов и вентиляции. | |||
* <code>PowerGridCheck</code> - отключение электроэнергии станции на неопределённый срок. | |||
* <code>FalseAlarm</code> - фальшивая тревога какого-нибудь другого события. | |||
* <code>BluespaceArtifact</code> - появление артефакта вблизи станции. | |||
* <code>BreakerFlip</code> - отключение некоторых ЛКП. | |||
* <code>DeseaseOutbreak</code> - седьмой уровень биологической угрозы. | |||
* <code>AnomalySpawn</code> - создание аномалии. | |||
* <code>BureaucraticError</code> - бюрократическая ошибка. | |||
* <code>GasLeak</code> - утечка газа в случайном месте станции. | |||
* <code>KudzuGrowth</code> - выращивание кудзы в случайном месте станции. | |||
* <code>MeteorSwarm</code> - метеоритный дождь. | |||
* <code>RandomSentience</code> - некоторые сущности обрели интеллект (торговые автоматы). | |||
* <code>Dragon</code> - появление дракона (в данный момент не работает без админ-абуза). | |||
* <code>RevenantSpawn</code> - появление ревенанта (злого духа). | |||
* <code>VentCritters</code> - неожиданные тарантулы из вентиляции. | |||
* <code>ZombieOutbreak</code> - оживление трупов в зомби. | |||
* <code>MouseMigration</code> - появление мышей на вентиляциях. С некоторым шансом возможно и появление [[Крысиный король|крысиного короля]] со слугами. | |||
* <code>BluespaceLockerLink</code> - замена случайных полов и стен на другие случайные полы и стены. | |||
* to be continued | |||
<!-- TODO: переписать и объединить данный раздел с разделом про режимы игры, так как они неразрывно связаны! --> | |||
Nukeops и Pirates надо добавлять обязательно до начала раунда. Zombie и Traitor можно добавлять во время раунда, но лучше до начала. Остальные, классические ивенты, срабатывают сразу, даже в лобби. | Nukeops и Pirates надо добавлять обязательно до начала раунда. Zombie и Traitor можно добавлять во время раунда, но лучше до начала. Остальные, классические ивенты, срабатывают сразу, даже в лобби. | ||
Строка 67: | Строка 91: | ||
''Если вы меняете расу ядерного оперативника или респауните его, то вы во первых лишаете его тега синдиката, а во вторых ломаете систему режима из-за чего раунд может закончится, даже если этот опер жив.'' | ''Если вы меняете расу ядерного оперативника или респауните его, то вы во первых лишаете его тега синдиката, а во вторых ломаете систему режима из-за чего раунд может закончится, даже если этот опер жив.'' | ||
==== | ==== Цели антагониста ==== | ||
С помощью команды <code>lsobjectives <ник игрока></code> можно просмотреть цели антагониста. | С помощью команды <code>lsobjectives <ник игрока></code> можно просмотреть цели антагониста. | ||
Команда <code>addobjective <nickname> <objective ID></code> добавит выбранному игроку ещё одну цель антагониста. Список ID целей (см. файл [https://github.com/space-syndicate/space-station-14/blob/master/Resources/Prototypes/Objectives/traitorObjectives.yml traitorObjectives.yml]): | |||
* <code>CaptainIDStealObjective</code> | |||
* <code>KillRandomObjective</code> | |||
* <code>RandomTraitorAliveObjective</code> | |||
* <code>DieObjective</code> | |||
* <code>CMOHyposprayStealObjective</code> | |||
* <code>RDHardsuitStealObjective</code> | |||
* <code>NukeDiskStealObjective</code> | |||
* <code>IDComputerBoardStealObjective</code> | |||
* <code>MagbootsStealObjective</code> | |||
* <code>SupplyConsoleBoardStealObjective</code> | |||
* <code>CorgiMeatStealObjective</code> | |||
* <code>CaptainGunStealObjective</code> | |||
* <code>CaptainJetpackStealObjective</code> | |||
* <code>EscapeShuttleObjective</code> | |||
* <code>RandomTraitorProgressObjective</code> | |||
[[Файл:Демонстрация_команды_addobjective.png]] | |||
== Баны == | == Баны == | ||
Строка 92: | Строка 136: | ||
Пример команды: <code>roleban Morty Assistant "Очень плох" 60</code> | Пример команды: <code>roleban Morty Assistant "Очень плох" 60</code> | ||
<code>departmentban | <code>departmentban <nickname> <ID отдела> <причина> <время в минутах или 0 для пермы></code> банит игроку весь отдел. ID отделов: | ||
* Cargo | |||
* Civilian | |||
* Command | |||
* Engineering | |||
* Medical | |||
* Science | |||
* Security | |||
<code>roleunban <ID бана></code> отменяет бан роли. | <code>roleunban <ID бана></code> отменяет бан роли. | ||
Строка 174: | Строка 225: | ||
* #947507FF - Грязный | * #947507FF - Грязный | ||
* #FFD800FF - Автобус | * #FFD800FF - Автобус | ||
<code>loadmappacts</code> - подгружает некоторые инструменты для более удобного маппинга (ставит в меню действий некоторые тайлы и стены). | |||
== Прототипы == | == Прототипы == |
Версия от 13:25, 25 февраля 2023
Данная статья посвящена всяким полезностям для админов.
Консоль открывается по клавише `
(ё
).
Переход между состояниями админа и простого игрока с помощью команд:
deadmin
убирает с вас права и делает обычным игроком;readmin
возвращает вам права администратора.
setadminooc #FFFFFF
устанавливает цвет вашему нику, который будет виден в чате OOC.
Отыгрыш ЦК
Установка кодов угроз
Позволяет менять код на станции и блокировать его смену персоналом с консоли связи:
setalertlevel <ID кода> [заблокирована ли возможность сменить ("true" или "false")]
ID кодов:
green
- зелёный;blue
- синий;yellow
- жёлтый;violet
- фиолетовый;red
- красный;gamma
- гамма;delta
- дельта;epsilon
- эпсилон.
Значения кодов см. Стандартные_Рабочие_Процедуры#Уровни_угрозы.
Эвакуационный шаттл
callshuttle #
, где#
- кол-во минут до шаттла, вызывает эвакуационный шаттл.dockemergencyshuttle
мгновенно стыкует эвакуационный шаттл к станции.
Раунд
customvote <вопрос> <ответ1> <ответ2> ... <ответN>
- создаёт голосование с заданными параметрами, которое видно и в раунде, и в лобби.
Режимы игры
Существующие режимы игры:
- Extended
- Secret
- Sandbox
- Traitor
- Nukeops
- Zombie
- Pirates
- Deathmatch
setgamepreset
устанавливает режим следующего раунда.
forcegamepreset
устанавливает режим и мгновенно запускает раунд.
Внутриигровые ивенты
addgamerule <rules>
добавляет режим или ивент к следующему или идущему раунду.
endgamerule <rule>
останавливает текущий в игре ивент.
Список ID событий:
VentClog
- выброс пены из скрубберов и вентиляции.PowerGridCheck
- отключение электроэнергии станции на неопределённый срок.FalseAlarm
- фальшивая тревога какого-нибудь другого события.BluespaceArtifact
- появление артефакта вблизи станции.BreakerFlip
- отключение некоторых ЛКП.DeseaseOutbreak
- седьмой уровень биологической угрозы.AnomalySpawn
- создание аномалии.BureaucraticError
- бюрократическая ошибка.GasLeak
- утечка газа в случайном месте станции.KudzuGrowth
- выращивание кудзы в случайном месте станции.MeteorSwarm
- метеоритный дождь.RandomSentience
- некоторые сущности обрели интеллект (торговые автоматы).Dragon
- появление дракона (в данный момент не работает без админ-абуза).RevenantSpawn
- появление ревенанта (злого духа).VentCritters
- неожиданные тарантулы из вентиляции.ZombieOutbreak
- оживление трупов в зомби.MouseMigration
- появление мышей на вентиляциях. С некоторым шансом возможно и появление крысиного короля со слугами.BluespaceLockerLink
- замена случайных полов и стен на другие случайные полы и стены.- to be continued
Nukeops и Pirates надо добавлять обязательно до начала раунда. Zombie и Traitor можно добавлять во время раунда, но лучше до начала. Остальные, классические ивенты, срабатывают сразу, даже в лобби.
Починка нюкера-дионы
Чтобы убрать пацифизм у дионы-нюкера, нужно удалить компоненты PacifedComponent и CombatModeComponent, а затем добавить CombatModeComponent снова. Это делается через просмотр переменных (vv <EntityUID>
) во вкладке "Компоненты сервера". Если добавить CombatModeComponent, пока у моба стоит PacifedComponent, то ничего не сработает.
Если вы меняете расу ядерного оперативника или респауните его, то вы во первых лишаете его тега синдиката, а во вторых ломаете систему режима из-за чего раунд может закончится, даже если этот опер жив.
Цели антагониста
С помощью команды lsobjectives <ник игрока>
можно просмотреть цели антагониста.
Команда addobjective <nickname> <objective ID>
добавит выбранному игроку ещё одну цель антагониста. Список ID целей (см. файл traitorObjectives.yml):
CaptainIDStealObjective
KillRandomObjective
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)
Сетка - совокупность соединённых вместе тайлов (пол) и лежащих на них предметов. Например, станция - отдельная сетка, шаттл карго - тоже отдельная сетка.
Спавн сетки:
- Получить 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
- подгружает некоторые инструменты для более удобного маппинга (ставит в меню действий некоторые тайлы и стены).
Прототипы
В панели администратора есть возможность загрузить в игру свой прототип. Например, нужен спавнер случайного гуманоида для проведения какого-нибудь мероприятия:
- 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"]
Загруженные файлы удаляются при перезапуске сервера.
BQL
Основная статья: BQL
BQL - язык запросов движка SS14, который позволяет проводить массовые манипуляции с игровыми сущностями. Примеры:
forall with FaxMachine do echo $ID
найдёт абсолютно все факсы и выведет их UID.- ...