[Sponge] Создание сервера на Sponge

Инструкция [Sponge] Создание сервера на Sponge

Поддерживаемые версии
1.12
1565258815053.png

Этот текст можно пропустить, если Вы знаете историю Sponge или она Вам не интересна.
О ядре Sponge стало известно еще в 2014 году. Тогда Bukkit "развалился", и большое количество разработчиков мира Minecraft объединились, чтобы начать работу над новым ядром - Sponge.

Sponge представляет из себя несколько различных API (основываясь на Spout и Flow API) внедренных в Minecraft Forge благодаря помощи сторонних разработчиков. К слову, их там много, и это отлично, ведь это весьма популярные разработчики заслужившие доверие.
В разработке участвовали:
  • Разработчик WorldEdit
  • Glowstone
  • Canary
  • Разработчик MCPE+ и Cauldron
  • Двое разработчиков из FML
  • Частично Spout, Flow, ForgeEssentials, FTB Team, команда Spigot и бывшие разработчики Bukkit
Весьма немаленький список, и главное, что это весьма известные лица.
Конечно, наверное почти каждый видел похожий текст на других форумах, но почему бы не написать здесь, от своего лица, и высказать свое мнение?

Как по мне, Sponge - это весьма интересная вещь, которую должен попробовать каждый. У ядра есть две версии - SpongeVanilla и SpongeForge. Весьма интересно, что Sponge можно установить в одиночную игру как мод, и теперь не придется запускать локальный сервер для игры с плагинами, ведь их можно установить в папку mods... Заманчиво, правда? Я всегда хотел попробовать плагины в одиночной игре, но времени на испытание этого нет.

Перед Spigot у Sponge есть преимущества:
  • Ядро деобфусцированно, а это значит что для таких банальных плагинов вроде "лежать и сидеть" не нужно часами копать NMS.
  • Мультипоточность.
  • API схоже с Bukkit API, и это значит что особого труда перейти на Sponge не нужно.
Однако, то, что раньше предлагали добавить использование других языков (Lua, Groovy и Scala) - либо являлось ложью, либо разработчики просто передумали:
  • Мы не будем поддерживать Bukkit плагины изначально.
  • Мы не будем отправлять Forge моды клиенту с сервера из-за соображений безопасности.
  • Мы не будем разрабатывать реализаций, использующие другие языки программирования, но мы призываем других сделать это. Наше внимание сосредоточено на Java.
Но все же, нельзя сказать что ядро абсолютно идеально. Да, разработчики быстро исправляют ошибки (это в их интересах), но дело скорее в сообществе. Оно меньше по сравнению с сообществом Bukkit API. На Bukkit можно увидеть большое количество разнообразных плагинов, начиная от самых полезных вроде CMI или Essentials, и заканчивая лютым бредом вроде Drugs плагина. Да одних только плагинов на баны в Bukkit огромное множество, чего не скажешь про Sponge, так как я плагина который более или менее подойдет мне найти не смог, и не все разработчики готовы работать "на два фронта" - Spigot и Sponge.

Установка
Я буду рассматривать установку SpongeForge на сервер.
Скачиваем Forge (Recommended) Installer (на данный момент версия ядра Sponge 1.12.2, выбирайте ее), выбираем в установщике "Install Server" и устанавливаем его в любую папку, в моем случае это spongeforge.
1565252969021.png
После установки, запускаем файл minecraft_server.jar, у нас появится окошко уведомляющее что все библиотеки загружены успешно, закрываем его.
Для начала, убедитесь что используете версию Forge которая подходит Вашему SpongeForge.
  1. Остановите сервер Forge, если он запущен.
  2. Загрузите SpongeForge с сайта Sponge
  3. Поместите SpongeForge.jar в папку mods.
  4. Запустите сервер (!) - как запускать сервер - далее
Никаких проблем не должно возникнуть.
SpongeForge 1.12.2 - скачать
Minecraft Forge 1.12.2 - скачать
Документация по Sponge - история, команда, и много чего интересного
Sponge Ore - база плагинов (как у нас spigotmc.org)

