Файл содержит bukkit или реализацию bukkit и не может быть загружен

Обновлено: 07.07.2024

В феврале 2012 года разработчики Bukkit официально влились в команду Mojang.

Позже команды разработчиков Spigot, Cauldron и Bukkit объединили усилия в новой универсальной серверной платформе

Содержание

Установка [ ]

Windows [ ]

  1. Скачиваем сервер, пусть данный пример будет на версии 1.12;
  2. Перемещаем jar-архив в папку для сервера
  3. Открываем блокнот или другой текстовый редактор
  4. Вписываем туда, подставив название скачанного jar файла. Например для версии 1.12 текст в блокноте будет выглядеть так:

или (для 64-битной Java)

или (для 32-битной Java)

  • Для 32-битной системы или 64-битной системы и 64-битной версии Java пишем это:
  • Для 64-битной системы и 32-битной версии Java пишем это:

Или создаём в любом месте скрипт для упрощения запуска:

  • Для 32-битной системы или 64-битной системы и 64-битной версии Java:
  • Для 64-битной системы и 32-битной версии Java:
  • Если не помогло, есть вариант:
  • Также, есть пользовательский скрипт:

Данный скрипт перезапускает сервер, если пользователь нажал на клавишу, а не закрыл консоль.

Linux [ ]

  1. Скачиваем сервер
  2. Перемещаем jar-архив в папку для сервера
  3. Сервер готов, для запуска переходим в папку сервера и отдаем команду java -Xincgc -Xmx1G -jar craftbukkit-<версия>.jar .

Желательно изменить опцию «-Xmx1G» в соответствии с количеством свободной оперативной памяти. Объём памяти должен быть больше 1 гигабайта, то есть не «-Xmx2G» или «-Xmx5600M»

При желании можно повесить эту команду на кнопку на панели или в меню:


Или создать в любом месте скрипт для упрощения запуска:

Скрипт нужно сделать исполняемым: chmod a+x start.sh и можно запускать командой sh start.sh .


Или даже прописать алиас, добавив где-нибудь в

После этого сервер можно будет запускать командой mcserver .


Возможно, Вы также захотите использовать init-скрипт для фоновой работы сервера.

Управление [ ]

В управлении и настройке сервер Bukkit во многом схож с чистым сервером, необходимая информация по этому может быть найдена здесь.

Bukkit предоставляет все те же команды, что и оригинальный сервер Minecraft, но также имеет и три собственные особые команды:


Что такое Spigot?

Это где Spigot вступает в игру. Spigot был разработан, чтобы сделать CraftBukkit быстрее и эффективнее. Он использует Bukkit API, поэтому все плагины, совместимые с Bukkit, совместимы со Spigot. Когда загрузка Bukkit была прервана, проект Spigot продолжал обновлять программное обеспечение, сделав его сейчас самым большим выбором для модифицированных серверов и единственным выбором для модифицированных 1.8 серверов.

Установка Windows

Spigot не имеет загрузки; он должен быть скомпилирован из источника. Команда Spigot автоматизирует это с помощью программы BuildTools. Вы можете скачать последнюю версию BuildTools здесь. Вам также понадобится Git для Windows. Убедитесь, что у вас установлена ​​последняя версия Java.

Создайте папку для размещения всех файлов вашего сервера и вставьте в нее флягу BuildTools:


Запустите установку Git для Windows и терпеливо дождитесь окончания индикатора выполнения.


Когда Git закончит установку, откройте меню «Пуск», и вы увидите новое приложение в папке с вашими программами. Запустите Git Bash, и вы увидите окно терминала. Если у вас есть опыт работы с терминалами Unix, вы должны знать, как его использовать. Если нет, процесс все равно прост. Просто перейдите в папку, в которую вы положили jar BuildTools, и запустите ее с помощью java -jar:

java -jar BuildTools.jar


