Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [MISC] TotalComputers v0.9.1b - компьютеры в ванильном Minecraft [1.8-1.19]

JNNGL

Активный участник
Баллы
61
Имя в Minecraft
jnngles
Total Computers - Плагин позволяет создавать компьютеры в ванильном Minecraft с собственной ОС
Версия: 0.10.2b + 0.11b-p2

С помощью этого плагина можно создавать компьютеры в ванильном Minecraft с собственной ОС и большим функционалом и возможностью создавать свои приложения.
Плагин сейчас находится в активной разработке/доработке


Дискорд сервер плагина: https://discord.gg/6fezjgfK7F

Некоторые особенности:
  • Собственная ОС
  • Поддержка VirtualBox (Можно запускать любую другую ОС =) Но установка довольно сложная)
  • Эмулятор NES
  • Эмулятор GBC
  • Поддержка аудио (Есть проигрыватель аудио)
  • Проигрыватель видео
  • Браузер (Много зависимостей, которые надо ставить через шелл)
  • Магазин приложений
  • Поддержка приложений OpenGL (3D и 2D графика с высокой производительностью, нужна видеокарта на сервере)
  • Поддержка приложений на C++ (бета)
  • Поддержка приложений CLI
  • Возможность создавать свои приложения
  • Простой и интуитивный UI
  • Некоторое базовое ПО (В будущем будет больше!)
Установка:
1. Нужна версия Java 16 или выше
2. Поместить файл .jar в папку plugins
3. Перезагрузить/запустить сервер

Использование аудио:
1. Нужно, чтобы порты 7255 и 7254 были свободны и открыты
2. Ввести /tcmp sound, перейти на сайт, нажать где-нибудь на странице пару раз

Создание компьютера:
1. Ввести /tcmp selection enable (чтобы включить выделение области)
2. Ввести /tcmp wand чтобы получить инструмент выделения области
3. Выбрать область для компьютера (первая точка - ЛКМ, вторая точка - ПКМ, вертикальная поверхность, ширина 4-16, высота 3-9, соотношение сторон 4:3-16:9)
4. Ввести /tcmp create <название> чтобы создать компьютер

Рецепты крафта:
Рецепт крафта можно создать или изменить в config.yml

Пример:
Код:
craft:
  row1: ODO
  row2: DSD
  row3: ODO
  ingredients:
 - D diamond
  - O obsidian
  - S nether-star

