

Много раз слышал от юзеров, что Spigot использует BuildTools, чтобы ядро собиралось под конкретную ОС, обеспечивая совместимость с системой, на которой запускается сервер Minecraft.
На самом деле это полный бред, и если вам кто-то такое говорит — смело плюньте ему в пупса (или прямо в монитор), потому что он несёт чушь, наслушавшись горе-админов.
Почему SpigotMC использует BuildTools?
Всё дело в том, что в Mojang сидит пупс, который когда-то увидел, что сообщество делает серверное ядро на основе их кода, и знатно пригорел. Вместо того чтобы порадоваться, что Minecraft получает мощные инструменты для серверов, он начал завидовать и искать способы, как бы всё это прикрыть.В итоге Mojang прибрала к рукам Bukkit, а потом внезапно "вспомнила", что разрабатываемый на его основе CraftBukkit принадлежит им. А значит, распространять его просто так нельзя. Запретить писать код они, конечно, не могли, но вот выкладывать готовый JAR-файл — вполне.
Тогда в SpigotMC нашли обходной путь. Вместо того чтобы давать готовое ядро, они сделали BuildTools — скрипт, который скачивает исходники, подгружает зависимости и собирает сервер прямо у пользователя. Юридически это уже не распространение, а "самосбор", так что Mojang может только смотреть на это с завистью и сосать лапу.
Почему Paper и его форки могут выкладывать готовые ядра, и почему Mojang их не трогает?
Если Spigot вынужден выкручиваться с BuildTools, потому что ему нельзя раздавать готовые JAR-файлы, то почему Paper и его форки спокойно их раздают и не получают страйки от Mojang?Всё дело в том, что именно они распространяют.
Spigot раздавать готовые сборки не может, потому что в нём находится код CraftBukkit, который принадлежит Mojang. Если бы они просто выложили JAR-ник, то Mojang могла бы спокойно дать им DMCA и прикрыть лавочку.
Paper и его форки действуют хитрее. Они не распространяют CraftBukkit/Spigot, а лишь выкладывают уже собранный сервер, который технически является модификацией Spigot.
Как это работает?
- Paper и форки используют патч-систему. Они не выкладывают весь код Spigot, а берут его за основу и вносят изменения.
- Юридически это не считается распространением кода Mojang, потому что Paper не раздаёт оригинальные исходники CraftBukkit/Spigot.
- Когда ты скачиваешь Paper, ты на самом деле получаешь готовый JAR-файл, в который уже внесены патчи. Это не "чистый Spigot", а его модификация.