Skip to content

Latest commit

 

History

History
202 lines (144 loc) · 6.49 KB

File metadata and controls

202 lines (144 loc) · 6.49 KB

Установка ScriptsLab

Быстрая установка

  1. Остановите сервер

    stop
  2. Замените JAR файл

    • Удалите старый plugins/ScriptsLab-1.0.0.jar (если есть)
    • Скопируйте новый target/ScriptsLab-1.0.0.jar в папку plugins/
  3. Запустите сервер

    start

Проверка установки

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

[ScriptsLab] ╔═══════════════════════════════════════╗
[ScriptsLab] ║         ScriptsLab v1.0.0             ║
[ScriptsLab] ║   Your Minecraft Scripting Lab        ║
[ScriptsLab] ╚═══════════════════════════════════════╝
[ScriptsLab] ✓ Core services initialized
[ScriptsLab] ✓ Commands registered
[ScriptsLab] ╔═══════════════════════════════════════╗
[ScriptsLab] ║   ScriptsLab - Ready!                 ║
[ScriptsLab] ╚═══════════════════════════════════════╝

Тестирование

1. Проверьте команды

В игре или консоли выполните:

/scriptslab info

Вы должны увидеть информацию о плагине.

2. Проверьте список модулей

/module list

3. Проверьте список скриптов

/script list

Структура папок

После первого запуска ScriptsLab создаст следующую структуру:

plugins/
└── ScriptsLab/
    ├── config.yml          # Основная конфигурация
    ├── messages.yml        # Сообщения плагина
    ├── scripts/            # Ваши JavaScript скрипты
    │   └── examples/       # Примеры скриптов
    ├── modules/            # Модули плагина
    │   └── demo/           # Демо-модуль
    └── data/               # Хранилище данных

Создание первого скрипта

  1. Создайте файл plugins/ScriptsLab/scripts/hello.js:
// Регистрируем команду
plugin.registerCommand('hello', function(sender, args) {
    sender.sendMessage('§aПривет, ' + sender.getName() + '!');
});

Console.log('Скрипт hello.js загружен!');
  1. Перезагрузите скрипты:
/script reload
  1. Используйте команду:
/hello

Исправление ошибок

Ошибка: "Console.log is not defined"

Решение: Обновите плагин до последней версии. В новой версии Console.log() работает корректно.

Ошибка: "Script engine not initialized"

Решение:

  1. Проверьте, что используете Java 17+
  2. Убедитесь, что в config.yml параметр scripts.enabled: true
  3. Перезапустите сервер

Предупреждение: "JVMCI is not enabled"

Это нормально! GraalVM работает в режиме интерпретатора. Для лучшей производительности можно:

  1. Установить GraalVM JDK
  2. Добавить флаг JVM: -XX:+EnableJVMCI

Но это не обязательно для работы плагина.

Конфигурация

config.yml

Основные настройки:

scripts:
  enabled: true              # Включить скриптовый движок
  auto-reload: true          # Автоматическая перезагрузка при изменении
  timeout: 5000              # Таймаут выполнения скрипта (мс)
  max-memory: 128            # Максимальная память на скрипт (МБ)

modules:
  auto-load: true            # Автозагрузка модулей
  enabled-modules:           # Список включённых модулей
    - demo

storage:
  provider: yaml             # Провайдер хранилища (yaml/json/sqlite)
  cache-enabled: true        # Включить кэширование

Обновление

Для обновления плагина:

  1. Остановите сервер
  2. Сделайте резервную копию папки plugins/ScriptsLab/
  3. Замените JAR файл
  4. Запустите сервер
  5. Проверьте логи на наличие ошибок

Удаление

Для полного удаления плагина:

  1. Остановите сервер
  2. Удалите plugins/ScriptsLab-1.0.0.jar
  3. Удалите папку plugins/ScriptsLab/ (если хотите удалить все данные)
  4. Запустите сервер

Поддержка

Требования

  • Сервер: Paper 1.20.4+ (или Purpur/Pufferfish)
  • Java: 17 или выше
  • RAM: Минимум 2GB рекомендуется
  • Диск: ~50MB для плагина + зависимостей

Совместимость

Совместимо с:

  • Paper 1.20.4+
  • Purpur 1.20.4+
  • Pufferfish 1.20.4+

Не совместимо с:

  • Spigot (используйте Paper)
  • CraftBukkit (используйте Paper)
  • Bukkit (используйте Paper)

Производительность

ScriptsLab оптимизирован для производительности:

  • Асинхронная загрузка скриптов
  • Кэширование данных
  • Ленивая загрузка модулей
  • Потокобезопасные операции

Типичное использование ресурсов:

  • Загрузка: ~3-5 секунд
  • Память: ~100-200MB (зависит от количества скриптов)
  • CPU: Минимальное влияние

Готово! Теперь вы можете использовать ScriptsLab! 🚀