TotalOS SDK:
SDK позволяет создавать приложения для ОС. На дынный момент SDK активно развивается вместе с ОС и пока нет хороших примеров, с которых можно начать, так что если это интересно, я всегда могу помочь и ответить на вопросы (Discord: JNNGL#0940)

Зачем нужны компьютеры привязанные к клиенту?

  1. Решает практически все проблемы по типу "что-то не работает"
  2. Делают нагрузку на сервер очень маленькой (ведь всё запускается на клиенте)
  3. Использование некоторых приложений становится удобнее (VirtualBox GUI сильно удобнее чем настройка через шелл =)
  4. Игрок может использовать одну ОС на нескольких серверах
  5. Кто угодно может сделать свою ОС (или использовать ОС которую сделали другие) и использовать её на сервере (Никакой угрозы для сервера при этом не будет, ведь всё запускается у игрока на компьютере)

Настройка сервера для компьютеров привязанных к клиенту:
Для этого нужно чтобы на сервере был один свободных и открытый порт

Рекомендуемые настрйки в config.yml:
enable-server: true
server-ip: в большинстве случаев 0.0.0.0
server-port: любой свободных и открытый порт
enable-encryption: true (очень не рекомендуется ставить false, так как в таком случае не будет шифрования)
allow-serverbound-computers: На выбор. Для слабых серверов и серверов с большим количеством компьютеров рекомендую поставить false
allow-clientbound-computers: true
server-name: Что угодно. (Название сервера) Используется только для вывода в консоль игроку при подключении к серверу
client-download-link: Если у сервера есть собственный клиент (собственная ОС), нужно вставить сюда URL для скачивания
packet-debug false: (Савить true только с целью дебага, так как консоль будет забита пакетами)


Как привязвать компьютер к клиенту:
  1. Скачать клиент (Оригинальный клиент можно скачать тут)
  2. Сгенерировать токен: /tcmp token
  3. Запустить клиент и подключится к серверу (Нужно будет ввести IP сервера (не тот который в config.yml), порт (тот который в config.yml), и токен)
  4. Привязать компьютер к клиенту: /tcmp client bind <название компьютера>


Команды:
  • /tcmp help - помощь
  • /tcmp sound - получить ссылку для аудио
  • /tcmp create <название> - создаёт компьютер
  • /tcmp remove <название> - удаляет компьютер (Файлы остаются)
  • /tcmp list - список компьютеров
  • /tcmp data <название> - информация о компьютере
  • /tcmp selection <enable|disable|toggle|state> - управление выделением области: enable - включает выделение; disable - выключает выделение; toggle - переключает выделение; state - состояние выделения
  • /tcmp wand - даёт инструмент для выделения области
  • /tcmp paste <текст> - вставляет текст в ближайший компьютер, если на нём открыта клавиатура
  • /tcmp erase <all|кол-во символов> - стирает текст с ближайшего компьютера, если на нём открыта клавиатура; all - удаляет всё
  • /tcmp reload - перезагружает конфиг плагина и все компьютеры
  • /tcmp client bind <название компьютера> - привязывает компьютер к клиенту
  • /tcmp client unbind <название компьютера> - отвязывает компьютер от клиента
  • /tcmp client - инструкция по привязке компьютера к клиенту с ссылкой на скачивание клиента (client-download-link в config.yml)
  • /tcmp token - генерирует токен
  • /tcmp token reset - отключает клиент подключённый по этому токену и генерирует новый токен

Права:
  • totalcomputers.plugin.manage - позволяет игроку менять и перезагружать конфигурацию плагина
  • totalcomputers.command.totalcomputers - даёт доступ к /tcmp (не ко всем командам)
  • totalcomputers.manage.all - даёт доступ к изменению любого компьютера
  • totalcomputers.manage.crafted - даёт доступ к управлению компьютерам, которые создал игрок
  • totalcomputers.selection - позволяет игроку выделять область
  • totalcomputers.use - позволяет игроку использовать компьютеры
  • totalcomputers.admin - позволяет игроку использовать компьютеры как администратор

Поддержка:
Если возникли какие-либо вопросы/проблемы, я с радостью помогу в дискорд сервере плагина (https://discord.gg/6fezjgfK7F). Там же будут выходить последние сборки, обновления, уведомления о выходе новых приложений и прочее.

Скачать: https://github.com/JNNGL/TotalComputers/releases
Исходный код: https://github.com/JNNGL/TotalComputers

Лог изменений:
Версия 0.9.2b5
  • Исправлены баги
  • Улучшен логгинг ошибок
Версия 0.9.2b
  • Добавлен синий экран смерти
  • Добавлен дизеринг обоев
  • Добавлено приложение настроек
  • Исправлены некоторые баги
  • Небольшие изменения в SDK
Версия 0.9.1b
  • Добавлен звук
  • Исправлены некоторые баги
  • Добавлен проигрыватель видео
  • Добавлен видеоплеер
  • Изменения в SDK
Версия 0.9b
  • Мотыга заменена на палку (/tcmp wand)
  • Изменены права
  • Добавлена возможность создания рецепта крафта
  • Теперь каждый игрок может управлять своими компьютерами
  • Добавлена возможность менять частоту обновления экрана (delay-ticks в config.yml; чем меньше - тем частота больше)
  • MapRenderer заменён на пакеты
  • Добавлены команды /tcmp paste и /tcmp erase
  • Добавлен захват движения
  • Улучшена производительность (Во много раз)
  • Добавлено кеширование цветов карт
  • Изменения в SDK
 

Вложения:

  • b-spigot-mc..png
    b-spigot-mc..png
    Размер файла
    273 КБ
    Просмотров
    34
  • m1.png
    m1.png
    Размер файла
    360,9 КБ
    Просмотров
    30
  • screenshot.png
    screenshot.png
    Размер файла
    262,6 КБ
    Просмотров
    27
  • wnds.png
    wnds.png
    Размер файла
    186 КБ
    Просмотров
    28
  • zelda.png
    zelda.png
    Размер файла
    214,9 КБ
    Просмотров
    33
Последнее редактирование:
Изображение - пакеты PacketPlayOutMap с последовательностью байт, преобразованных из цветов BufferedImage, содержащего изображение ОС; ввод - пакеты, действия и трассировка лучей; аудио - небольшой сайт, запущенный на порту 7254
=)
 
Думаю ещё получилось бы реализовать управление колёсиком мыши с помощью прослушивания изменения активного слота в хотбаре.
 
Последнее редактирование:

Поделиться этой страницей

Назад
Верх