Программа BuildTools теперь загрузит весь необходимый исходный код и автоматически скомпилирует jar-файлы сервера. Это может занять много времени. Когда он закончится, вы увидите командную строку и кучу файлов в папке, в которую вы положили банку BuildTools. Создайте новый текстовый документ, назовите его start.bat, щелкните его правой кнопкой мыши и выберите «Изменить». Он откроется в Блокноте и вставит этот скрипт в:

java -Xms512M -Xmx1024M -XX: MaxPermSize = 128M -jar spigot.jar
Пауза


Если вы используете этот сервер только для нескольких человек или для себя на одной и той же машине, 1 ГБ ОЗУ подойдет, но при желании вы можете изменить аргумент -Xmx на большее.

Сохраните скрипт и запустите его. Вы получите ошибку и программа закроется. Это нормально. При первом запуске spigot.jar по юридическим причинам он создаст файл EULA.txt. Откройте его, измените его с false на true и снова запустите start.bat. Чтобы проверить, работает ли сервер, откройте Minecraft и подключитесь к localhost:


Или, если вы хотите удалить кого-то,

Вам необходимо разрешение на использование множества внутриигровых команд, таких как передача предметов или переключение в творческий режим. Есть также плагины, которые могут дать пользователям разрешение на использование определенных команд.

Установка OS X и Linux

Установить Spigot на OS X и Linux еще проще. Убедитесь, что у вас установлена ​​последняя версия Java. В Linux используйте любой менеджер пакетов, который вам нужно установить, если у вас его еще нет:

sudo apt-get установить git

sudo yum установить git

Загрузите тот же jar BuildTools из установки Windows и поместите его в свою собственную папку.


На Mac откройте терминал, перейдите к этой папке и запустите его с

java -jar BuildTools.jar

Вы должны увидеть подсказку с просьбой установить инструменты разработчика командной строки.Нажмите «Установить» и дождитесь его завершения. Это установит инструменты, необходимые для запуска BuildTools. В Linux вам может потребоваться запустить

git config –global –unset core.autocrlf

прежде чем запустить банку. В противном случае установка должна пройти гладко, и вы можете запустить spigot.jar из командной строки с помощью java -jar или с помощью сценария запуска:

java -Xms512M -Xmx1024M -XX: MaxPermSize = 128M -jar spigot.jar

Перенаправление порта

Адрес, который вы даете своим друзьям, должен быть вашим публичным IP-адресом, за которым следует двоеточие и номер порта. Вы можете найти свой публичный IP-адрес в Интернете. Например, IP-адрес ваших друзей будет похож на

Установка плагинов

Вы можете получить плагины от Bukkit или SpigotMC. Многие из плагинов для 1.7, но большинство будет работать с 1.8. Установить плагин так же просто, как загрузить файл JAR и поместить его в папку плагинов. Затем вам нужно перезагрузить или перезапустить сервер, чтобы новый плагин включился.

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

  • LANBroadcaster открывает ваш сервер в локальной сети, поэтому друзья могут подключаться без ввода IP-адреса.
  • Multiverse позволяет вам иметь столько миров Minecraft, сколько вы хотите, а Multiverse Portals позволяет легко связать их вместе.
  • WorldEdit обеспечивает мощный контроль над местностью и строительством.
  • WorldGuard защищает ваши сборки от игроков и окружающей среды.

Каждый из этих плагинов имеет свой собственный синтаксис, который вы можете узнать, запустив/помогите в игре.

Bukkit - это простой API, который позволяет модифицировать многопользовательский режим Minecraft с помощью плагинов.

Версии

