Поваренная книга админа: различия между версиями

Материал из Space Station 14 Вики
(→‎Сетки и карты: переработан раздел карт)
м (СРП)
 
(не показаны 33 промежуточные версии 3 участников)
Строка 1: Строка 1:
{{infobox|indev|sign=[[Участник:Trinnq|Trinnq]] ([[Обсуждение участника:Trinnq|обсуждение]]), [[Участник:Kevicky9|Kevicky9]] ([[Обсуждение участника:Kevicky9|обсуждение]])}}
Данная статья посвящена всяким полезностям для админов.
Данная статья посвящена всяким полезностям для админов.


Строка 6: Строка 7:
* <code>deadmin</code> убирает с вас права и делает обычным игроком;
* <code>deadmin</code> убирает с вас права и делает обычным игроком;
* <code>readmin</code> возвращает вам права администратора.
* <code>readmin</code> возвращает вам права администратора.
<code>setadminooc #FFFFFF</code> устанавливает цвет вашему нику, который будет виден в чате OOC.


== Отыгрыш ЦК ==
== Отыгрыш ЦК ==
Строка 16: Строка 19:


ID кодов:
ID кодов:
* <code>green</code> - <span style="color:308E30">зелёный</span>;
* <code>green</code> - <span style="color:green">зелёный</span>;
* <code>blue</code> - <span style="color:394FCC">синий</span>;
* <code>blue</code> - <span style="color:blue">синий</span>;
* <code>yellow</code> - <span style="color:808000">жёлтый</span>;
* <code>yellow</code> - <span style="color:yellow">жёлтый</span>;
* <code>violet</code> - <span style="color:9932CC">фиолетовый</span>;
* <code>violet</code> - <span style="color:violet">фиолетовый</span>;
* <code>red</code> - <span style="color:8B0000">красный</span>;
* <code>red</code> - <span style="color:red">красный</span>;
* <code>gamma</code> - <span style="color:C6A500">гамма</span>;
* <code>gamma</code> - <span style="color:darkmagenta">гамма</span>;
* <code>delta</code> - <span style="color:800080">дельта</span>;
* <code>delta</code> - <span style="color:darkred">дельта</span>;
* <code>epsilon</code> - эпсилон.
* <code>epsilon</code> - <span style="color:black">эпсилон</span>


