Переход на Sponge

Статьи в этом разделе призваны помочь владельцам уже существующих серверов перейти с других серверных платформ на Sponge.

Предупреждение

Создайте резервную копию файлов вашего сервера перед переходом. В случае, если что-то пойдёт не так, у вас будет резервная копия!

Переход на Sponge

Для перехода на SpongeForge или SpongeVanilla обратите внимание на разделы ниже. Большинство инструкций одинаковы для обеих реализаций, различия указываются ниже.

Переход с CraftBukkit или Spigot

Примечание

Spigot — модифицированное ответвление CraftBukkit.

Миры

Forge и SpongeForge (а также SpongeVanilla) используют ту же структуру мира, что и обычный Minecraft — измерения Незера (как правило world_nether) и Энда (как правило world_the_end) размещаются внутри папки world. Однако Bukkit и Spigot не используют эту систему хранения миров, поэтому необходима процедура перехода (миграции).

SpongeForge и SpongeVanilla обеспечивают полностью автоматизированный процесс по преобразованию миров. Вот как это работает:

  1. Остановите работу вашего сервера Bukkit или Spigot, после чего создайте резервную копию всех папок.
  2. Установите SpongeForge или SpongeVanilla в папку, где вы запускали старый сервер, удалите jar-файлы Bukkit или Spigot. Если вы не знаете, как правильно установить SpongeForge или SpongeVanilla, прочтите здесь.
  3. Запустите сервер Sponge, и программа перехода будет запущена автоматически.
  4. Программа перехода будет определять папки миров для переноса в параметре world-container файла bukkit.yml. Если этого файла нет (или что-то привело к сбою чтения файла), тогда перенос будет осуществляться из root папки сервера (которая является стандартной для CraftBukkit).
  5. Теперь совершается переход. На данный момент миры копируются из того, что мы называем world-container в папку, определённую в файле server.properties опцией level-name. Обратите внимание, что файлы, определённые в world-container, останутся неизменными, копирование производится во время миграции.
  6. Bukkit помещает вещи в странные места (со странными именами), поэтому необходимо применить два важных исправления. Запомните, что эти исправления основаны на предположениях (ввиду структуры Bukkit).
    • Первое исправление применяется для переименования всех папок, имя которых начинается со значения параметра level-name и заканчивается названием измерения (_nether/_the_end), на DIM-1 и DIM1 соответственно.
    • Второе исправление предназначено для перемещения данных region из nether/the_end. Bukkit размещает эти данные в DIM-1\region и DIM1\region, в то время как Vanilla/Forge помещает region в корень структуры папок миров.

Программа перехода не может предоставить все необходимые значения конфигурации. Именно поэтому необходимо некоторые из них изменить вручную, чтобы обеспечить правильную работу мира при загрузке его на SpongeForge или SpongeVanilla. Настоятельно рекомендуется использовать World Management Plugin для установки правильных параметров и загрузки мира.

Примечание

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

Если всё прошло успешно, выходные данные, созданные инструментом перехода, должны выглядеть так:

[17:32:29] [Server thread/INFO] [Sponge]: Checking for worlds that need to be migrated...
[17:32:29] [Server thread/INFO] [Sponge]: Migrating [world_lol] from [.].
[17:32:29] [Server thread/INFO] [Sponge]: Migrated world [world_lol] from [.] to [.\world\world_lol]
[17:32:29] [Server thread/INFO] [Sponge]: Migrating [world_nether] from [.].
[17:32:29] [Server thread/INFO] [Sponge]: Migrated world [world_nether] from [.] to [.\world\DIM-1]
[17:32:29] [Server thread/INFO] [Sponge]: Migrating [world_the_end] from [.].
[17:32:29] [Server thread/INFO] [Sponge]: Migrated world [world_the_end] from [.] to [.\world\DIM1]
[17:32:29] [Server thread/INFO] [Sponge]: [3] worlds have been migrated back to Vanilla's format.

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

Файлы конфигурации сервера и мира

CraftBukkit и Sponge используют файлы, созданные «ванильным» сервером Minecraft. Таким образом, эти файлы можно повторно использовать в Sponge, если они уже использовались CraftBukkit’ом. Список данных файлов:

  • server.properties
  • banned-ips.json
  • banned-players.json
  • ops.json
  • usercache.json
  • whitelist.json

Также есть файлы, которые использует только CraftBukkit. Их можно спокойно удалить, так как Sponge они не нужны:

  • bukkit.yml
  • commands.yml
  • help.yml
  • permissions.yml

Пользователи, переходящие со Spigot, возможно захотят сравнить spigot.yml с global.conf из Sponge. Некоторые параметры в spigot.yml имеют аналоги в global.conf, и вы, если хотите, можете перенести значения присутствующих в обоих файлах параметров.

Плагины

Sponge не имеет встроенной поддержки Bukkit-плагинов. Однако, некоторые участники сообщества переделывают API Bukkit в специальный плагин для Sponge. Это позволит Bukkit-плагинам функционировать на сервере Sponge, но его релиз ещё не намечен.

