WikiReference

Права доступа ScriptsLab


🔐 Права доступа ScriptsLab

Полное руководство по системе разрешений (permissions) плагина ScriptsLab.


Обзор системы прав

ScriptsLab использует стандартную систему прав Bukkit/Paper. Права определяют, какие команды и функции доступны игрокам.

Где хранятся права?

  • LuckPerms: plugins/LuckPerms/expressions/
  • PermissionsEx: plugins/PermissionsEx/permissions.yml
  • Vault (с другими провайдерами): зависит от провайдера

Список прав ScriptsLab

Основные права

ПравоОписаниеПо умолчанию
scriptslab.useИспользовать базовые командыtrue (все)
scriptslab.reloadПерезагружать плагинop
scriptslab.moduleУправлять модулямиop
scriptslab.scriptУправлять скриптамиop
scriptslab.adminПолный админ-доступop

Группы прав

ПравоОписание
scriptslab.*Все права ScriptsLab

Настройка прав

Через plugin.yml

Права автоматически регистрируются через plugin.yml:

permissions:
  scriptslab.*:
    description: All ScriptsLab permissions
    children:
      scriptslab.use: true
      scriptslab.reload: true
      scriptslab.module: true
      scriptslab.script: true
      scriptslab.admin: true

  scriptslab.use:
    description: Use basic ScriptsLab commands
    default: true

  scriptslab.reload:
    description: Reload the plugin
    default: op

  scriptslab.module:
    description: Manage modules
    default: op

  scriptslab.script:
    description: Manage scripts
    default: op

  scriptslab.admin:
    description: Full administrative access
    default: op

Значения по умолчанию

ЗначениеОписаниеДоступ
trueРазрешено всемВсе игроки
opТолько для OPОператоры сервера
falseЗапрещено всемНикто

Настройка прав для скриптов

Пример: Права для команд

При создании команды в скрипте можно указать право:

Commands.register('heal', function(sender, args) {
    sender.setHealth(sender.getMaxHealth());
    sender.sendMessage('§aВы исцелены!');
}, 'scriptslab.heal');  // Право для команды

Регистрация прав в скрипте

Права для своих команд добавляйте в permissions.yml:

# PermissionsEx example
groups:
  player:
    permissions:
      - scriptslab.use
      - scriptslab.heal      # Команда /heal
      - scriptslab.fly       # Команда /fly
      
  vip:
    permissions:
      - scriptslab.use
      - scriptslab.heal
      - scriptslab.fly
      - scriptslab.getlightningsword
      
  admin:
    permissions:
      - scriptslab.*

Настройка с LuckPerms

Создание групп

# Создать группу VIP
lp creategroup vip

# Добавить право
lp group vip permission set scriptslab.fly true

# Добавить наследование
lp group vip parent add player

Настройка игрока

# Дать право игроку
lp user NickName permission set scriptslab.admin true

# Добавить в группу
lp user NickName parent set vip

Пример конфигурации LuckPerms

# luckperms/groups.yml
groups:
  default:
    weight: 0
    permissions:
      - scriptslab.use
      - bukkit.command.help
      - bukkit.command.list
      
  player:
    weight: 10
    inheritance:
      - default
    permissions:
      - scriptslab.heal
      - scriptslab.fly
      
  vip:
    weight: 20
    inheritance:
      - player
    permissions:
      - scriptslab.getlightningsword
      
  moder:
    weight: 50
    inheritance:
      - player
    permissions:
      - scriptslab.module
      - scriptslab.script
      
  admin:
    weight: 100
    inheritance:
      - moder
    permissions:
      - scriptslab.*
      - bukkit.command.*

Настройка с PermissionsEx

Пример permissions.yml

groups:
  Default:
    default: true
    permissions:
      - scriptslab.use
      - bukkit.command.help
      
  Player:
    prefix: '&7[Игрок]'
    permissions:
      - scriptslab.heal
      - scriptslab.fly
      
  VIP:
    prefix: '&6[VIP]'
    inheritance:
      - Player
    permissions:
      - scriptslab.getlightningsword
      
  Moderator:
    prefix: '&c[Модер]'
    permissions:
      - scriptslab.module
      - scriptslab.script
      
  Admin:
    prefix: '&4[Админ]'
    permissions:
      - scriptslab.*
      
users:
  Никнейм:
    group: Admin

Права для кастомных команд

Список стандартных прав