Значения кодов см. [[Стандартные_Рабочие_Процедуры#Уровни_угрозы]].
Значения кодов см. [[СРП#Уровни_угрозы]].
 
=== Цели станции по факсу ===
* <code>sendstationgoal</code> - позволяет по факсу отправить цель на выбор. Примеры:
* <code>StationGoalContaintment</code>
* <code>StationGoalShuttle</code>
* <code>StationGoalSingularity</code>
* <code>StationGoalSolarPanels</code>
* <code>StationGoalBank</code>
* <code>StationGoalZoo</code>
* <code>StationGoalArtifacts</code>
* <code>StationGoalMiningOutpost</code>
 
Значение целей см. [[Задачи_станции]].
 
=== Счёт карго ===
 
* <code> > station:list</code> => появляется список станций, ищете свою => пишете <code>vv <uid</code>, он показывается сбоку от названия>.
Далее заходим в компоненты сервера и находим <code>StationBank</code> и нажимаем на него, там есть и текущий счёт карго и количество пассивного дохода.


=== Эвакуационный шаттл ===
=== Эвакуационный шаттл ===
Строка 32: Строка 53:
* <code>dockemergencyshuttle</code> мгновенно стыкует эвакуационный шаттл к станции.
* <code>dockemergencyshuttle</code> мгновенно стыкует эвакуационный шаттл к станции.


== Внутриигровые события (ивенты) ==
== Раунд ==
 
<code>customvote <вопрос> <ответ1> <ответ2> ... <ответN></code> - создаёт голосование с заданными параметрами, которое видно и в раунде, и в лобби. 
Например:
* <code>customvote "Какой режим хотите выбрать?" Выживание Трейторы Секрет ...</code>
 
<code>delaystart [seconds]</code> - ставит старт раунда на паузу в лобби. Если указан аргумент, то откладывает старт на указанное количество секунд.
 
<code>forcemap</code> - позволяет поменять карту до начала раунда.
 
=== Режимы игры ===
 
Существующие режимы игры:
* Extended
* Secret
* Sandbox
* Traitor
* Nukeops
* Zombie
* Pirates
* Deathmatch
* Revolutionary
* AllAtOnce
* Survival
 
<code>setgamepreset</code> устанавливает режим следующего раунда.
 
<code>forcegamepreset</code> устанавливает режим и мгновенно запускает раунд.
 
==== Внутриигровые ивенты ====
 
Понятия игровых режимов и игровых ивентов тесно связаны (почему-то), поэтому вызывать их можно через команды тоже...


<code>addgamerule <rules></code> добавляет режим или ивент к следующему или идущему раунду.
<code>addgamerule <rules></code> добавляет режим или ивент к следующему или идущему раунду.
'''Nukeops''' и '''Pirates''' надо добавлять обязательно до начала раунда. '''Zombie''' и '''Traitor'''  можно добавлять во время раунда, но лучше до начала. Остальные - классические ивенты - срабатывают сразу, даже в лобби.


...
<code>endgamerule <rule></code> останавливает текущий в игре ивент.
 
Список ID событий:
* <code>BasicStationEventScheduler</code> - спавнер редких игровых ивентов. Стоит во всех режимах игры кроме выживания.
* <code>RampingStationEventScheduler</code> - спавнер частых игровых ивентов для режима выживания.
* <code>Secret</code> - режим игры "Секрет"
* <code>DeathMatch</code> - режим игры "Все против всех".
* <code>NukeOps</code> - режим игры ядерных оперативников - спавнит пять нюкеров и их базу.
* <code>Pirates</code> - режим игры "Пираты" - создаёт шаттл с пиратами, пиратов по хорошему переспавнить и сделать через Уристов, сломаны.
* <code>Sandbox</code> - режим игры "Песочница", игроки имеют права спавнить энтити/декали/тайлы.
* <code>Suspicion</code> - TTT - Все вооружены, среди вооруженных есть предатели, задача не-предателей найти их и убить.
* <code>TraitorDeathMatch</code> - режим игры, резня агентов.
* <code>Zombie</code> - режим игры "Зомби".
* <code>VentClog</code> выпускает жидкости из скрубберов.
* <code>PowerGridCheck</code> выключает свет на неопределённый срок.
* <code>FalseAlarm</code> - ивент, создающий фальшивые обьявления о игровых ивентах.
* <code>BluespaceArtifact</code> создаёт рядом со станции/На ней артефакт.
* <code>BreakerFlip</code> отключает в некоторых местах ЛКП.
* <code>DiseaseOutbreak</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>Traitor</code> - игра выдаёт случайным игрокам предателей.
* <code>VentCritters</code> - из вентиляции лезут существа, от мышей до тарантулов.
* <code>ZombieOutbreak</code> оживляет мертвых игроков в виде зомби.
* <code>MouseMigration</code> - крысиный король с его свитой.
* <code>BluespaceLockerLink</code> - блюспейс-шкаф.
* <code>SpiderSpawn</code> спавнит в рандомных местах Тарантулов.
* <code>ClosedSkeleton</code> скелет в шкафу.
* <code>GiftsMedical</code> отправляет на трейд-пост набор медицины.
* <code>GiftsSecurityGuns</code> отправляет на трейд-пост ящик снаряжения.
* <code>GiftsEngineering</code> отправляет на трейд-пост инженерный набор.
* <code>GiftsSecurityRiot</code> отправляет на трейд-пост ящик против бунта.
* <code>GiftsSpacingSupplies</code> отправляет на трейд-пост защиту от космоса.
* <code>GiftsFireProtection</code> отправляет на трейд-пост защиту от огня.
* <code>GiftsJanitor</code> отправляет на трейд-пост наборы для сервиса.
* <code>GiftsVendingRestock</code> отправляет на трейд-пост наборы пополнения.
* <code>GiftsPizzaPartySmall</code> отправляет на трейд-пост малый набор пицц.
* <code>GiftsPizzaPartyLarge</code> отправляет на трейд-пост большой набор пицц.
* <code>IonStorm</code> меняет законы всем киборгам на станции.
* <code>CockroachMigration</code> спавн ивент с рандомными мобами из вентиляций.
* <code>ClericalError</code> ивент, рандомно удаляющий человека из манифеста.
* <code>Revolutionary</code> режим революционеров.
* <code>EvilTwin</code> спавнит злого двойника.
* <code>Exterminator</code> спавнит терминатора.
* <code>NinjaSpawn</code> спавнит ниндзю.
* <code>Thief</code> выдаёт роль вора.
* <code>LoneOpsSpawn</code> спавнит одинокого Ядерного Оперативника.
 
 
 
 
<!-- TODO: переписать и объединить данный раздел с разделом про режимы игры, так как они неразрывно связаны! -->
 
Nukeops, Pirates и Revolutionary надо добавлять обязательно до начала раунда. Zombie и Traitor  можно добавлять во время раунда, но лучше до начала. Остальные, классические ивенты, срабатывают сразу, даже в лобби.
 
==== Починка пацифизма дионы ====
 
Чтобы убрать пацифизм у дионы, нужно удалить компоненты PacifedComponent и CombatModeComponent, а затем добавить CombatModeComponent снова. Это делается через просмотр переменных (<code>vv <EntityUID></code>) во вкладке "Компоненты сервера". Если добавить CombatModeComponent, пока у моба стоит PacifedComponent, то ничего не сработает.
 
''Если вы меняете расу ядерного оперативника или респауните его, то вы во-первых лишаете его тега синдиката, а во-вторых ломаете систему режима, из-за чего раунд может закончиться, даже если этот опер жив.''
 
==== Цели антагониста ====
 
С помощью команды <code>lsobjectives <ник игрока></code> можно просмотреть цели антагониста.
 
С помощью команды <code>rmobjective <ник игрока> <номер цели></code> можно удалить цель у человека на выбор. Пример:
* <code>rmobjective trinnq 0</code>
 
Команда <code>adduplink <ник игрока></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>KillRandomHeadObjective</code>
* <code>RandomTraitorAliveObjective</code>
* <code>DieObjective</code>
* <code>CMOHyposprayStealObjective</code>
* <code>CMOCrewMonitorStealObjective</code>
* <code>RDHardsuitStealObjective</code>
* <code>HandTeleporterStealObjective</code>
* <code>NukeDiskStealObjective</code>
* <code>ClipboardStealObjective</code>
* <code>MagbootsStealObjective</code>
* <code>SecretDocumentsStealObjective</code>
* <code>CorgiMeatStealObjective</code>
* <code>CaptainGunStealObjective</code>
* <code>CaptainJetpackStealObjective</code>
* <code>EscapeShuttleObjective</code>
* <code>RandomTraitorProgressObjective</code>
 
 
[[Файл:Демонстрация_команды_addobjective.png]]


== Баны ==
== Баны ==


=== Бан роли игроку ===
=== Баны роли ===


<pre>roleban <логин> <ID профессии> "<причина>" <время в минутах или 0 для пермы></pre>
<code>rolebanlist ...</code> позволяет просмотреть список банов ролей игрока.
 
<pre>roleban <логин> <ID профессии> "<причина>" <время в минутах или 0 для пермы></pre> банит данную профессию для данного игрока.


Узнать ID работы можно, найдя соответствующий файл этой роли на [https://github.com/space-syndicate/space-station-14/tree/master/Resources/Prototypes/Roles/Jobs Github]:
Узнать ID работы можно, найдя соответствующий файл этой роли на [https://github.com/space-syndicate/space-station-14/tree/master/Resources/Prototypes/Roles/Jobs Github]:
Строка 58: Строка 208:
Пример команды: <code>roleban Morty Assistant "Очень плох" 60</code>
Пример команды: <code>roleban Morty Assistant "Очень плох" 60</code>


=== Отмена бана роли ===
<code>departmentban <nickname> <ID отдела> <причина> <время в минутах или 0 для пермы></code> банит игроку весь отдел. ID отделов:
* Cargo
* Civilian
* Command
* Engineering
* Medical
* Science
* Security


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


=== Просто бан ===
=== Общие баны ===


<code>ban <login> <причина> [время бана в минутах или 0 для перма]</code>
<code>banlist ...</code> позволяет просмотреть список банов игрока.
 
<code>ban <login> <причина> [время бана в минутах или 0 для перма]</code> просто банит игрока с сервера.
 
<code>pardon <ID бана></code> разбанивает простой бан игрока.


== Логи ==
== Логи ==


Просмотр логов доступен по команде <code>adminlogs</code> в консоли.
Просмотр логов доступен по команде <code>adminlogs</code> в консоли.
== Заметки ==
Просмотр заметок доступен по команде <code>adminnotes</code> в консоли.


== Сетки и карты ==
== Сетки и карты ==
Строка 85: Строка 250:
* <code>rmmap <MapID></code> удаляет мир с данным ID. ОЧЕНЬ рекомендуется дюжину раз проверять ID прежде, чем нажимать Enter, иначе ненароком можно удалить мир со станцией вместе с игроками.
* <code>rmmap <MapID></code> удаляет мир с данным ID. ОЧЕНЬ рекомендуется дюжину раз проверять ID прежде, чем нажимать Enter, иначе ненароком можно удалить мир со станцией вместе с игроками.


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


'''Спавн сетки:'''
# Получить ID текущей карты. Для этого используйте команду <code>loc</code>:<br>[[Файл:Демонстрация использования команды loc.png]]
# Получить ID текущей карты. Для этого используйте команду <code>loc</code>:<br>[[Файл:Демонстрация использования команды loc.png]]
# Определитесь с шаблоном который хотите загрузить на карту. <!-- TODO: указать, как можно узнать список доступных шаблонов -->
# Определитесь с шаблоном который хотите загрузить на карту. <!-- TODO: указать, как можно узнать список доступных шаблонов -->
# Используйте команду <code>loadgrid <ID карты> <загружаемый шаблон></code>. По умолчанию объект появится на нулевых координатах (x: 0, y: 0). Вы можете телепортировать себя туда, используя команду: <code>tp <x> <y></code>.
# Используйте команду <code>loadgrid <ID карты> <загружаемый шаблон></code>. По умолчанию объект появится на нулевых координатах (x: 0, y: 0). Вы можете телепортировать себя туда, используя команду: <code>tp <x> <y></code>.
# Если вы хотите переместить его на другие координаты, то см. [[#Перемещение сеток]].
# Если вы хотите переместить его на другие координаты, то см. [[#Перемещение сеток]].
5. Profit!
# Profit!
 
=== Перемещение сеток ===
 
Все тайлы в космосе расположены на ''сетке'': станция является сеткой с тайлами и стенами, корабль, который вы загружаете или строите это новая отдельная сетка с тайлами.


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


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


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


❗Не злоупотребляйте этой функцией и сохраняйте только действительно необходимые вам вещи.
❗Не злоупотребляйте этой функцией и сохраняйте только действительно необходимые вам вещи.
Строка 113: Строка 278:
<li>Profit!</li>
<li>Profit!</li>
</ol>
</ol>
'''БСС (FTL)''':
Чтобы сделать сетку доступной для прыжка к ней через БСС, нужно открыть окно просмотра переменных этой сетки. Для этого прописывается <code>vv <gridUID></code>. Во вкладке "Компоненты сервера" нужно добавить компонент "FTLDestination" через кнопку "Добавить компонент". Готово! Сетка, а вместе с ней и карта, на которой она расположена, доступны для прыжка, например, карго-шаттла.
Опционально можно переименовать сетку опять в просмотре переменных <code>vv</code> - во вкладке "Переменные сервера" в поле Name прописывается новое имя и обязательно нажимается Enter по завершению ввода.
''Примечание: чтобы новое БСС-пространство появилось в консолях управления шаттлами, нужно их обновить путём выкручивания и вкручивания обратно гаечным ключом.''
=== Непосредственно маппинг ===
<code>fixgridatmos</code> мгновенно заполняет все тайлы грида дыхательной смесью.
<code>colornetwork <UID> Pipe <HEX-color></code> добавляет выбранный цвет на трубу.
* #FF9900 - Сигнальный
* #FF0000FF - Скруббер
* #0000FFFF - Вентиляция
* #17E8E2FF - Воздух
* #D3FC03FF - Вирусология
* #FEF101FF - Жёлтый   
* #A505FAFF - Фиолетовый
* #947507FF - Грязный
* #FFD800FF - Автобус
<code>loadmappacts</code> - подгружает некоторые инструменты для более удобного маппинга (ставит в меню действий некоторые тайлы и стены).
<code>dock <ID1> <ID2></code> стыкует два стыковочных портах с ID1 и с ID2, находящихся на разных сетках. Полезно, когда нужна стыковка на карте, находящейся в паузе.
== Прототипы ==
В панели администратора есть возможность загрузить в игру свой прототип. Например, нужен спавнер случайного гуманоида для проведения какого-нибудь мероприятия:
<pre>
- 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
</pre>
В админ-панели (по клавише F7) во вкладке "Админ-абуз" есть кнопка "Загрузить прототип", кликнув на неё выберите файл прототипа, который нужно загрузить.
Загруженные прототипы будут доступен до перезапуска сервера.
=== Загрузка RSI ===
[https://docs.spacestation14.io/en/engine/rsi RSI] - формат группы изображений, изобретённый создателями SS14. Используется для спрайтов. У администраторов существует возможность загрузить свои RSI для использования их в прототипах без необходимости перезапуска сервера или перекомпиляции сборки.
Например, нужно загрузить следующий RSI:
<pre>
delorian.rsi/
├── auto.png
└── meta.json
</pre>
Для этого нужно использовать команду <code>uploadfile</code> с прописанной директорией:
<pre>
> uploadfile delorian.rsi/auto.png
> uploadfile delorian.rsi/meta.json
</pre>
Для использования загруженных спрайтов в прототипах нужно прописывать такой путь:
<pre>
    - type: Sprite
      sprite: /Uploaded/delorian.rsi # <------
      layers:
        - state: auto
          map: ["enum.VehicleVisualLayers.AutoAnimate"]
</pre>
Загруженные файлы удаляются при перезапуске сервера.
В недавнем обновлении появился более лёгкий способ загрузки папок - команда <code>uploadfolder</code>.
== BQL ==
''Основная статья: [[BQL]]''
BQL - язык запросов движка SS14, который позволяет проводить массовые манипуляции с игровыми сущностями. Примеры:
* <code>forall with FaxMachine do echo $ID</code> найдёт абсолютно все факсы и выведет их UID.
Toolshed - разработана как замена старым BQL командам, но не сильно от них отличается. (см. файл [https://docs.spacestation14.com/en/robust-toolbox/toolshed.html])
Например:
* <code> adjstationjob => stations:get jobs:job AtmosphericTechnician jobs:adjust 1</code> позволяет добавить свободную роль на станцию. (см. файл [https://github.com/space-syndicate/space-station-14/tree/master/Resources/Prototypes/Roles/Jobs])
* <code> > entities with PointLight do "addcomp $ID RgbLightController"</code> позволяет добавить всем лампам компонент RGB.

Текущая версия от 21:15, 18 мая 2024

Build_Circle
Страница находится в разработке
  • Редакторы вики уже ведут работу над данной статьёй.
  • Вся информация в данной статье не входит в канон и может быть полностью проигнорирована.
  • При желании, вы можете подать заявку на редактора в нашем Discord и тоже принять участие в улучшении статьи.
  • Статью ведёт: Trinnq (обсуждение), Kevicky9 (обсуждение)

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

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

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

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

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

Отыгрыш ЦК

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

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

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

ID кодов:

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

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

Цели станции по факсу

  • sendstationgoal - позволяет по факсу отправить цель на выбор. Примеры:
  • StationGoalContaintment
  • StationGoalShuttle
  • StationGoalSingularity
  • StationGoalSolarPanels
  • StationGoalBank
  • StationGoalZoo
  • StationGoalArtifacts
  • StationGoalMiningOutpost

Значение целей см. Задачи_станции.

Счёт карго

  • > station:list => появляется список станций, ищете свою => пишете vv <uid, он показывается сбоку от названия>.

Далее заходим в компоненты сервера и находим StationBank и нажимаем на него, там есть и текущий счёт карго и количество пассивного дохода.

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

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

Раунд

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

  • customvote "Какой режим хотите выбрать?" Выживание Трейторы Секрет ...

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

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

Режимы игры

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

  • Extended
  • Secret
  • Sandbox
  • Traitor
  • Nukeops
  • Zombie
  • Pirates
  • Deathmatch
  • Revolutionary
  • AllAtOnce
  • 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 спавнит в рандомных местах Тарантулов.
  • ClosedSkeleton скелет в шкафу.
  • GiftsMedical отправляет на трейд-пост набор медицины.
  • GiftsSecurityGuns отправляет на трейд-пост ящик снаряжения.
  • GiftsEngineering отправляет на трейд-пост инженерный набор.
  • GiftsSecurityRiot отправляет на трейд-пост ящик против бунта.
  • GiftsSpacingSupplies отправляет на трейд-пост защиту от космоса.
  • GiftsFireProtection отправляет на трейд-пост защиту от огня.
  • GiftsJanitor отправляет на трейд-пост наборы для сервиса.
  • GiftsVendingRestock отправляет на трейд-пост наборы пополнения.
  • GiftsPizzaPartySmall отправляет на трейд-пост малый набор пицц.
  • GiftsPizzaPartyLarge отправляет на трейд-пост большой набор пицц.
  • IonStorm меняет законы всем киборгам на станции.
  • CockroachMigration спавн ивент с рандомными мобами из вентиляций.
  • ClericalError ивент, рандомно удаляющий человека из манифеста.
  • Revolutionary режим революционеров.
  • EvilTwin спавнит злого двойника.
  • Exterminator спавнит терминатора.
  • NinjaSpawn спавнит ниндзю.
  • Thief выдаёт роль вора.
  • LoneOpsSpawn спавнит одинокого Ядерного Оперативника.



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

Починка пацифизма дионы

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

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

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

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

С помощью команды rmobjective <ник игрока> <номер цели> можно удалить цель у человека на выбор. Пример:

  • rmobjective trinnq 0

Команда adduplink <ник игрока> позволяет добавить аплинк указанному игроку.

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

  • CaptainIDStealObjective
  • KillRandomObjective
  • KillRandomHeadObjective
  • RandomTraitorAliveObjective
  • DieObjective
  • CMOHyposprayStealObjective
  • CMOCrewMonitorStealObjective
  • RDHardsuitStealObjective
  • HandTeleporterStealObjective
  • NukeDiskStealObjective
  • ClipboardStealObjective
  • MagbootsStealObjective
  • SecretDocumentsStealObjective
  • 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 в консоли.

Заметки

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

Сетки и карты

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

  • Карта (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.

Toolshed - разработана как замена старым BQL командам, но не сильно от них отличается. (см. файл [1]) Например:

  • adjstationjob => stations:get jobs:job AtmosphericTechnician jobs:adjust 1 позволяет добавить свободную роль на станцию. (см. файл [2])
  • > entities with PointLight do "addcomp $ID RgbLightController" позволяет добавить всем лампам компонент RGB.