Обсуждение участника:WikiHampter/Админ-права

Обсуждение страницы Участник:WikiHampter/Админ-права
Версия от 13:44, 8 июня 2026; WikiHampter (обсуждение | вклад) (Новая страница: «<!-- MediaWiki-разметка для страницы "Права администратора" --> == Права администратора (Admin Flags) == Система прав администратора построена на битовых флагах (flags). Каждый флаг открывает определённый набор команд и возможностей. Права могут выдаваться через ранг (ra...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Права администратора (Admin Flags)

Система прав администратора построена на битовых флагах (flags). Каждый флаг открывает определённый набор команд и возможностей. Права могут выдаваться через ранг (rank) или индивидуально, а также могут быть отозваны через отрицательные флаги (negative flags).

Всего флагов: 24 (из 32 возможных битов)

Таблица прав

Флаг Название Описание Команды (content) Команды (engine / client) Verbs / UI-возможности
ADMIN Admin Базовые админ-вербы. Фундаментальное право администратора. aghost, camera, warp, tp, tpto, showghosts, follow, setoutfit, setmind, forceghost, playerpanel, erase, addreagent, addmechanism, removeentitystorage, removebodypart, removemechanism, addbodypart, addentitystorage, clearbluespacelocker Движок: tp, tpto • Админ-меню
• Контекстное меню (Verbs) — категории Admin и Tricks
• Freeze/Unfreeze, Erase, Respawn
• TeleportTo, TeleportHere
• PlayerPanel (панель игрока)
• SubtleMessage (скрытое сообщение)
• AHelp панель
• Clone/Spawn действия
• Camera EUI (наблюдение)
• AFK статус в AdminWho
BAN Ban Возможность банить игроков. ban, banpanel, banlist, banexemption, roleban, roleunban, rolebanlist, pardon, departmentban, jobwhitelist • В PlayerPanel отображается количество банов и статус вайтлиста
• Bwoink UI показывает кнопки Ban/Notes
• PanicBunker учитывает наличие флага BAN
DEBUG Debug Отладочные команды для программистов. rejuvenate, stripall, dirty Движок: delete, inrangeunoccluded, lsgrid, lsmap, loc, mem, netaudit, querymappaused, physics, showislands, showtime, showspritebb, cldbglyr, togglefov, togglehardfov, togglelight, togglelightbuf, toggleshadows, lightbb, szr_stats, addview, removeview, hwid, showaudio, showpos, showvel, showrot, showangvel, showray, showchunkbb, showgridnodes, entfo, sggcell, ldrsc, rldrsc, rldshader, rldloc, guidump, uitest, chunkinfo, showanchored, dmetamem, launchauth, lsmonitor, monitorinfo, watch, sendgarbage, setinputcontext, showplayervelocity, tilelookup, net_entityreport, scene, replay_recording_stats, print_pvs_ack, pvs_override_info, merge_grids

Клиент: fuckrules, atvrange, atvmode, atvcbm, debugai, notify, pathfinder, entitymenug, hidemechanisms, showmechanisms, menuvis, resetent, resetallents, showhealthbars, toggledecals, nodevis, nodevisfilter, showbiome, net_draw_interp, showmeleespread, showgunspread, showambient, showemergencyshuttle, zoom, showsubfloor, showmarkers, detachent, localdelete, fullstatereset, dumpentities, showwallmounts, showaccessreaders, quickinspect
• Debug-вербы (категория контекстного меню)
• Rejuvenate (исцеление), Delete в PlayerPanel
• Все клиентские отладочные команды
FUN Fun Развлекательные команды для проведения ивентов. Не рекомендуется выдавать триал-админам. tippy, explosion, playglobalsound, playmapsound, set solution temperature, set solution thermal energy, set solution capacity, owoify, controlmob, addpolymorphaction, faxui, linkbluespacelocker, setoutfit Движок: tip • Вербы категории Smite (аннигилировать, взорвать, поджечь, обезьянифицировать, креппи, дезориентировать, ударить, пнуть, загипнотизировать, клувнифицировать, превратить в хлеб/мышь/инструмент, и т.д.)
• Вербы категории Antag: сделать трейтором, зомби, ядерным оперативником, драконом, ренегатом, пиратом, главой революции, вампиром, пауком-террором, вором, генокрадом, парадокс-клоном, волшебником,space ninja, блобом и т.д.
PERMISSIONS Permissions Возможность редактировать права других администраторов. openpermissions • Permissions EUI (интерфейс редактирования прав)
SERVER Server Управление сервером: рестарт, смена режима раунда и т.д. panicbunker, persistencesave, osay, setooc (+CHATTOGGLE), setlooc (+CHATTOGGLE) Движок: delete, pausemap, unpausemap, restart, shutdown, tippy
SPAWN Spawn Возможность спавнить объекты и тайлы. deletecomponent, loadgamemap (+ROUND) Движок: spawn, cspawn, delete • Панель спавна (AdminPlace — entity/tile spawn panel)
VAREDIT VarEdit Возможность использовать VV (View Variables — просмотр и редактирование переменных). throwscoreboard Движок: addcomp, addcompc, rmcomp, rmcompc, vv, vvread, vvwrite, vvinvoke, spin • VV (View Variables) интерфейс
MAPPING Mapping Картографические операции. variantize, removeextracomponents, ertui Движок: addmap, loadgrid, loadmap, pausemap, querymappaused, rmgrid, rmmap, mapinit, savegrid, savemap, setambientlight, tpgrid, gridtc, togglespritenetsync

Клиент: mapping, mappingclientsidesetup, showsubfloor, showsubfloorforever, toggleautosave, toggledecals, showwallmounts, showaccessreaders
• Pause/Unpause map вербы
LOGS Logs Просмотр логов администратора. adminlogs, openadminlogs • Admin Logs (логи) на сущностях (верб)
• AdminLogs EUI
• PlayerPanel — кнопка "Open Logs"
ROUND Round Управление раундом: forcemap, loadgamemap и т.д. shuttle, readyall, loadgamemap (+SPAWN) • Bar job slots (обнуление слотов работы) верб
QUERY Query Использование BQL-запросов (Toolshed). Движок: uploadfile, loadprototype, uploadfolder

Клиент: uploadfile, loadprototype, uploadfolder, exec
• Toolshed-команды: entities, nearby, map, physics, player, splat, bin, extremes, reduce, sortby, sort, sortdownby, sortdown, sortmapby, sortmapdownby, iota, rep, to
ADMINHELP AdminHelp Использование системы помощи (Admin Help / AHelp / Bwoink). • BwoinkSystem — отправка и получение сообщений AHelp
• PlayerPanel показывает доступность AHelp
VIEWNOTES ViewNotes Просмотр заметок об игроках. adminnotes, openadminnotes • AdminNotesManager — возможность просмотра
• Bwoink UI показывает кнопку Notes
EDITNOTES EditNotes Создание, редактирование и удаление заметок об игроках. • AdminNotesManager — создание, редактирование, удаление заметок
MASSBAN MassBan Массовый бан через веб-панель SS14.Admin. • Веб-панель (не используется в игре)
STEALTH Stealth Возможность оставаться невидимым в /adminwho для админов без этого флага. stealthmin • Скрытие из списка /adminwho
• Объявления о входе/выходе стелс-админа видны только другим стелс-админам
ADMINCHAT AdminChat Использование админ-чата. asay Клиент: achatwindow • Вкладка админ-чата в окне чата
PII PII Просмотр персональной информации (IP, HWID) в игре и на SS14.Admin. Движок: listplayers • BanList EUI показывает IP и HWID
MODERATOR Moderator Модераторские действия на сервере. dsay, votecallnew, announceui, playtime Движок: kick, respawn • Silicon law UI (законы ИИ/боргов) верб
ADMINWHO AdminWho Просмотр онлайн-админов (определён как флаг, но в текущей версии кодом не проверяется). • Команда adminwho доступна всем (AnyCommand)
• Флаг зарезервирован
NAMECOLOR NameColor Установка цвета ника в OOC. setadminooc • ChatManager применяет цвет OOC-ника
CHATTOGGLE
(DS14)
ChatToggle Включение/отключение OOC и LOOC чата. setooc (+SERVER), setlooc (+SERVER) • Добавлено в форке DeadSpace
HOST Host Опасные права хости — C#-скрипты, перезагрузка прототипов и т.д. playtime, adminlogbulk Движок: gc_mode, gc, saveconfig, testlog, sudo, scsi, csi, lsasm, cvar, gcf, getcomponentregistration, fuck, replay_recording_start, replay_recording_stop, transfer_test • Выполнение C#-скриптов (CanScript)
• Перезагрузка прототипов (CanAdminReloadPrototypes)
• На клиенте — полный обход всех проверок прав

Комбинации флагов для некоторых возможностей

Некоторые команды требуют наличия нескольких флагов одновременно:

Возможность Требуемые флаги
loadgamemap — загрузка игровой карты ROUND + SPAWN
setooc — включение/отключение OOC SERVER + CHATTOGGLE
setlooc — включение/отключение LOOC SERVER + CHATTOGGLE

Программная архитектура

Права проверяются тремя способами:

  1. Атрибут [AdminCommand(AdminFlags.X)] — применяется к классам команд в Content.Server. Если команда не имеет атрибута, она консольная (недоступна игрокам).
  2. YAML-файлы разрешений — для команд движка и Toolshed: engineCommandPerms.yml, toolshedEngineCommandPerms.yml, clientCommandPerms.yml.
  3. Прямые проверки в коде — системы вызывают HasAdminFlag(player, AdminFlags.X) для разблокировки определённых вербов/функций.

Итоговые права администратора вычисляются по формуле: Flags = RankFlags ∪ PositiveFlags ∖ NegativeFlags

То есть: флаги ранга + индивидуально выданные флаги − индивидуально отозванные флаги.

См. также