Версия Minecraft Ссылка для ссылки Spigot Дата выхода
1.10.2 Ссылка на сайт 2016-11-03
1,10 Ссылка на сайт 2016-06-26
1.9.4 Ссылка на сайт 2016-06-09
1.9.2 Ссылка на сайт 2016-03-30
1,9 Ссылка на сайт 2016-02-29
1.8.8 Ссылка на сайт 2015-07-28
1.8.7 Ссылка на сайт 2015-06-05
1.8.6 Ссылка на сайт 2015-05-25
1.8.5 Ссылка на сайт 2015-05-22
1.8.4 Ссылка на сайт 2015-04-17
1.8.3 Ссылка на сайт 2015-02-20
1,8 Ссылка на сайт 2014-09-02
1.7.10 Ссылка на сайт 2014-06-26
1.7.9 Ссылка на сайт 2014-04-14
1.7.8 - 2014-04-11
1.7.5 Ссылка на сайт 2014-02-26
1.7.2 Ссылка на сайт 2013-10-25
1.6.4 Ссылка на сайт 2013-09-19
1.6.2 Ссылка на сайт 2013-07-08
1.5.2 Ссылка на сайт 2013-05-02
1.5.1 Ссылка на сайт 2013-03-21
1.4.7 Ссылка на сайт 2013-01-09
1.4.6 - 2012-12-20

Создание плагина

Предпосылки

Добавление Буккита в зависимость

Самый простой способ добавить Bukkit API в ваш проект - загрузить Bukkit.jar непосредственно из репозитория Spigot и добавить его в путь к классу проекта. Устаревшие версии Bukkit можно найти в репозитории Bukkit .

Другой - добавить его как зависимость от Maven, добавив следующие строки в ваш pom.xml :

Основной класс

Основной класс плагина - это точка входа Bukkit для загрузки взаимодействия с вашим плагином. Это класс, который расширяет JavaPlugin и только один его экземпляр должен быть создан вашим плагином. По соглашению хорошо дать этому классу то же имя, что и ваш плагин.

Вот пример основного класса плагина для плагина «MyPlugin»:

Чтобы получить доступ к вашему экземпляру плагина из другого класса, вам нужно будет сохранить экземпляр класса MyPlugin, созданного Bukkit, чтобы он был доступен извне класса.

Затем, чтобы получить доступ к вашему основному классу из другого класса, просто используйте MyPlugin.getInstance()

Создание плагина.yml

Файл plugin.yml входит в корень вашего последнего файла jar и предоставляет важную информацию Bukkit для загрузки вашего плагина. Самый простой plugin.yml выглядит так

Например, с приведенным выше классом MyPlugin

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

Чтобы иметь возможность создавать сервер, вам нужно иметь палец или файл bukkit jar. Переосмыслите тему версий, чтобы выбрать свою банку

  1. Сначала создайте новую папку. В этой папке поместите файл бандажа / буккита.
  2. Щелкните правой кнопкой мыши в папке и выберите «Создать»> «Текстовый документ».
  3. Назовите новый файл start.bat, щелкните его правой кнопкой мыши и нажмите «Изменить».
  4. Добавьте следующий код:

Не забудьте изменить для jar, который вы загрузили, прежде чем начинать эти темы.

  1. Вы можете редактировать -Xms для изменения минимально допустимой ОЗУ (Ex: -Xms1024M = 1024MB, -Xms1G = 1GB). Вы также можете редактировать -Xmx для изменения максимально допустимой ОЗУ. Убедитесь, что максимальное значение больше минимального.
  2. Сохраните файл, закройте окно и запустите файл start.bat . Теперь ваш сервер должен быть открыт. Чтобы запустить сервер, вы должны принять лицензионное соглашение .
  3. Если вы согласны с EULA , откройте eula.txt change eula=false для eula=true Нажмите «Сохранить», а затем вы должны теперь запустить свой сервер.
  4. Чтобы подключиться к вашему серверу, запустите start.bat , откройте Minecraft, добавьте сервер и поместите localhost в качестве IP.

инструмент сборки

Что это?

BuildTools.jar - это решение для создания Bukkit, CraftBukkit, Spigot и Spigot-API. Все это делается на вашем компьютере! Необходимо несколько предварительных программ, но приведенные ниже инструкции помогут вам в том, что вам нужно сделать.

Предпосылки

Для использования BuildTools необходимы два приложения: Git и Java.

Windows

