Reach7 (обсуждение | вклад) (Содержимое страницы заменено на «{{In development|Заморожено}} __TOC__») Метка: замена |
Vepayn (обсуждение | вклад) |
||
(не показано 11 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
=Основы= | |||
Приветствуем, начинающий Администратор! | |||
На данной странице вы можете ознакомиться с основными моментами, которые будут востребованы в вашей работе. | |||
==Терминология== | |||
'''<big>1. Ахелп / Ahelp</big>''' - панель админпомощи, которая позволяет вам кикать игроков, выдавать им заметки, баны, а также просто отвечать на их вопросы, либо задавать вопросы по поводу их поведения. | |||
'''<big>2. Консоль</big>''' - текстовый интерфейс, в который можно вписать команды, желаемые к исполнению, либо увидеть ошибки, на которые "жалуется" консоль. | |||
Консоль открывается по клавише <code>`</code> (<code>ё</code>). Команды можно написать и в обычном чате, для этого поставьте вначале "/". | |||
'''<big>3. Агост</big>''' - админпризрак, специальный призрак с ручками, КПК, рюкзачком и уймой возможностей. | |||
'''<big>4. Джоббан / Департбан / Ролебан</big>''' - бан определённых ролей, либо целого департамента ролей. К примеру, можно забанить как роль Детектива, так и весь департамент СБ. | |||
'''<big>5. Сикей / Логин</big>''' - полагаю, тут излишни объяснения. | |||
'''<big>6. Сей-логи / сейлоги</big>''' - действия "разговоров" в IC-чатах, такие как сообщения в чат "Рядом" и "Шёпот". Сообщения в чат "Эмоции" называются эмоут-логи. | |||
'''<big>7. IC- OOC-чаты</big>''' - IC-чаты это все игровые чаты, в рамках которых игроки общаются от имени персонажа, такие как: "Рядом", "Шёпот", "Эмоции". OOC-чаты это все игровые чаты, в рамках которых игроки общаются от имени самих себя, такие как: "Мёртвые", "LOOC", "OOC". | |||
==Основы основ== | |||
===Деадмин и реадмин=== | |||
Переход между состояниями админа и простого игрока происходит с помощью команд: | |||
* <code>deadmin</code> убирает с вас права и делает обычным игроком. В таком состоянии у вас "обычный" Ахелп, отсутствует возможность видеть админчат, отсутствует возможность выхода в агост и т.д. Вас не видно при вводе команды /adminwho. | |||
* <code>readmin</code> возвращает вам права администратора. Вы вновь начинаете обладать властью. | |||
===Агост и админху=== | |||
* <code>aghost</code> аналогична команде /ghost, но превращает вас во всемогущего агоста. Вместе с тем, если вы вышли в агост из тела, то вы сможете вернуться обратно (с обычным гостом такое не работает). | |||
* <code>adminwho</code> данная команда позволяет увидеть весь список администраторов, находящихся в сети в readmin'е. | |||
==Баны и ролебаны== | |||
===Выдача бана=== | |||
Вы можете как выдавать баны / ролебаны через Ахелп, так и через консоль. | |||
Не всегда нужный вам игрок отображается в Ахелпе, потому в таких случаях поможет только консоль. | |||
Приступим к разбору синтаксиса команды выдачи бана: | |||
* <code>ban login "Reason" time risk</code> | |||
* Графа <code>login</code> - вставьте сикей игрока, которому хотите выдать бан. | |||
* Графа <code>Reason</code> - напишите причину, по которой вы выдаёте блокировку, но не забывайте про кавычки. | |||
* Графа <code>time</code> - укажите время блокировки в секундах. Если речь идёт про пермабан - ставьте 0. | |||
* Графа <code>risk</code> необязательна к заполнению, но если вдруг вы хотите его заполнить, то ставьте "high". | |||
===Снятие бана=== | |||
Бан мы выдали, это замечательно, но если в ходе обжалования выяснилось, что мы, или кто-либо другой из администрации, ошиблись? | |||
Для этого прописываем команду | |||
* <code>banlist login</code> | |||
* Графа <code>login</code> - вставьте сикей игрока, чей бан нам нужно снять. | |||
Перед нами откроется окно с заметками по данному игроку, там же будет информация о бане и ID-бана. | |||
Как только мы узнали ID-бана, прописываем следующую команду: | |||
* <code>pardon BanID</code> (только вместо BanID ставим ID-бана). | |||
===Выдача ролебана=== | |||
В разработке... | |||
<code>roleban <логин> <ID профессии> "<причина>" <время в минутах или 0 для пермы></code> банит данную профессию для данного игрока. | |||
Узнать ID работы можно, найдя соответствующий файл этой роли на [https://github.com/space-syndicate/space-station-14/tree/master/Resources/Prototypes/Roles/Jobs Github]: | |||
<pre> | |||
# /Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml | |||
- type: job | |||
id: HeadOfSecurity # <--- интересующий нас ID | |||
name: job-name-hos | |||
playTimeTracker: JobHeadOfSecurity | |||
... | |||
</pre> | |||
Пример команды: <code>roleban Morty Assistant "Очень плох" 60</code> | |||
<code>departmentban <nickname> <ID отдела> <причина> <время в минутах или 0 для пермы></code> банит игроку весь отдел. ID отделов: | |||
* Cargo | |||
* Civilian | |||
* Command | |||
* Engineering | |||
* Medical | |||
* Science | |||
* Security | |||
===Снятие ролебана=== | |||
Предположим, что выданный нами, или кем-либо другим из администрации, ролебан ошибочен? | |||
В таком случае прописываем с вами команду | |||
* <code>rolebanlist login</code> | |||
* Графа <code>login</code> - вставьте сикей игрока, чей ролебан нам нужно снять. | |||
В консоли появится список всех ролебанов данного игрока. Помните, что у ролебана каждой роли свой уникальный ID, потому и снимать их нужно все. | |||
Найдя нужный нам ID-бана прописываем с вами команду: | |||
* <code>roleunban RolebanID</code> | |||
==Раунд== | |||
===Настройка режима и карты=== | |||
Следующая команда позволяет установить желаемую карту в следующем раунде: | |||
* <code>forcemap MapName</code> | |||
* Графа <code>MapName</code> - выберите одну из предложенных в консоли карт. | |||
Следующая команда позволяет установить желаемый режим игры в следующем раунде: | |||
* <code>setgamepreset NamePreset</code> | |||
* Графа <code>NamePreset</code> - выберите один из предложенных в консоли режимов игры. | |||
Следующая команда устанавливает режим и мгновенно запускает раунд: | |||
* <code>forcegamepreset NamePreset</code> | |||
===Старт, перезапуск, пауза=== | |||
В разработке... | |||
<code>delaystart [seconds]</code> - ставит старт раунда на паузу в лобби. Если указан аргумент, то откладывает старт на указанное количество секунд. | |||
===Кастомные голосования=== | |||
Следующая команда позволяет создать кастомное голосование, которое будет видно как в лобби, так и в раунде: | |||
* <code>customvote "вопрос" "ответ1" "ответ2"</code> | |||
Если ответ состоит из одного слова, то его вовсе необязательно выделять кавычками, в противном же случае кавычки обязательны. | |||
Количество граф "ответов" относительно неограниченно, но старайтесь не создавать свыше 6 вариантов ответов. | |||
== Отыгрыш ЦК == | |||
=== Установка кодов угроз === | |||
Позволяет менять код на станции и блокировать его смену персоналом с консоли связи: | |||
<code>setalertlevel <ID кода> [заблокирована ли возможность сменить ("true" или "false")]</code> | |||
ID кодов: | |||
* <code>green</code> - <span style="color:308E30">зелёный</span>; | |||
* <code>blue</code> - <span style="color:394FCC">синий</span>; | |||
* <code>yellow</code> - <span style="color:808000">жёлтый</span>; | |||
* <code>violet</code> - <span style="color:9932CC">фиолетовый</span>; | |||
* <code>red</code> - <span style="color:8B0000">красный</span>; | |||
* <code>gamma</code> - <span style="color:C6A500">гамма</span>; | |||
* <code>delta</code> - <span style="color:800080">дельта</span>; | |||
* <code>epsilon</code> - эпсилон. | |||
Значения кодов см. [[Стандартные_Рабочие_Процедуры#Уровни_угрозы]]. | |||
=== Эвакуационный шаттл === | |||
* <code>callshuttle #</code>, где <code>#</code> - кол-во минут до шаттла, вызывает эвакуационный шаттл. | |||
* <code>dockemergencyshuttle</code> мгновенно стыкует эвакуационный шаттл к станции. | |||
==== Внутриигровые ивенты ==== | |||
Понятия игровых режимов и игровых ивентов тесно связаны (почему-то), поэтому вызывать их можно через команды тоже... | |||
<code>addgamerule <rules></code> добавляет режим или ивент к следующему или идущему раунду. | |||
<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>setadminooc #FFFFFF</code> устанавливает цвет вашему нику, который будет виден в чате OOC. | |||
<!-- TODO: переписать и объединить данный раздел с разделом про режимы игры, так как они неразрывно связаны! --> | |||
Nukeops и Pirates надо добавлять обязательно до начала раунда. Zombie и Traitor можно добавлять во время раунда, но лучше до начала. Остальные, классические ивенты, срабатывают сразу, даже в лобби. | |||
==== Цели антагониста ==== | |||
С помощью команды <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]] | |||
== Логи == | |||
Просмотр логов доступен по команде <code>adminlogs</code> в консоли. | |||
== Сетки и карты == | |||
Основные понятия: | |||
* Карта (map) - БСС-пространство, содержащее сетки (grids). | |||
* Сетка (grid) - совокупность соединённых тайлов и игровых сущностях, находящихся на них. Собственно, станция - большая единая сетка. Например, если отделить от неё кусочек или поставить прутья на космос, то получится новая сетка, отдельная от станции. | |||
=== Карта (map) === | |||
Карта - БСС-пространство и содержащиеся в нём сетки (grids). Имеет два состояния <code>init: True</code> и <code>init: False</code> - пауза и не пауза. С помощью команды <code>lsmap</code> можно вывести список всех существующих в текущий момент карт, их ID и их состояние (пауза или нет). Основные команды: | |||
* <code>mapping [MapID] [путь до мира или сетки]</code> создаёт новую карту на свободном ID или с данным ID, который не должен быть занят существующими картами, и телепортирует вас на неё. Если дан путь до мира или сетки, то загружает этот файл в новосозданный мир. По умолчанию карта поставлена на паузы. | |||
* <code>mapinit <MapID></code> снимает с паузы или размораживает карту. Не сработает с эвакуационным шаттлом и картой ЦК. | |||
* <code>addmap <MapID></code> создаёт размороженный мир с данным ID, к которому телепортироваться нужно вручную. | |||
* <code>rmmap <MapID></code> удаляет мир с данным ID. ОЧЕНЬ рекомендуется дюжину раз проверять ID прежде, чем нажимать Enter, иначе ненароком можно удалить мир со станцией вместе с игроками. | |||
=== Сетка (grid) === | |||
Сетка - совокупность соединённых вместе тайлов (пол) и лежащих на них предметов. Например, станция - отдельная сетка, шаттл карго - тоже отдельная сетка. | |||
'''Спавн сетки:''' | |||
# Получить ID текущей карты. Для этого используйте команду <code>loc</code>:<br>[[Файл:Демонстрация использования команды loc.png]] | |||
# Определитесь с шаблоном который хотите загрузить на карту. <!-- TODO: указать, как можно узнать список доступных шаблонов --> | |||
# Используйте команду <code>loadgrid <ID карты> <загружаемый шаблон></code>. По умолчанию объект появится на нулевых координатах (x: 0, y: 0). Вы можете телепортировать себя туда, используя команду: <code>tp <x> <y></code>. | |||
# Если вы хотите переместить его на другие координаты, то см. [[#Перемещение сеток]]. | |||
# Profit! | |||
'''Перемещение сеток:''' | |||
* <code>tpgrid <id сетки> <x> <y></code> - сама команда для телепорта; | |||
* <code>lsgrid</code> выдаёт список всех существующих сеток; | |||
* <code>loc</code> даёт ваши текущие координаты, там же указывается ID сетки на которой вы стоите (GridID). | |||
'''Сохранение сеток:''' | |||
Функция позволяет сохранить сетку как файл с картой на сервере и загружать ее в будущих раундах. | |||
❗Не злоупотребляйте этой функцией и сохраняйте только действительно необходимые вам вещи. | |||
<ol> | |||
<li>Узнайте ID сетки на которой находится ваш персонаж/призрак с помощью команды <code>loc</code>. Нужное вами число это GridID.</li> | |||
<li>Далее сама команда для сохранения сетки как карты: <code>savebp <gridUid> <path></code>, где <code><gridId></code> это ранее полученное число, а <code><path></code> - путь, по которому ''сетка'' будет сохранена в папке сервера. Достаточно просто указать название файла. Обязательно укажите расширение <code>.yml</code> для файла.<br> | |||
Пример: <code>savebp 12 myShuttle.yml</code>.</li> | |||
<li>Profit!</li> | |||
</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. | |||
* ... | |||
==Оглавление== | |||
* [[Поваренная книга админа/Ахелп | Работа с Ахелпом]] | |||
* [[Поваренная книга админа/Меню администратора | Работа с меню администратора]] | |||
* [[Поваренная книга админа/Логи | Работа с логами]] | |||
* [[Поваренная книга админа/Компоненты | Работа с компонентами]] |
Текущая версия от 12:30, 3 июля 2024
Основы
Приветствуем, начинающий Администратор!
На данной странице вы можете ознакомиться с основными моментами, которые будут востребованы в вашей работе.
Терминология
1. Ахелп / Ahelp - панель админпомощи, которая позволяет вам кикать игроков, выдавать им заметки, баны, а также просто отвечать на их вопросы, либо задавать вопросы по поводу их поведения.
2. Консоль - текстовый интерфейс, в который можно вписать команды, желаемые к исполнению, либо увидеть ошибки, на которые "жалуется" консоль.
Консоль открывается по клавише `
(ё
). Команды можно написать и в обычном чате, для этого поставьте вначале "/".
3. Агост - админпризрак, специальный призрак с ручками, КПК, рюкзачком и уймой возможностей.
4. Джоббан / Департбан / Ролебан - бан определённых ролей, либо целого департамента ролей. К примеру, можно забанить как роль Детектива, так и весь департамент СБ.
5. Сикей / Логин - полагаю, тут излишни объяснения.
6. Сей-логи / сейлоги - действия "разговоров" в IC-чатах, такие как сообщения в чат "Рядом" и "Шёпот". Сообщения в чат "Эмоции" называются эмоут-логи.
7. IC- OOC-чаты - IC-чаты это все игровые чаты, в рамках которых игроки общаются от имени персонажа, такие как: "Рядом", "Шёпот", "Эмоции". OOC-чаты это все игровые чаты, в рамках которых игроки общаются от имени самих себя, такие как: "Мёртвые", "LOOC", "OOC".
Основы основ
Деадмин и реадмин
Переход между состояниями админа и простого игрока происходит с помощью команд:
deadmin
убирает с вас права и делает обычным игроком. В таком состоянии у вас "обычный" Ахелп, отсутствует возможность видеть админчат, отсутствует возможность выхода в агост и т.д. Вас не видно при вводе команды /adminwho.readmin
возвращает вам права администратора. Вы вновь начинаете обладать властью.
Агост и админху
aghost
аналогична команде /ghost, но превращает вас во всемогущего агоста. Вместе с тем, если вы вышли в агост из тела, то вы сможете вернуться обратно (с обычным гостом такое не работает).adminwho
данная команда позволяет увидеть весь список администраторов, находящихся в сети в readmin'е.
Баны и ролебаны
Выдача бана
Вы можете как выдавать баны / ролебаны через Ахелп, так и через консоль.
Не всегда нужный вам игрок отображается в Ахелпе, потому в таких случаях поможет только консоль.
Приступим к разбору синтаксиса команды выдачи бана:
ban login "Reason" time risk
- Графа
login
- вставьте сикей игрока, которому хотите выдать бан. - Графа
Reason
- напишите причину, по которой вы выдаёте блокировку, но не забывайте про кавычки. - Графа
time
- укажите время блокировки в секундах. Если речь идёт про пермабан - ставьте 0. - Графа
risk
необязательна к заполнению, но если вдруг вы хотите его заполнить, то ставьте "high".
Снятие бана
Бан мы выдали, это замечательно, но если в ходе обжалования выяснилось, что мы, или кто-либо другой из администрации, ошиблись?
Для этого прописываем команду
banlist login
- Графа
login
- вставьте сикей игрока, чей бан нам нужно снять.
Перед нами откроется окно с заметками по данному игроку, там же будет информация о бане и ID-бана.
Как только мы узнали ID-бана, прописываем следующую команду:
pardon BanID
(только вместо BanID ставим ID-бана).
Выдача ролебана
В разработке...
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
Снятие ролебана
Предположим, что выданный нами, или кем-либо другим из администрации, ролебан ошибочен?
В таком случае прописываем с вами команду
rolebanlist login
- Графа
login
- вставьте сикей игрока, чей ролебан нам нужно снять.
В консоли появится список всех ролебанов данного игрока. Помните, что у ролебана каждой роли свой уникальный ID, потому и снимать их нужно все.
Найдя нужный нам ID-бана прописываем с вами команду:
roleunban RolebanID
Раунд
Настройка режима и карты
Следующая команда позволяет установить желаемую карту в следующем раунде:
forcemap MapName
- Графа
MapName
- выберите одну из предложенных в консоли карт.
Следующая команда позволяет установить желаемый режим игры в следующем раунде:
setgamepreset NamePreset
- Графа
NamePreset
- выберите один из предложенных в консоли режимов игры.
Следующая команда устанавливает режим и мгновенно запускает раунд:
forcegamepreset NamePreset
Старт, перезапуск, пауза
В разработке...
delaystart [seconds]
- ставит старт раунда на паузу в лобби. Если указан аргумент, то откладывает старт на указанное количество секунд.
Кастомные голосования
Следующая команда позволяет создать кастомное голосование, которое будет видно как в лобби, так и в раунде:
customvote "вопрос" "ответ1" "ответ2"
Если ответ состоит из одного слова, то его вовсе необязательно выделять кавычками, в противном же случае кавычки обязательны.
Количество граф "ответов" относительно неограниченно, но старайтесь не создавать свыше 6 вариантов ответов.
Отыгрыш ЦК
Установка кодов угроз
Позволяет менять код на станции и блокировать его смену персоналом с консоли связи:
setalertlevel <ID кода> [заблокирована ли возможность сменить ("true" или "false")]
ID кодов:
green
- зелёный;blue
- синий;yellow
- жёлтый;violet
- фиолетовый;red
- красный;gamma
- гамма;delta
- дельта;epsilon
- эпсилон.
Значения кодов см. Стандартные_Рабочие_Процедуры#Уровни_угрозы.
Эвакуационный шаттл
callshuttle #
, где#
- кол-во минут до шаттла, вызывает эвакуационный шаттл.dockemergencyshuttle
мгновенно стыкует эвакуационный шаттл к станции.
Внутриигровые ивенты
Понятия игровых режимов и игровых ивентов тесно связаны (почему-то), поэтому вызывать их можно через команды тоже...
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
спавнит в рандомных местах Тарантулов.
setadminooc #FFFFFF
устанавливает цвет вашему нику, который будет виден в чате OOC.
Nukeops и Pirates надо добавлять обязательно до начала раунда. Zombie и Traitor можно добавлять во время раунда, но лучше до начала. Остальные, классические ивенты, срабатывают сразу, даже в лобби.
Цели антагониста
С помощью команды lsobjectives <ник игрока>
можно просмотреть цели антагониста.
Команда addobjective <nickname> <objective ID>
добавит выбранному игроку ещё одну цель антагониста. Список ID целей (см. файл traitorObjectives.yml):
CaptainIDStealObjective
KillRandomObjective
RandomTraitorAliveObjective
DieObjective
CMOHyposprayStealObjective
RDHardsuitStealObjective
NukeDiskStealObjective
IDComputerBoardStealObjective
MagbootsStealObjective
SupplyConsoleBoardStealObjective
CorgiMeatStealObjective
CaptainGunStealObjective
CaptainJetpackStealObjective
EscapeShuttleObjective
RandomTraitorProgressObjective
Файл:Демонстрация команды addobjective.png
Логи
Просмотр логов доступен по команде 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.- ...