Vepayn (обсуждение | вклад) |
Vepayn (обсуждение | вклад) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
Данная статья посвящена всяким полезностям для админов. | Данная статья посвящена всяким полезностям для админов. | ||
Консоль открывается по клавише <code>`</code> | Консоль открывается по клавише <code>`</code> либо же "ё". | ||
Переход между состояниями админа и простого игрока с помощью команд: | Переход между состояниями админа и простого игрока с помощью команд: | ||
* <code>deadmin</code> убирает с вас права и делает обычным игроком; | * <code>deadmin</code> - убирает с вас права и делает обычным игроком; | ||
* <code>readmin</code> возвращает вам права администратора. | * <code>readmin</code> - возвращает вам права администратора. | ||
<code>setadminooc #FFFFFF</code> устанавливает цвет вашему нику, который будет виден в чате OOC. | <code>setadminooc #FFFFFF</code> - устанавливает цвет вашему нику, который будет виден в чате OOC. | ||
== Отыгрыш ЦК == | == Отыгрыш ЦК == | ||
<code>sendglobalstation [id]</code> - позволяет выдать новую цель (нужно ждать, выдаёт долго). | |||
=== Установка кодов угроз === | === Установка кодов угроз === | ||
Строка 15: | Строка 17: | ||
Позволяет менять код на станции и блокировать его смену персоналом с консоли связи: | Позволяет менять код на станции и блокировать его смену персоналом с консоли связи: | ||
<code>setalertlevel | <code>setalertlevel [ID кода] [заблокирована ли возможность сменить ("true" или "false")]</code> | ||
ID кодов: | ID кодов: | ||
Строка 31: | Строка 33: | ||
=== Эвакуационный шаттл === | === Эвакуационный шаттл === | ||
* <code>callshuttle | * <code>callshuttle [кол-во минут]</code> - вызывает эвакуационный шаттл. | ||
* <code>recallshuttle</code> - отзывает эвакуационный шаттл. | * <code>recallshuttle</code> - отзывает эвакуационный шаттл. | ||
* <code>dockemergencyshuttle</code> мгновенно стыкует эвакуационный шаттл к станции. | * <code>dockemergencyshuttle</code> - мгновенно стыкует эвакуационный шаттл к станции. | ||
== Раунд == | == Раунд == | ||
<code>customvote | <code>customvote [вопрос] [ответ1] [ответ2] ... [ответN]</code> - создаёт голосование с заданными параметрами, которое видно и в раунде, и в лобби. | ||
<code>showsnackbarall [заголовок] [текст] [времяОбъявления] [цвет]</code> - создаёт объявление, которое видно и в раунде, и в лобби. | |||
<code>delaystart [seconds]</code> - ставит старт раунда на паузу в лобби. Если указан аргумент, то откладывает старт на указанное количество секунд. | <code>delaystart [seconds]</code> - ставит старт раунда на паузу в лобби. Если указан аргумент, то откладывает старт на указанное количество секунд. | ||
Строка 53: | Строка 57: | ||
* Deathmatch | * Deathmatch | ||
<code>setgamepreset</code> устанавливает режим следующего раунда. | <code>setgamepreset</code> - устанавливает режим следующего раунда. | ||
<code>forcegamepreset</code> устанавливает режим и мгновенно запускает раунд. | <code>forcegamepreset</code> - устанавливает режим и мгновенно запускает раунд. | ||
==== Внутриигровые ивенты ==== | ==== Внутриигровые ивенты ==== | ||
Строка 61: | Строка 65: | ||
Понятия игровых режимов и игровых ивентов тесно связаны (почему-то), поэтому вызывать их можно через команды тоже... | Понятия игровых режимов и игровых ивентов тесно связаны (почему-то), поэтому вызывать их можно через команды тоже... | ||
<code>addgamerule | <code>addgamerule [rules]</code> - добавляет режим или ивент к следующему или идущему раунду. | ||
<code>endgamerule | <code>endgamerule [rule]</code> - останавливает текущий в игре ивент. | ||
Список ID событий: | Список ID событий: | ||
Строка 106: | Строка 110: | ||
==== Починка нюкера-дионы ==== | ==== Починка нюкера-дионы ==== | ||
Чтобы убрать пацифизм у дионы-нюкера, нужно удалить компоненты PacifedComponent и CombatModeComponent, а затем добавить CombatModeComponent снова. Это делается через просмотр переменных | Чтобы убрать пацифизм у дионы-нюкера, нужно удалить компоненты PacifedComponent и CombatModeComponent, а затем добавить CombatModeComponent снова. Это делается через просмотр переменных: <code>vv [EntityUID]</code> во вкладке "Компоненты сервера". Если добавить CombatModeComponent, пока у моба стоит PacifedComponent, то ничего не сработает. | ||
''Если вы меняете расу ядерного оперативника или респауните его, то вы во первых лишаете его тега синдиката, а во вторых ломаете систему режима из-за чего раунд может закончится, даже если этот опер жив.'' | ''Если вы меняете расу ядерного оперативника или респауните его, то вы во первых лишаете его тега синдиката, а во вторых ломаете систему режима из-за чего раунд может закончится, даже если этот опер жив.'' | ||
Строка 112: | Строка 116: | ||
==== Цели антагониста ==== | ==== Цели антагониста ==== | ||
<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>CaptainIDStealObjective</code> | ||
* <code>KillRandomObjective</code> | * <code>KillRandomObjective</code> | ||
Строка 140: | Строка 146: | ||
<code>rolebanlist ...</code> позволяет просмотреть список банов ролей игрока. | <code>rolebanlist ...</code> позволяет просмотреть список банов ролей игрока. | ||
<pre>roleban | <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]: | ||
Строка 164: | Строка 170: | ||
* Security | * Security | ||
<code>roleunban | <code>roleunban [ID бана]</code> отменяет бан роли. | ||
=== Общие баны === | === Общие баны === | ||
Строка 170: | Строка 176: | ||
<code>banlist ...</code> позволяет просмотреть список банов игрока. | <code>banlist ...</code> позволяет просмотреть список банов игрока. | ||
<code>ban | <code>ban [login] [причина] [время бана в минутах или 0 для перма]</code> просто банит игрока с сервера. | ||
<code>pardon | <code>pardon [ID бана]</code> разбанивает простой бан игрока. | ||
== Логи == | == Логи == | ||
Строка 217: | Строка 223: | ||
<ol> | <ol> | ||
<li>Узнайте ID сетки на которой находится ваш персонаж/призрак с помощью команды <code>loc</code>. Нужное вами число это GridID.</li> | <li>Узнайте ID сетки на которой находится ваш персонаж/призрак с помощью команды <code>loc</code>. Нужное вами число это GridID.</li> | ||
<li>Далее сама команда для сохранения сетки как карты: <code>savebp [gridUid] [path]</code>, где <code> | <li>Далее сама команда для сохранения сетки как карты: <code>savebp [gridUid] [path]</code>, где <code>[gridId]</code> это ранее полученное число, а <code>[path]</code> - путь, по которому ''сетка'' будет сохранена в папке сервера. Достаточно просто указать название файла. Обязательно укажите расширение <code>.yml</code> для файла.<br> | ||
Пример: <code>savebp 12 myShuttle.yml</code>.</li> | Пример: <code>savebp 12 myShuttle.yml</code>.</li> | ||
<li>Profit!</li> | <li>Profit!</li> | ||
Строка 224: | Строка 230: | ||
'''БСС (FTL)''': | '''БСС (FTL)''': | ||
Чтобы сделать сетку доступной для прыжка к ней через БСС, нужно открыть окно просмотра переменных этой сетки. Для этого прописывается <code>vv | Чтобы сделать сетку доступной для прыжка к ней через БСС, нужно открыть окно просмотра переменных этой сетки. Для этого прописывается <code>vv [gridUID]</code>. Во вкладке "Компоненты сервера" нужно добавить компонент "FTLDestination" через кнопку "Добавить компонент". Готово! Сетка, а вместе с ней и карта, на которой она расположена, доступны для прыжка, например, карго-шаттла. | ||
Опционально можно переименовать сетку опять в просмотре переменных <code>vv</code> - во вкладке "Переменные сервера" в поле Name прописывается новое имя и обязательно нажимается Enter по завершению ввода. | Опционально можно переименовать сетку опять в просмотре переменных <code>vv</code> - во вкладке "Переменные сервера" в поле Name прописывается новое имя и обязательно нажимается Enter по завершению ввода. | ||
Строка 234: | Строка 240: | ||
<code>fixgridatmos</code> мгновенно заполняет все тайлы грида дыхательной смесью. | <code>fixgridatmos</code> мгновенно заполняет все тайлы грида дыхательной смесью. | ||
<code>colornetwork | <code>colornetwork [UID] Pipe [HEX-color]</code> добавляет выбранный цвет на трубу. | ||
* #FF9900 - Сигнальный | * #FF9900 - Сигнальный | ||
* #FF0000FF - Скруббер | * #FF0000FF - Скруббер | ||
Строка 247: | Строка 253: | ||
<code>loadmapacts</code> - подгружает некоторые инструменты для более удобного маппинга (ставит в меню действий некоторые тайлы и стены). | <code>loadmapacts</code> - подгружает некоторые инструменты для более удобного маппинга (ставит в меню действий некоторые тайлы и стены). | ||
<code>dock | <code>dock [ID1] [ID2]</code> стыкует два стыковочных портах с ID1 и с ID2, находящихся на разных сетках. Полезно, когда нужна стыковка на карте, находящейся в паузе. | ||
== Прототипы == | == Прототипы == |
Текущая версия от 01:42, 16 ноября 2023
Данная статья посвящена всяким полезностям для админов.
Консоль открывается по клавише `
либо же "ё".
Переход между состояниями админа и простого игрока с помощью команд:
deadmin
- убирает с вас права и делает обычным игроком;readmin
- возвращает вам права администратора.
setadminooc #FFFFFF
- устанавливает цвет вашему нику, который будет виден в чате OOC.
Отыгрыш ЦК
sendglobalstation [id]
- позволяет выдать новую цель (нужно ждать, выдаёт долго).
Установка кодов угроз
Позволяет менять код на станции и блокировать его смену персоналом с консоли связи:
setalertlevel [ID кода] [заблокирована ли возможность сменить ("true" или "false")]
ID кодов:
green
- зелёный;blue
- синий;yellow
- жёлтый;violet
- фиолетовый;red
- красный;gamma
- гамма;delta
- дельта;epsilon
- эпсилон.
Значения кодов см. Стандартные_Рабочие_Процедуры#Уровни_угрозы.
Эвакуационный шаттл
callshuttle [кол-во минут]
- вызывает эвакуационный шаттл.recallshuttle
- отзывает эвакуационный шаттл.dockemergencyshuttle
- мгновенно стыкует эвакуационный шаттл к станции.
Раунд
customvote [вопрос] [ответ1] [ответ2] ... [ответN]
- создаёт голосование с заданными параметрами, которое видно и в раунде, и в лобби.
showsnackbarall [заголовок] [текст] [времяОбъявления] [цвет]
- создаёт объявление, которое видно и в раунде, и в лобби.
delaystart [seconds]
- ставит старт раунда на паузу в лобби. Если указан аргумент, то откладывает старт на указанное количество секунд.
Режимы игры
Существующие режимы игры:
- Extended
- Secret
- Sandbox
- Traitor
- Nukeops
- Zombie
- Pirates
- Deathmatch
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
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 - Автобус
loadmapacts
- подгружает некоторые инструменты для более удобного маппинга (ставит в меню действий некоторые тайлы и стены).
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.- ...