Чтобы BuildTools запускался в Windows, вам нужно будет установить Git. Для Windows он распространяется через git-scm, который можно скачать здесь . Установите его там, где вам нравится, он предоставит git bash, который будет использоваться для запуска баннера BuildTools. Просто продолжайте работать, когда запускаете установщик.

Джава

Загрузите JRE 8 отсюда и установите. Просто продолжайте работать, когда запускаете установщик.

Linux

Как git, так и Java, а также команды утилиты могут быть установлены с помощью одной команды через диспетчер пакетов.

Debian / Ubuntu: sudo apt-get install git openjdk-7-jre-headless tar

CentOS / RHEL: sudo dnf install git java-1.7.0-openjdk-devel tar

макинтош

Запуск BuildTools

Откройте ваш терминал, если вы находитесь в Linux, или git bash на Windows.

  1. Git bash можно найти на рабочем столе или в меню «Пуск» под названием «git bash». Также можно открыть его, щелкнув правой кнопкой мыши на чем угодно, так как теперь это элемент в вашем контекстном меню.

Перейдите туда, где вы загрузили BuildTools.jar, или воспользуйтесь способом командной строки, чтобы загрузить банку в ваш текущий каталог.

  1. В Windows вы можете либо использовать команду cd для изменения каталогов, либо щелкнуть правой кнопкой мыши пустое место в папке, где находится BuildTools.jar (не нажимайте на CreateTools.jar) и нажмите «git bash», который откроет его в вашем текущем каталоге.

Запустите BuildTools.jar с терминала (не дважды щелкните BuildTools.jar), выполнив следующие действия:

  1. В Linux запустите git config --global --unset core.autocrlf, затем запустите java -jar BuildTools.jar в bash или другой соответствующей оболочке.
  2. В Windows запустите следующую команду в открывшемся окне git bash: java -jar BuildTools.jar. Имейте в виду, что требуется, чтобы у вас были BuildTools № 35 или более поздние версии, более старые версии не будут работать.
  3. На Mac выполните приведенные ниже команды, экспортируйте MAVEN_OPTS = "- Xmx2G" java -Xmx2G -jar BuildTools.jar
  4. Если вам нужна более старая версия, вы можете указать версию с аргументом --rev для BuildTools, например, для 1.8.8: java -jar BuildTools.jar --rev 1.8.8

Подождите, как он строит ваши банки. Через несколько минут вы должны иметь свежую сборку банок!

Оптимизация сервера Minecraft

В нашем блоге мы уже рассказывали, как создать свой сервер Minecraft, однако с тех пор прошло 5 лет и многое поменялось. Делимся с вами актуальными способами создания и оптимизации серверной части столь популярной игры.

За свою 9-летнюю историю (если считать от даты релиза) Minecraft заработал потрясающее количество поклонников и хейтеров как среди обычных игроков, так и среди гиков. Простая концепция мира из кубиков превратилась из обычного развлечения в универсальную среду для общения и создания различных объектов из реального мира.

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

Но не будем дальше говорить о том, что именно игроки создают, а посмотрим на серверную часть приложения и осветим проблемы (порой весьма сложные), которые могут возникнуть в процессе работы под нагрузкой. Сразу оговоримся, что речь пойдет только о Java Edition.

Виды серверов

Самым простым вариантом является сервер, встроенный в клиент игры. Создали мир, нажали на одну кнопочку, и вот сервер стал доступен по локальной сети. Никакой серьезной нагрузки такой вариант выдержать не может, а поэтому мы не будем его даже рассматривать.

Vanilla

Компания Mojang Studios распространяет серверную часть игры в виде Java-приложения бесплатно на официальном сайте. Это позволяет создать свой собственный выделенный сервер и персональный мир, сделав его доступным для подключения из любой точки планеты. Для тех, кто делает это впервые, есть отличный туториал, доступный в соответствующей игровой Wiki.

У этого подхода есть один серьезный недостаток, а именно — отсутствие возможностей «из коробки» подключать плагины, расширяющие функционал сервера и позволяющие не только автоматизировать многие процессы, но и оптимизировать производительность. Кроме того, у официального сервера достаточно большое потребление оперативной памяти на каждого подключенного игрока.