Запуск сервера
В зависимости от Вашей ОС создаем один из скриптов запуска в папке сервера:
Код:
java -Xms1G -Xmx2G -jar forge-1.12.2-XYZ-universal.jar
pause
Код:
#!/bin/bash
cd "$(dirname "$0")"
java -Xms1G -Xmx2G -jar forge-1.12.2-XYZ-universal.jar
Код:
#!/bin/sh
cd "$(dirname "$(readlink -fn "$0")")"
java -Xms1G -Xmx2G -jar forge-1.12.2-XYZ-universal.jar
Вместо XYZ - версия Forge.

Как проверить, запустился ли Sponge?
Используйте команду /sponge plugins
Результатом будет это:

1565254325374.png

1565259421246.png
Если же результатом будет "Неизвестная команда - используйте /help или /?", значит Вы сделали что-то неправильно или запустили сервер не через файл запуска (bat, command или sh).

Плагины
Как я уже раньше говорил, на Sponge гораздо меньше плагинов, и поэтому выбор не такой уж большой.
Основные плагины и рекомендации (подходит и для SpongeVanilla):

  • WorldEdit. Советую ставить WorldEdit в качестве мода (если используете SpongeForge), ну или тогда уж FAWE.
  • FlexibleLogin - авторизация
  • LuckPerms - права и обязанности
  • Nucleus - это как Essentials, только для Sponge
  • Total Economy - плагин на экономику
  • NanoChat - простой плагин на чат
  • Broadcast - аналог AutoMessages
  • Баны - всего три бан-плагина, но они какие-то "сырые" и имеют скудный функционал. Баны так же есть в Nucleus.
  • Holograms и HologramsPlus - голограммы. Являются одинаковыми плагинами, разве что, второй поддерживает некоторые плейсхолдеры.
  • PlaceholderAPI - плейсхолдеры
  • VirtualChest - аналог ChestCommands для Sponge
  • RedProtect и GriefPrevention - защита регионов
  • YYS-ScoreBoard - борды
  • Tab-Modifier - плагин на изменение ТАБов
  • Guardian AntiCheat и Negativity - античиты. Внимание! Guardian AntiCheat имеет состояние unstable, и большинство читов еще не детектятся (благо, хотя бы Fly и Speed не работают).
  • Mega-Menus - еще один плагин на меню, кажется, совсем непохожий на ChestCommand и ему подобные, можно не ставить

И для SpongeForge, и для SpongeVanilla плагины устанавливаются в папку mods! Не удивляйтесь, если после запуска сервера папка plugins не появится!
Не забудьте выключить online-mode в server.properties, если сервер не лицензионный.

Итог
Sponge имеет большие возможности для моддинга и написания плагинов, но к сожалению, при этом всем, всего лишь 361 проект на Sponge Ore. (08.08.2019)
Можно увидеть API для простого создания GUI меню (HuskiAPI), я видел плагин на чат с GUI (GUI Chat), и даже кажется плагин на управление сервером из браузера (Web API). Плагин на Emoji, синхронизация Discord чата с чатом игры, ASCII-эмоции и прочее, прочее, прочее. Но не нашел даже нормального плагина на такие банальные вещи вроде банов, маленькое количество плагинов на меню (вроде ChestCommands или DeluxeMenus), всего один нормальный плагин на права.
Переходить на Sponge или нет - решать каждому самостоятельно, но скорее всего, я сделал свой выбор в его сторону, и дело даже не в поддержке модов, нет. Я готов перейти на SpongeVanilla, где модификаций нет.

Если что-то не получилось, или появились вопросы
Если Вы строго выполняли инструкцию по установке Sponge API на сервер, но все равно ничего не выходит, обращайтесь в ЛС - я отправлю ссылку на DropBox готового сервера без плагинов и модов, т.к. на форум нельзя загружать большие файлы (RAR весил 78 МБ).
Если появились вопросы или Вы нашли недочеты, пишите в обсуждения ресурсов - обсудим.
Если Вы нашли баг в плагине или ядре, дюп, или какую-то критическую проблему - шлите автору плагина/разработчикам Sponge баг-репорт.
  • Мне нравится
Реакции: The_stas и LocalNubik
Автор
q20w26a
Просмотры
4,094
Первый выпуск
Обновление
Рейтинг
0.00 звезд Оценок: 0

Другие ресурсы пользователя q20w26a

Комнаты в чате

Верх Низ