КомандаПравоОписание
/healscriptslab.healВосстановить здоровье
/flyscriptslab.flyВключить полёт
/getlightningswordscriptslab.getlightningswordПолучить меч
/spawnscriptslab.spawnТелепорт на спавн
/warpscriptslab.warpТелепорт на варп

Добавление своих прав

При регистрации команды:

Commands.register('mycommand', function(sender, args) {
    // код команды
}, 'myplugin.mycommand');  // право

Затем добавьте право в ваш плагин прав:

# Пример для LuckPerms
lp group player permission set myplugin.mycommand true

Права для событий

Автоматические права

Некоторые события могут требовать права:

// Команда heal проверяет право scriptslab.heal
Commands.register('heal', function(sender, args) {
    // код
}, 'scriptslab.heal');

Ручная проверка прав

Commands.register('adminonly', function(sender, args) {
    if (!sender.hasPermission('myplugin.admin')) {
        sender.sendMessage('§cНет прав!');
        return;
    }
    // код для админов
});

Troubleshooting

Игрок не получает право

Проверьте:

  1. Право существует: Убедитесь, что право зарегистрировано
  2. Перезагрузка: Выполните /luckperms reload или перезапустите сервер
  3. Приоритет: Проверьте вес группы
  4. Кэш: Очистите кэш прав

Право не работает

  1. Проверьте, пр��вильно ли оно написано
  2. Убедитесь, что группа/игрок имеет это право
  3. Перезагрузите систему прав

Конфликт прав

Если права конфликтуют:

# Удалите старое право
lp user NickName permission unset old.permission

# Или измените приоритет
lp user NickName permission set new.permission context=server=lobby

Примеры конфигураций

Простой сервер

# permissions.yml
groups:
  default:
    permissions:
      - scriptslab.use
      
  vip:
    permissions:
      - scriptslab.use
      - scriptslab.heal
      - scriptslab.fly
      
  admin:
    permissions:
      - scriptslab.*

Сервер с магазином

groups:
  default:
    permissions:
      - scriptslab.use
      - scriptslab.heal
      
  premium:
    permissions:
      - scriptslab.use
      - scriptslab.heal
      - scriptslab.fly
      - scriptslab.getlightningsword
      
  donator:
    permissions:
      - scriptslab.use
      - all_shop_commands
      
  admin:
    permissions:
      - scriptslab.*

Следующие шаги

ШагОписание
Script APIAPI для создания команд
ПримерыПримеры команд
troubleshootingРешение проблем

Поддержка


🔐 ScriptsLab Permissions (English)

Complete guide to ScriptsLab permission system.


Permission System Overview

ScriptsLab uses the standard Bukkit/Paper permission system. Permissions determine which commands and functions are available to players.

Where are permissions stored?

  • LuckPerms: plugins/LuckPerms/expressions/
  • PermissionsEx: plugins/PermissionsEx/permissions.yml
  • Vault (with other providers): depends on provider

ScriptsLab Permission List

Core Permissions

PermissionDescriptionDefault
scriptslab.useUse basic commandstrue (everyone)
scriptslab.reloadReload pluginop
scriptslab.moduleManage modulesop
scriptslab.scriptManage scriptsop
scriptslab.adminFull admin accessop

Permission Groups

PermissionDescription
scriptslab.*All ScriptsLab permissions

Permission Setup

Via plugin.yml

Permissions are automatically registered via plugin.yml:

permissions:
  scriptslab.*:
    description: All ScriptsLab permissions
    children:
      scriptslab.use: true
      scriptslab.reload: true
      scriptslab.module: true
      scriptslab.script: true
      scriptslab.admin: true

  scriptslab.use:
    description: Use basic ScriptsLab commands
    default: true

  scriptslab.reload:
    description: Reload the plugin
    default: op

  scriptslab.module:
    description: Manage modules
    default: op

  scriptslab.script:
    description: Manage scripts
    default: op

  scriptslab.admin:
    description: Full administrative access
    default: op

Default Values

ValueDescriptionAccess
trueAllowed to everyoneAll players
opOnly for OPServer operators
falseDenied to everyoneNo one

Setting Up Permissions for Scripts

Example: Permissions for Commands

When creating a command in a script, you can specify a permission:

Commands.register('heal', function(sender, args) {
    sender.setHealth(sender.getMaxHealth());
    sender.sendMessage('§aYou have been healed!');
}, 'scriptslab.heal');  // Permission for command

Registering Permissions in Script

Add permissions for your commands to permissions.yml:

# PermissionsEx example
groups:
  player:
    permissions:
      - scriptslab.use
      - scriptslab.heal      # /heal command
      - scriptslab.fly       # /fly command
      
  vip:
    permissions:
      - scriptslab.use
      - scriptslab.heal
      - scriptslab.fly
      - scriptslab.getlightningsword
      
  admin:
    permissions:
      - scriptslab.*

Setting Up with LuckPerms

Creating Groups

# Create VIP group
lp creategroup vip

# Add permission
lp group vip permission set scriptslab.fly true

# Add inheritance
lp group vip parent add player

Setting Up Player

# Give permission to player
lp user NickName permission set scriptslab.admin true

# Add to group
lp user NickName parent set vip

LuckPerms Configuration Example

# luckperms/groups.yml
groups:
  default:
    weight: 0
    permissions:
      - scriptslab.use
      - bukkit.command.help
      - bukkit.command.list
      
  player:
    weight: 10
    inheritance:
      - default
    permissions:
      - scriptslab.heal
      - scriptslab.fly
      
  vip:
    weight: 20
    inheritance:
      - player
    permissions:
      - scriptslab.getlightningsword
      
  moder:
    weight: 50
    inheritance:
      - player
    permissions:
      - scriptslab.module
      - scriptslab.script
      
  admin:
    weight: 100
    inheritance:
      - moder
    permissions:
      - scriptslab.*
      - bukkit.command.*

Setting Up with PermissionsEx

Example permissions.yml

groups:
  Default:
    default: true
    permissions:
      - scriptslab.use
      - bukkit.command.help
      
  Player:
    prefix: '&7[Player]'
    permissions:
      - scriptslab.heal
      - scriptslab.fly
      
  VIP:
    prefix: '&6[VIP]'
    inheritance:
      - Player
    permissions:
      - scriptslab.getlightningsword
      
  Moderator:
    prefix: '&c[Mod]'
    permissions:
      - scriptslab.module
      - scriptslab.script
      
  Admin:
    prefix: '&4[Admin]'
    permissions:
      - scriptslab.*
       
users:
  NickName:
    group: Admin

Permissions for Custom Commands

Standard Permission List

CommandPermissionDescription
/healscriptslab.healRestore health
/flyscriptslab.flyToggle flight
/getlightningswordscriptslab.getlightningswordGet sword
/spawnscriptslab.spawnTeleport to spawn
/warpscriptslab.warpTeleport to warp

Adding Your Own Permissions

When registering a command:

Commands.register('mycommand', function(sender, args) {
    // command code
}, 'myplugin.mycommand');  // permission

Then add the permission to your permission plugin:

# Example for LuckPerms
lp group player permission set myplugin.mycommand true

Permissions for Events

Automatic Permissions

Some events may require permissions:

// heal command checks scriptslab.heal permission
Commands.register('heal', function(sender, args) {
    // code
}, 'scriptslab.heal');

Manual Permission Check

Commands.register('adminonly', function(sender, args) {
    if (!sender.hasPermission('myplugin.admin')) {
        sender.sendMessage('§cNo permission!');
        return;
    }
    // code for admins
});

Troubleshooting

Player Not Getting Permission

Check:

  1. Permission exists: Make sure the permission is registered
  2. Reload: Run /luckperms reload or restart server
  3. Priority: Check group weight
  4. Cache: Clear permission cache

Permission Not Working

  1. Check if it's spelled correctly
  2. Make sure the group/player has the permission
  3. Reload the permission system

Permission Conflict

If permissions conflict:

# Remove old permission
lp user NickName permission unset old.permission

# Or change priority
lp user NickName permission set new.permission context=server=lobby

Configuration Examples

Simple Server

# permissions.yml
groups:
  default:
    permissions:
      - scriptslab.use
      
  vip:
    permissions:
      - scriptslab.use
      - scriptslab.heal
      - scriptslab.fly
      
  admin:
    permissions:
      - scriptslab.*

Server with Shop

groups:
  default:
    permissions:
      - scriptslab.use
      - scriptslab.heal
      
  premium:
    permissions:
      - scriptslab.use
      - scriptslab.heal
      - scriptslab.fly
      - scriptslab.getlightningsword
      
  donator:
    permissions:
      - scriptslab.use
      - all_shop_commands
      
  admin:
    permissions:
      - scriptslab.*

Next Steps

StepDescription
Script APIAPI for creating commands
ExamplesCommand examples
TroubleshootingProblem solving

Support


Last updated Apr 29, 2026, 6:40 AM
Edit