Bukkit

Созданное энтузиастами на базе Vanilla-версии серверное приложение Bukkit значительно расширяло возможности игры за счет поддержки плагинов и модов (модификаций). Оно позволило не только добавлять в игровой процесс новые блоки, но и выполнять различные манипуляции, недоступные ванильному ПО. Что интересно, памяти это приложение требовало значительно меньше.

Установить Bukkit не составляет особого труда, соответствующая инструкция есть на ресурсе GamePedia. Но это не имеет смысла, так как с 2014 года команда Bukkit распалась, разработчики проекта стали сотрудниками Mojang Studios, а репозиторий заброшен. Таким образом, Bukkit фактически мертв, и имеет смысл обратить внимание на два следующих проекта.

SpigotMC

Для облегчения жизни разработчиков плагинов была необходимость в API для взаимодействия с игровым миром. Именно эту задачу и решили создатели Spigot, взяв за основу ядро Bukkit и переработав его для достижения лучшей надежности и производительности. Тем не менее, Git-репозиторий проекта был заблокирован в связи с Законом об авторском праве в цифровую эпоху (DMCA), и скачать оттуда исходники невозможно.

На текущий момент SpigotMC активно развивается и используется. Он поддерживает все плагины, созданные под Bukkit, однако с ним обратно не совместим. Чтобы обойти запрет DMCA Takedown, был придуман элегантный способ под названием BuildTools. Этот инструмент избавляет от необходимости дистрибуции скомпилированного приложения и позволяет пользователям выполнить компиляцию Spigot, CraftBukkit и Bukkit из исходного кода. Все это делает запрет DMCA бесполезным.

PaperMC

С совместимостью у PaperMC все прекрасно, так что написанные плагины под SpigotMC легко заработают и на PaperMC, но без официальной поддержки. Обратная совместимость со SpigotMC также присутствует. Теперь, когда мы перечислили различные варианты создания сервера, перейдем к тем проблемам производительности, которые могут возникать.

Проблемы и решения

Главное, что нужно понимать, — все, что касается обработки игрового мира будет обрабатываться только на одном вычислительном ядре физического сервера. Так что если вдруг у вас прекрасный сервер с десятком вычислительных ядер, то загружено будет только одно. Все остальные будут фактически простаивать. Такова уж архитектура приложения, и ничего вы с этим поделать не сможете. Так что при выборе сервера следует обращать внимание не на количество ядер, а на тактовую частоту. Чем она будет выше, тем лучше будет производительность.

Что касается вопроса об объеме оперативной памяти, тут следует исходить из следующих показателей:

  • планируемое количество игроков;
  • планируемое количество миров на сервере;
  • размер каждого мира.

Следует помнить, что Java-приложению всегда нужен запас по оперативной памяти. Если вы рассчитываете на потребление памяти в 8 гигабайт, то фактически надо иметь 12. Цифры условные, но суть от этого не меняется.

Для запуска серверной части рекомендуем воспользоваться флагами, указанными в статье Tuning the JVM – G1GC Garbage Collector Flags for Minecraft. Эта «черная магия» позволяет серверу грамотно настроить «сборщик мусора» и оптимизирует использование оперативной памяти. Не стоит выделять памяти больше, чем реально потребляет сервер при пиковом наплыве игроков.

Генерация карты блоков

Вы действительно считаете, что Луна существует, только когда вы на неё смотрите?

Альберт Эйнштейн

На сервере хранится глобальная карта мира, и если в ней еще нет сгенерированных блоков в точке появления игрового персонажа, то сервер их динамически генерирует и сохраняет у себя. Мало того, что это требует больших вычислительных ресурсов, так еще и постоянно увеличивает размер карты мира. На одном из старейших анархических серверов 2b2t (2builders2tools) размер карты уже превысил 8 Tb, а граница мира проходит на отметке в 30 млн блоков. С этим сервером связаны тысячи историй, и он заслуживает отдельной статьи серии статей.

