Справочник команд
Реализованные команды Chunkwake, уровни прав и отличия от ванили.
Дерево команд объявлено один раз в crates/net/src/play/commands/registry.rs. Из него собираются пакет commands для клиента, подсказки tab-complete и проверка прав, поэтому дерево, права и выполнение не могут разойтись. Форма узлов сверяется с ванильным reports/commands.json 26.3.
Поиск идёт по имени, аргументам, описанию и отличиям от ванили.
Игрок и чат
Чат, инвентарь, эффекты, сущности и камера.
/help [command]Список доступных команд или справка по одной команде.
Отличия: Без наведения и кликабельных ссылок.
/list [uuids]Игроки онлайн.
Отличия: uuids печатает UUID рядом с именем.
/me <action>Действие от своего имени в чате.
/say <message>Сообщение от имени сервера.
/msg <targets> <message>Личное сообщение игроку.
Отличия: Нет истории и /socialspy.
/teammsg <message>Сообщение участникам своей команды.
Отличия: Только участникам команды отправителя; без команды — commands.teammsg.failed.
/team add|remove|list|modify ...Состав, цвет, префикс и столкновения команды.
Отличия: Дружественный огонь не влияет на урон: боя команд нет.
/tellraw <targets> <message>Отправить текстовый компонент в чат.
/title <targets> title|subtitle|actionbar|times|clear|reset ...Показать заголовок, подзаголовок или action bar.
/playsound <sound> <source> <targets> [pos] [volume] [pitch] [minVolume]Проиграть или остановить звук.
Отличия: Категория (master…ui) работает; дальше volume * 16 звук слышен с minVolume, 0 — не отправляется. /stopsound <targets> [<source>] [<sound>], * — без категории.
/give <targets> <item> [count]Выдать предмет в инвентарь.
Отличия: Чары, имя, lore, custom_data и износ; остальные компоненты сохраняются для сравнения, но клиенту не уходят.
/clear <targets> [item] [maxCount]Очистить инвентарь.
Отличия: Совпадают только заданные компоненты; #тег снимает все предметы тега.
/effect give|clear <targets> <effect> [seconds] [amplifier] [hideParticles]Выдать или снять эффект.
Отличия: Поддерживаются infinite и hideParticles.
/xp add|set|query <targets> <amount> [points|levels]Выдать, установить или показать опыт.
/gamemode <mode> [target]Сменить режим игры.
/kill [targets]Убить сущность.
Отличия: Работает и для мобов, и для предметов.
/tp <targets> <location> [<rotation>]Телепортировать сущность, в том числе через ^ и facing.
Отличия: ^ считается от взгляда исполнителя; без углов поворот не сбрасывается.
/damage <target> <amount> [type] [at <location>|by <entity>]Нанести урон.
Отличия: fall, out_of_world, starve, magic, wither, arrow; неизвестный тип — обычный урон.
/rotate <target> <rotation>Повернуть сущность.
/spawnpoint [targets] [pos] [angle]Установить точку возрождения.
Отличия: Пишется в сохранение игрока (SpawnX/Y/Z).
/tag <targets> add|remove|list <name>Добавить, снять или показать метки сущности.
Отличия: До 1024 меток; селектор tag= их видит.
/swing <targets> mainhand|offhandПроиграть взмах руки.
Отличия: mainhand/offhand, анимации none/whack/stab; для предмета и снаряда — notliving.
/spectate <target> [player]Переключить камеру наблюдателя.
Отличия: Только в режиме spectator; клиенту уходит set_camera.
/ride <target> mount|dismount <vehicle>Посадить или снять пассажира.
Отличия: Пассажир не садится на игрока и не замыкает круг; клиенту уходит set_passengers.
/trigger <objective> add|set <value>Изменить свой trigger-счёт.
Отличия: Работает после scoreboard players enable; повтор без enable — unprimed.
/random value|roll <range> [sequence]Случайное число.
Отличия: roll пишет в чат, value возвращает число; последовательность помнит семя, пока сервер запущен. Генератор не совпадает побитово с ванильным RandomSequence.
/bossbar add|set|remove|list ...Создать и настроить полоску босса.
Отличия: Зрители задаются set players; при входе и возрождении полоска приходит снова. Небо, музыка и туман не включаются.
/enchant <targets> <enchantment> [level]Наложить чары на предмет в руке.
Отличия: Уровень 0 снимает чары; несовместимые не заменяются; книга пишет stored_enchantments.
/spreadplayers <center> <spreadDistance> <maxRange> <respectTeams> <targets>Разбросать сущности по области.
Отличия: Высота — поверхность motion_blocking уже загруженного чанка; under не ищет пещеры ниже.
/stopwatch create|query ...Секундомер.
Отличия: Считает реальное время, не тики; query для execute store отдаёт floor(секунды × scale).
/posteffect <targets> <effect>Экранный эффект.
Отличия: Игроку уходит полный список post_effects.
/attribute <target> <attribute> get|base|modifier ...База и модификаторы атрибута.
Отличия: Игрок — набор игрока, моб — набор моба; пакет update_attributes. Спринт сессии в get не входит.
/waypoint modify <targets> color|style ...Цвет и стиль путевой точки.
Отличия: Точка есть у игрока; моб и предмет — argument.waypoint.invalid. Команда точку не создаёт; клиенту уходит waypoint.
/dialog clear|show <targets>Закрыть диалог.
Отличия: clear шлёт пустой clear_dialog. show отвечает «не найден»: реестра диалогов нет.
/particle <name> [pos] [delta] [speed] [count] [force|normal] [viewers]Частицы для игроков рядом.
Отличия: Простые типы (flame, heart, …) уходят level_particles. dust принимает <r> <g> <b> <scale>. block, item, vibration и прочие — particle.invalidOptions. Дальше 32 блоков нужна force (до 512).
/item replace entity <targets> <slots> with <item> [count]Положить предмет в слот.
Отличия: Только replace entity. Слоты: weapon, weapon.mainhand, weapon.offhand, weapon.*, armor.head…armor.feet, armor.*, hotbar.N, inventory.N, container.N. У моба слотов нет. Ветки block, from, modify, fill, override не объявлены.
/loot give|spawn|insert|replace ...Выдать или выбросить добычу по таблице.
Отличия: give players … loot, spawn <pos> loot, insert <pos> loot, replace block <pos> <slot> [count] loot. Ключ — путь от loot_table. kill, fish, mine требуют источник урона или удочку. replace entity не объявлен.
Мир и блоки
Блоки, время, погода, границы и поиск структур.
/setblock <pos> <block> [destroy|keep|replace|strict]Поставить блок.
Отличия: keep не трогает не-воздух, destroy дропает, strict падает без изменения.
/fill <from> <to> <block> [destroy|hollow|keep|outline|replace|strict]Залить область блоками.
Отличия: Предел 32 768 блоков; destroy дропает; фильтр replace принимает имя и #тег блока.
/clone <begin> <end> <destination> [replace|masked|filtered] [normal|force|move]Скопировать область блоков.
Отличия: replace/masked/filtered, normal/force/move; strict не будит соседей; чанк должен быть загружен; только текущее измерение.
/summon <entity> [pos] [nbt]Призвать моба.
Отличия: В мире четыре моба: корова, свинья, овца, курица.
/weather clear|rain|thunder [duration]Установить погоду.
Отличия: Дождь виден, но тик осадков не считается.
/gamerule <rule> [value]Показать или изменить правило мира.
Отличия: 59 правил 26.3; тик читает часть.
/time set|add|query <value>Установить, добавить или показать время.
Отличия: query возвращает time и gametime, как в 26.3 (daytime ещё принимается).
/difficulty [peaceful|easy|normal|hard]Установить сложность.
/seedПоказать зерно мира.
/setworldspawn [pos] [angle]Установить точку появления мира.
/worldborder add|center|damage|get|set|warning ...Настроить границу мира.
Отличия: Центр, диаметр, предупреждение и урон хранятся и уходят клиенту; урон на кромке пока не считается.
/forceload add|remove|query ...Держать чанк в симуляции.
Отличия: Очередь подгрузки с диска отдельно не ведётся.
/locate biome|poi|structure <id>Найти биом, точку интереса или структуру.
Отличия: Биом: радиус 4096, шаг 32, высота — поверхность столбца. Структуры: деревни, аванпосты, заброшенные лагеря, пустынные пирамиды, джунглевые храмы, хижины, иглу, кораблекрушения, шахты, океанский монумент, крепость, лесной особняк, руины портала, океанские руины и камеры испытаний; остальные id — «не найдено». poi не создаёт чанки, радиус 256.
/fillbiome <from> <to> <biome>Заменить биом в области.
Отличия: Чанки должны быть загружены; клиенту уходит chunks_biomes; объём ограничен max_block_modifications.
/place template <id> <pos> [rotation] [mirror]Построить структуру из шаблона.
Отличия: Только template. Шаблоны берутся из data/minecraft/structure. Блоки ставятся как setblock replace, блочные сущности не заполняются. integrity и seed отвечают, что процессоров нет. feature, jigsaw, structure не объявлены.
Данные и scoreboard
Счёт, NBT и цепочки `execute`.
/scoreboard objectives add|remove|list|modify ...Управлять целями счёта.
Отличия: modify — displayname, rendertype и numberformat (blank, fixed, styled; голое слово сбрасывает формат). Формат цели уходит в set_objective.
/scoreboard players get|set|add|remove|reset|enable|display ...Управлять значениями счёта.
Отличия: display numberformat хранится на счёте и в set_score не пишется; enable открывает цель trigger.
/data get|merge|modify ...Читать и изменять NBT блока или сущности.
Отличия: Путь Foo.Bar[0], merge, modify set|merge|append|prepend|insert.
/execute ... run <command>Цепочка контекстов и выполнение команды.
Отличия: align, anchored, on, store в счёт и NBT блока или сущности; summon продолжает от новой сущности; if/unless — biome, blocks, data, loaded, items, slots, score matches; positioned over ставит Y по карте высот.
Администрирование
Права, баны, тик, сохранение и остановка.
/op <targets>Выдать или снять права оператора.
Отличия: ops.json ванили.
/kick <targets> [reason]Выгнать игрока.
Отличия: Причина попадает в ответ.
/whitelist add|remove|list|on|off|reloadУправлять белым списком.
Отличия: Включённый список проверяется при входе; оператор проходит.
/ban <targets> [reason]Баны по имени и IP.
Отличия: Имя и IP проверяются при входе.
/reloadПеречитать ops.json.
Отличия: Датапаков нет.
/tick query|rate|freeze|step|sprint ...Управлять тиком сервера.
Отличия: sprint ускоряет цикл.
/debug start|stopПрофиль тика.
Отличия: Пишет MSPT по тикам в debug/profile-*.txt, не spark.
/perf start|stopСнимок нагрузки и профиль.
/stopСохранить мир и выйти.
/versionВерсия сервера.
/save-all [flush]Управлять автосохранением.
Отличия: save-all просит автосейв вне расписания.
/publish [allowCommands] [gamemode] [port]Публикация в LAN.
Отличия: Только флаг, UPnP не трогаем.
/transfer <hostname> [port] [players]Переслать игрока на другой сервер.
Отличия: Клиенту уходит transfer, затем сессия закрывается.
/setidletimeout <minutes>Таймаут простоя.
Отличия: Нет игровых пакетов дольше N минут — сессия закрывается; 0 выключает таймаут.
/return <value>Выйти из функции.
Отличия: Функций нет: любая форма отвечает, что команда работает только внутри функции.
Расширения Chunkwake
Команды, которых нет в ванили.
/tpsСтрока TPS и MSPT.
Отличия: Расширение Chunkwake; формат рассчитан на chunkwake-lab.
/top [cpu|tick|mem|world|net]Снимок нагрузки.
Отличия: Расширение Chunkwake.
Указатель команд
Короткий список имён для поиска и перехода; описания и отличия — в карточках выше.
- Игрок и чат:
help,list,me,say,msg/tell/w,teammsg/tm,team,tellraw,title,playsound/stopsound,give,clear,effect,xp,gamemode/defaultgamemode,kill,tp/teleport,damage,rotate,spawnpoint,tag,swing,spectate,ride,trigger,random,bossbar,enchant,spreadplayers,stopwatch,posteffect,attribute,waypoint,dialog,particle,item,loot. - Мир и блоки:
setblock,fill,clone,summon,weather,gamerule,time,difficulty,seed,setworldspawn,worldborder,forceload,locate,fillbiome,place. - Данные и scoreboard:
scoreboard objectives,scoreboard players,data,execute. - Администрирование:
op/deop,kick,whitelist,ban/ban-ip/banlist/pardon/pardon-ip,reload,tick,debug,perf,stop,version,save-all/save-off/save-on,publish/unpublish,transfer,setidletimeout,return. - Расширения Chunkwake:
tps,top.
Уровни прав
Уровни ванильные. Оператор получает уровень 3, владелец сервера — 4.
| Уровень | Кто | В ванили |
|---|---|---|
| 0 | все | — |
| 2 | гейм-мастер | gamemasters |
| 3 | админ | admins |
| 4 | владелец сервера | owners |
Селекторы
Поддерживаются @s, @p, @r, @a, @e и имя игрока с аргументами:
@a[distance=..20,gamemode=creative]
@e[type=minecraft:cow,limit=5,sort=nearest,tag=farm]
@p[x=0,y=64,z=0,dx=10,dy=10,dz=10]
@a[name=Ali*,level=1..]Разбираются sort, limit, distance, dx/dy/dz, gamemode, name, tag, scores и rot. type= отличает моба от игрока.
Чего пока нет
advancement, compute, datapack, fetchprofile, function, jfr, recipe, schedule, test.
Часть из них требует подсистем, которых ещё нет: scoreboard в тике, загрузчик датапаков, генератор структур, рецепты для игрока. Тест commands_parity.rs сверяет дерево с ванильным 26.3 и падает, если этот список разойдётся с кодом.
Команды плагинов
Дерево выше — только ядро. Плагины добавляют свои команды динамически: клиент подсказывает литералы и аргументы из пакета commands, а на command_suggestion сервер отвечает именами команд плагинов и результатом TabComplete. Список дополняется, а не заменяется: пустой ответ не затирает дерево.
Консоль
В консоли работают те же команды, что и в чате, без /. chunkwake читает stdin построчно. stop завершает сервер, top печатает снимок нагрузки в лог.
Связанное
- Эксплуатация — служба, логи, бэкапы и Velocity.
- Наблюдаемость — дашборд,
/topи профиль тика. - Фич-матрица — что готово, что частично и чего нет.
- Исходная документация —
docs/commands.mdв репозитории.