Ore — это официальный репозиторий Sponge для поиска плагинов. Рекомендуем скачивать все Sponge-плагины из Ore. При поиске замены для Bukkit-плагинов имейте ввиду:

  • Не все разработчики с Bukkit’а переносят свои плагины на Sponge. Однако, со временем, кто-то другой сможет создать подходящую замену.
  • Не все переносимые на Sponge плагины будут автоматически конвертировать конфигурационные файлы. Разработчики плагинов принимают решение об автоматической конвертации конфигурационных файлов индивидуально.
  • Функционал некоторых плагинов, перенесённых с Bukkit, может измениться, даже их структура конфигурации может стать другой.

Переход с Canary

Миры

Forge, а следовательно и SpongeForge (SpongeVanilla), используют структуру мира обычного Minecraft. В этой структуре измерения Незер (обычно world_nether) и Энд (обычно world_the_end) размещаются внутри папки world.

Canary изменяет местоположение измерений Nether и End на местоположение вне папки world. Это следует устранить, если желаете сохранить измерения Nether и End при работе Sponge. Хорошо, что Canary предоставляет простой способ преобразовать миры в структуру, которую использует Sponge, с помощью команды /makevanilla. Результат будет находиться в папке vanilla, если преобразование пройдет успешно.

Файлы конфигурации сервера и мира

Sponge использует много файлов, созданных «ванильным» сервером Minecraft, например, server.properties. Однако, Canary использует только один файл, созданный «ванильным» сервером Minecraft, этот файл — usercache.json. Следовательно, только usercache.json может быть повторно использован в Sponge.

Тем не менее, возможно вручную перенести некоторые файлы конфигурации Canary к их аналогам в Sponge. Список аналогов предоставлен ниже.

Файл(ы) Canary Аналог(и) на Sponge
server.cfg <world>_<dimension>.cfg server.properties
<world>_<dimension>.cfg global.conf <dimension>/dimension.conf
ops.cfg ops.json
db.cfg Нет аналога
motd.txt Нет аналога

Плагины

SpongeVanilla и SpongeForge не имеют встроенной поддержки Canary-плагинов. Это возможно, если переделать API Canary в специальный плагин для Sponge.

Ore это официальный репозиторий Sponge для поиска плагинов, рекомендуем скачивать все плагины для Sponge оттуда. При поиске замены плагинов для Canary имейте ввиду:

  • Не все разработчики Canary переносят свои плагины на Sponge. Однако, со временем, кто-нибудь другой может создать подходящую замену.
  • Не все Sponge-плагины, что переносятся с Canary, будут автоматически конвертировать конфигурационные файлы. Индивидуальные разработчики плагинов принимают решение, следует ли автоматически конвертировать конфигурационные файлы.
  • В некоторых Sponge-плагинах, перенесенных с Canary, может измениться функционал, или они даже могут использовать не ту структуру конфигурации.

Переход с Forge

Переход с простого сервера Forge на SpongeForge или SpongeVanilla — довольно простой процесс, который почти не требует подготовки.

Переход на SpongeForge

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

Когда будете готовы установить SpongeForge, можете приступать делать следующие шаги:

  1. Остановите сервер Forge, если он запущен.
  2. Загрузите SpongeForge с сайта Sponge и Forge с сайта Minecraft Forge.
  3. Поместите SpongeForge.jar в папку mods.
  4. Запустите сервер и получайте удовольствие!

Примечание

Если SpongeForge — единственная модификация на Вашем сервере, игроки смогут подключиться со стандартного клиента. Другие модификации могут потребовать у игроков установки Forge на их компьютеры.

Переход на SpongeVanilla

Предупреждение

Если переходите на SpongeVanilla: Вы потеряете все данные, блоки и сущности Forge-модификаций, т. к. SpongeVanilla не может запускать эти модификации. Имейте это в виду при принятии решения, перейти на SpongeForge или SpongeVanilla.

Процесс перехода почти такой же, как выше:

  1. Остановите сервер Forge, если он еще запущен.
  2. Загрузите SpongeVanilla и стандартный сервер от Mojang.
  3. Положите миры и файлы конфигурации в папку с сервером.
  4. Запустите сервер с помощью spongevanilla.jar.

Переход со стандартного сервера

Администраторы «ванильных» серверов Minecraft могут спокойно перейти на Sponge, т.к. Forge, как и SpongeForge (а также SpongeVanilla), используют такую же структуру мира, как и «ванильный» Minecraft. Sponge также может использовать файлы «ванильного» сервера Minecraft, например, server.properties.

Сначала надо решить, Вы хотите запустить SpongeForge или SpongeVanilla.

Примечание

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

  1. Остановите Vanilla сервер, если он еще запущен
  2. Загрузите SpongeVanilla или SpongeForge.
  3. Положите миры и файлы конфигурации в папку с сервером.
  4. Запустите новый сервер.

Установка Sponge

Эти два руководства: Установка SpongeForge и Установка SpongeVanilla — содержат инструкции по установке Sponge.