Генерация мира вокруг одного игрока — не проблема. Генерация мира вокруг сотни игроков вызовет незначительные тормоза сервера на протяжении короткого времени, после чего нагрузка снизится. Генерация мира на дальность прорисовки клиента вокруг тысячи игроков уже способна «уронить» сервер и повыбрасывать с него всех клиентов по таймауту.

В серверном ПО имеется такое значение, как TPS (Ticks per Server — тактов в секунду). Штатно 1 такт равен 50 мс. (1 секунда реального мира равна 20 тактам игрового мира). Если обработка одного такта вырастет до 60 секунд — серверное приложение будет закрыто, выкинув всех игроков.

Выход — ограничить мир определенными координатами и выполнить предварительную генерацию блоков. Тем самым мы снимаем необходимость динамической генерации в процессе игры, и серверу будет достаточно прочитать уже существующую карту. Оба вопроса решаются одним-единственным плагином WorldBorder.

Проще всего задать границу мира в виде окружности относительно точки спауна (хотя можно ее сделать любой формы) одной командой:

Если игровой персонаж попытается пересечь границу, то будет отброшен на несколько блоков назад. Если это проделать несколько раз за ограниченное время, то нарушитель будет принудительно телепортирован на точку спауна. Предварительная генерация мира выполняется еще проще, командой:

Поскольку данное действие потенциально может затронуть игроков, находящихся на сервере, не забудьте подтвердить выполнение:

В общей сложности на то, чтобы сгенерировать мир радиусом в 5000 блоков (

40 млрд блоков) ушло примерно 2 часа на процессоре Intel® Xeon® Gold 6240. Поэтому, если хотите запустить прегенерацию большей карты, учитывайте, что этот процесс займет приличное количество времени, а TPS сервера будет серьезно снижено. Кроме того, помните, что даже радиус в 5000 блоков потребует примерно 2 Гб места на дисковом накопителе.

Несмотря на то, что крайняя версия плагина была разработана для Minecraft версии 1.14, опытным путем выяснено, что она прекрасно работает и на последующих версиях. Полный список команд с пояснениями доступен на форуме плагина.

Проблемные блоки

Разновидностей блоков в Minecraft великое множество. Однако мы бы хотели остановить внимание читателей на таком блоке, как TNT. Как следует из названия, этот блок представляет собой взрывчатку (примечание редакции — это игровой предмет виртуального мира и ничего с настоящими ВВ этот предмет не имеет). Его особенность такова, что в момент активации на него начинает действовать сила гравитации. Это заставляет сервер обсчитать все координаты, если в этот момент блок начинает падать.

Если блоков TNT несколько, то детонация одного блока вызывает детонацию и включение гравитации у соседних блоков, разбрасывая их во все стороны. Вся эта красивая механика на стороне сервера выглядит как множество операций по подсчету траектории каждого из блоков, а также взаимодействия с соседними блоками. Задача крайне ресурсоемкая, что легко может проверить каждый. Сгенерируйте и подорвите куб из блоков TNT, размером хотя бы 30x30x30. И если вы думали, что у вас хороший мощный игровой компьютер, то сильно заблуждались 😉


0-1 FPS на клиенте и 80% нагрузки на CPU

Подобный «эксперимент» на сервере с Intel® Xeon® Gold 6240 привел к серьезной «просадке» TPS и 80% нагрузке на CPU в течение всего времени детонации блоков. А следовательно, если кто-либо из игроков сможет проделать подобное, то проблема с производительностью затронет всех находящихся на сервере игроков.

Еще более жесткий вариант — Кристаллы Края. Если TNT все же взрывается последовательно, то Кристаллы Края детонируют все одновременно, что в теории может вообще остановить работу серверного приложения.

Избежать этого сценария можно, только полностью запретив использование данных блоков в игровом мире. Например, с помощью плагина WorldGuard. Обратите внимание, что сам по себе этот плагин не работает без другого плагина WorldEdit. Так что устанавливаете вначале WorldEdit, а затем WorldGuard.

Заключение

Грамотное управление игровым сервером — задача не из простых. Сложности и снижение производительности будут поджидать на каждом шагу, особенно если не брать в расчет саму механику игрового процесса. Предусмотреть все невозможно, ведь игроки порой бывают очень изобретательны в попытках заставить сервер выполнить то, для чего он не был предназначен. Только разумный баланс между рисками и устанавливаемыми ограничениями позволит серверу работать в непрерывном режиме и не снижать свою производительность до критичных значений.

На карантине некоторые наши сотрудники соскучились по любимым офисам и решили воссоздать их внутри Minecraft. У вас тоже есть шанс заглянуть к нам в гости, не рискуя своим здоровьем и не тратя время на дорогу.

Первый мой туториал, просто хочу донести инфу до людей которые хотят этим заниматься, но не знают где начать. Не судите строго.

Стоит отметить что навыки работы с серверами, так же как и опыт в программировании это очень хорошо и поможет вам в дальнейшем. Если нет, будет чуть сложнее это все понимать.

Писать наши плагины мы будем на Java, так что начать стоит с выбора среды разработки (IDE). Лично я начинал с Eclipse, потом перешел на IntelliJ IDEA. Просто качаем Eclipse и не паримся.

После запуска Eclipse предлагает нам создать рабочее пространство (workspace), размещаем где угодно, я оставлю как есть.


Ну, мы тут плагины писать собирались, так что давайте создадим наш проект. Снизу от Package Explorer нажимаем на Create a Java project.


Вписываем в Project name имя вашего плагина. Далее - Finish. Теперь у нас есть проект, уже что-то. Смотрим версию нашего сервера, я лично буду писать на 1.12.2, вы можете учиться на любой другой версии. Некоторые моменты в написании кода под разные версии отличаются.

Для теста наших плагинов нам нужен локальный сервер, идём качать ядро. Bukkit или Spigot - значения не имеет, нам просто плагины потестить. Тестовый сервер в особой настройке не нуждается, просто выдаём себе опку и радуемся жизни.

Возвращаемся в Eclipse. На данный момент мы можем просто писать на Java и не париться, но нам нужно писать плагины. Нам нужно подключить библиотеку, наше ядро сервера. Прожимаем Alt + Enter, видим вот это.


Add External JARs, выбираем наше ядро, Apply and Close.

Снова прожимаем Alt +Enter, Java Compiler, убираем галочку под JDK Compliance, и ставим Compieler Compliance Level на 1.8, это важно.


Всё, библиотеку мы подключили, теперь надо создать пакеты.

Пакеты в Java позволяют организовать классы логически в наборы. Кроме того, пакеты могут иметь вложенные пакеты ( можно создать пакет в пакете который в пакете, ы). ПКМ по src, new, Package. При названии пакета можете писать me.<ник>.<название плагина>


Далее нужно создать главный класс. Я не могу тут объяснять что такое классы в Java, советую почитать об этом либо сейчас, либо позже. Для создания класса в нашем пакете, ПКМ по пакету, new, Class. Название главного класса должно совпадать с Plugin name.


После этого вы должны увидеть примерно это.


Время писать код. В коде ниже мы наследуемся от класса JavaPlugin. Это значит что мы добавляем свой код, который будет отвечать за наш плагин.


Резонный вопрос: почему оно подчёркнуто? Все просто, мы не импортировали класс JavaPlugin. Если навести на ошибку, Eclipse предложит возможные варианты решения, первый из них, это и есть импорт.


Теперь наш код выглядит так:


name: Имя плагина
main: Главный класс
version: Версия

НЕ ИСПОЛЬЗУЙТЕ TAB

Для экспорта кликаем File, Export, Java, JAR File. Указываем путь для экспорта, можете ставить сразу папку с плагинами на локальном сервере, ну и кликаем Finish.



Это только начало, и я буду писать ещё статьи на эту тему, если это кому-то интересно.

Читайте также: