1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Туториал Создание сервера с нуля от А до Я

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем iForgotPassword, 19 янв 2019.

?

Полезная статья?

  1. Да

  2. Нет

Результаты будут видны только после голосования.
  1. Автор темы
    iForgotPassword

    iForgotPassword Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    iForgotPassword
    Привет всем! В этой статье я хочу рассказать вам о том, как создать сервер с нуля, как его правильно настроить, что есть правильно (по моему мнению), а что нет (по моему мнению).

    Также, хочу отметить, что я буду повествовать обо всем со своей колокольни, не всегда правильно, не всегда определения из Wiki. Я просто разраб серверов, который делится опытом с новичками.

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

    Часть 1 (этот пост) - План, выбор версии, ядро сервера
    Часть 2 - Первый запуск: Java, флаги, конфиги (тык)
    Часть 3 - Установка плагинов: базис (тык)
    Часть 4 - Меню, скины, мультиверсия, чего в списке нет (тык)
    Часть 5 - Пиратский сервер: Velocity, авторизация, ботфильтр (тык)
    Часть 6 - Спавн и настройка играбельности (тык)
    Часть 7 - Серверная машина и запуск на Linux (тык)
    Часть 8 - Домен и DNS (тык)
    Часть 9 - Бэкапы, файрвол и FAQ (тык)

    Итак, от Вас требуется:
    1) Желание. Без желания создать сервер, я считаю, мало что получится.
    2) Минимум финансов. Без финансов ни в лужу ни в реку.
    3) Минимум знаний о том, как что работает. Я Вам расскажу немного о том, о сем, остальное придется самим ;)
    p.s Я не собираюсь рассказывать о том, что нужно устанавливать Java, где скачать Minecraft и прочее. Если вы не знаете базис - это статья не для Вас, простите.

    Итак, у нас есть желание создать сервер! С чего начать? С плана, конечно! Что из себя представляет план? Ну… Я считаю, каждый по-разному его составляет, кто-то продумывает все, от А до Я, кто-то делает наброски и стратегию, кто-то только название и финансы, но он у каждого имеется. Мы с Вами сделаем что-то между всем этим.
    План:
    1) Что мы хотим от сервера?

    Я создаю сервера ради идеи , которые не нацелены на заработок вообще, мне нравится создавать сервера (кайфую от этого). Разумеется, нам нужен donate, так называемый, чтобы покрывать, хотя бы, траты на сервер, но об этом позже.
    Что мы хотим? Сделать сервер для себя? Для заработка? Каждый решает сам, я не в силах Вам помочь.

    2) Определяемся с выбором версии.

    Сначала важное: схема нумерации версий изменилась. В декабре 2025 Mojang отказался от привычной схемы 1.x. Теперь версия это год.дроп.хотфикс. Никакой 1.22 не будет и не появится.

    26.1 "Tiny Takeover" - 24 марта 2026. Первый релиз в новом формате, первый полностью деобфусцированный, первый требующий Java 25. Хотфиксы 26.1.1 и 26.1.2.
    26.2 "Chaos Cubed" - 16 июня 2026. Текущий релиз. Сернистые пещеры, серный куб, экспериментальный рендер на Vulkan, список друзей в игре.
    26.3 - в снапшотах с июня 2026, релиз ориентировочно в Q3 2026.
    Снапшоты тоже переименовали: вместо кодов вида 25w41a теперь 26.3-snapshot-9.

    Есть ру-статистика, но для общей картины удобнее bstats. Данные на 31 августа 2026, выборка примерно 184 000 серверов:

    26.2 ~ 57.100 серверов (31%)
    1.21.11 ~ 51.200 (28%)
    26.1.2 ~ 20.600 (11%)
    1.21.4 ~ 7.900 (4.3%)
    1.21.10 ~ 6.900 (3.8%)
    1.21.8 ~ 6.700 (3.6%)
    1.21.1 ~ 5.400 (3.0%)
    1.20.1 ~ 4.700 (2.5%)
    1.8.8 ~ 4.300 (2.3%)
    1.12.2 ~ 3.400 (1.8%)
    1.20.4 ~ 2.300 (1.3%)
    1.16.5 ~ 1.500 (0.8%)

    Если сложить ветки: 26.x примерно 43%, 1.21.x примерно 45%, а весь легаси (1.8.8 плюс 1.12.2) - около 4%. Разговоры "все сидят на 1.12.2" статистикой давно не подтверждаются.

    Еще одна цифра, которая нам пригодится дальше: серверов в offline-mode сейчас больше, чем в online - 101.000 против 82.500.

    Статистика за прошлые года.

    Мы выбрали версию 26.2. Я по-прежнему считаю, что нужно быть на самых последних версиях, по возможности, разумеется.

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

    3) Определяемся с тематикой сервера.
    «Тематики», это я, конечно, погорячился т.к не всегда Вашу сборку можно отнести под какую-то конкретную тематику. Но мы попробуем :D
    Думаю, самые популярные на сегодняшний день являются:
    - Школо-сервера (сразу забываем про это, ведь, у нас нет проблем со здоровьем);
    - Мини-игры;
    - Ванильное выживание (минимум плагинов);
    - RPG сервера;
    - Микс (RPG + ванилька + мини-игры + школо + ….).
    Свои идеи пишите в комментарии ;0.
    Мы выбрали - Микс (RPG + ванилька).

    План составлен! Переходим к самому интересному - созданию сервера! Большинство информации Вы сможете получить с просторов papermc.io, modrinth.com, spigotmc.org и rubukkit.org

    Ядро сервера
    Если Вы делаете сервер один (рассматриваем этот вариант), то создаем папку на рабочем столе, например «Server», в которой и будем его собирать.
    Основа сервера - ядро. Ядро - это то, на чем будет работать наш сервер.

    Небольшое уточнение по названию: раньше это ядро называли PaperSpigot, сейчас оно называется просто Paper. В декабре 2024 Paper отделился от Spigot окончательно (hard fork) и перешел на маппинги Mojang, так что от Spigot внутри почти ничего не осталось.

    Практически все современные ядра - форки Paper, поэтому плагины между ними чаще всего переносятся без правок.

    Цифры ниже - bStats на 31.08.2026, выборка примерно 184 000 серверов.

    Paper - 127.828 серверов (70%)
    Дефолт без вариантов. На нем форкаются все остальные. Хорошая документация, spark в комплекте, самая широкая совместимость с плагинами. Берем его.
    Скачать: papermc.io/downloads/paper, документация: docs.papermc.io

    Purpur - 17.349 (9.4%)
    Paper плюс несколько сотен геймплейных настроек: поведение мобов, гравитация, рецепты, фантомы и так далее. Drop-in замена Paper, плагины не ломает. Имеет смысл, если вы реально будете крутить эти ручки.

    Spigot - 12.497 (6.8%)
    Легаси. Причин выбирать его сегодня нет.

    Leaf - 4.229 (2.3%)
    Главное новое имя за последние пару лет. Форк Paper от Winds-Studio, собирающий патчи из Pufferfish, Purpur, Luminol, Moonrise, Plazma и других в одну сборку плюс свои оптимизации структур данных. Важно: это не многопоточность в стиле Folia, модель обычная, поэтому совместимость с плагинами почти полная. За два года обогнал Pufferfish примерно в девять раз.
    Оговорка: проект молодой, совместимость иногда ломается между минорными релизами. Для домашнего сервера и SMP отлично, на платный проект - на свой риск.

    Folia - 1.186 (0.6%)
    Официальная регионализированная многопоточность от команды PaperMC. Мир делится на регионы, каждый тикается в своем потоке, что позволяет утилизировать 32+ ядра.
    Почему всего 0.6% при 4300 звездах на GitHub: Folia ломает плагины. Автор плагина обязан думать про владение регионом при каждом обращении к состоянию мира, это не "поправить пару вызовов". EssentialsX официально Folia не поддерживает и прямо предупреждает про потерю userdata. Новичку нельзя.

    Canvas - 594, DivineMC - 168
    Экспериментальная многопоточность для тех, кто понимает, что делает. Canvas это гибрид Folia и Paper с опциональной регионализацией и параллельным тиком миров, требует 5+ физических ядер и не живет на shared-хостинге. DivineMC это форк Purpur с regionized chunk ticking, параллельным тиком миров, асинхронным поиском пути, Secure Seed и форматом Linear.

    Pufferfish - 484
    Автор алгоритма DAB, но фактически поглощен Leaf. Отдельно ставить смысла мало.

    Гибриды моды + плагины
    Arclight (1.604), Mohist (1.003), CatServer (772). Нужны только если вам обязательно нужны моды вместе с плагинами Bukkit. Отдельная история со своими проблемами.

    Прочее
    Leaves (488) - для технических серверов, сохраняет некоторые механики и баги. AdvancedSlimePaper (816) - формат SlimeWorld, для мини-игр. UniverseSpigot (2.005) - заметен по цифрам, но происхождение сборки я не проверял, ставить вслепую не советую.

    Мертвое, не трогать
    Bukkit/CraftBukkit (434), Tuinity, Airplane, TacoSpigot, Yatopia, Scissors, Gale, Plazma. Все это либо остановилось, либо давно влилось в Paper.

    Мы будем использовать Paper.

    Про прокси. Если сервер один - прокси не нужен, пропускайте. Если серверов будет несколько (а в нашей схеме с авторизацией их будет два, об этом дальше), то ставим Velocity. BungeeCord и Waterfall не рассматриваем: Waterfall переведен в статус EOL (End of Life, конец поддержки: обновлений и исправлений больше не будет) самой командой PaperMC, которая рекомендует переезжать на Velocity. Официальное объявление. Velocity 4.0.x требует Java 25.
    Скачать: papermc.io/downloads/velocity

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

    >>> Часть 2: Первый запуск: Java, флаги, конфиги (тык)
     
    Последнее редактирование: 1 сен 2026
  2. Автор темы
    iForgotPassword

    iForgotPassword Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    iForgotPassword
    Это продолжение статьи Создание сервера с нуля от А до Я. Начало - в первом посте темы. << Часть 1: План, выбор версии, ядро сервера

    Часть 2. Первый запуск: Java, флаги, конфиги

    Сначала про Java. Версии 26.x требуют Java 25 или новее. На Java 21 они просто не стартуют. Velocity 4.0.x тоже требует Java 25.
    Брать сборку лучше у Adoptium Temurin, подойдут также Azul Zulu, Amazon Corretto и Microsoft Build. Инструкция по установке под разные системы есть у самого Paper: docs.papermc.io/misc/java-install.
    Важно: не ставьте headless-сборки Java (пакеты с суффиксом -headless), в них не хватает зависимостей и Paper с ними работает некорректно.

    Закидываем скаченное ядро в папку «Server» (которую мы создали). Переименовываем jar в «paper.jar». Далее в этой же папке создаем файл «start.bat», открываем его текстовым редактором и вставляем этот код:

    Код:
    @echo off
    
    java -Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar paper.jar --nogui
    
    pause
    
    Создаем «start.sh», внутри та же строка запуска:
    Код:
    #!/bin/sh
    java -Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar paper.jar --nogui
    
    Делаем файл исполняемым (chmod +x start.sh) и запускаем: ./start.sh

    Это флаги Aikar - готовый набор настроек, который человек по имени Aikar подобрал специально под серверы Minecraft. Java из коробки настроена под что угодно, только не под нашу задачу, а с этими флагами сервер работает ровнее: меньше подвисаний и рывков.

    Копируете строку как есть и меняете только цифры памяти. Разбираться, что означает каждый параметр, не нужно - это уже тонкая настройка Java, а не настройка сервера.

    Голый java -jar paper.jar вполне сгодится, пока вы щупаете сервер у себя на компьютере или играете с парой друзей. А вот в проде (это боевой сервер, куда заходят реальные игроки) без флагов начнутся заметные фризы, как только соберется хоть какой-то онлайн.

    Про память. Цифры в -Xms и -Xmx - это сколько памяти вы отдаете серверу. Их называют "heap" (читается "хип"). В примере стоит 4G, значит серверу выделено 4 ГБ.
    • -Xms и -Xmx ставьте одинаковыми. Если числа разные, часть памяти будет просто простаивать.
    • Не отдавайте серверу всю память машины. Если на VPS 8 ГБ, поставьте 6-6.5 ГБ: остальное нужно операционной системе.
    • 4 ГБ - нормальный старт для небольшого сервера, дальше смотрите по нагрузке.
    • Решите выделить 12 ГБ и больше - загляните по ссылке выше, для таких объемов Aikar советует поменять несколько цифр в строке. До 12 ГБ оставляйте как есть.

    После запускаем наш «start.bat» (открываем его). Ждем пока все прогрузится и лицезрим такую картину:
    part2-img1_terminal.png

    Это говорит нам о том, что нужно принять пользовательское соглашение EULA. Для этого открываем файл «eula.txt», и в строчке «eula=false» заменяем «false» на «true», то бишь, должно получиться «eula=true». Повторно запускаем наш сервер, и, после всей подгрузки, генерации мира и прочих действий, при запуске сервера мы увидим такую надпись:
    Код:
    [00:06:10 INFO]: Done (7.110s)! For help, type "help"
    
    Это означает, что наш сервер запустился! Ура! На него можно зайти через IP: «127.0.0.1» или «localhost».
    Выключить сервер можно нажатием кнопок «Ctrl + C» или прописав в консоль «stop».

    Отлично, сервер работает! Что делать дальше, шеф? Настраивать конфиги.

    Настройки Paper лежат в config/paper-global.yml (справочник) и config/paper-world-defaults.yml (справочник), а для конкретного мира переопределяются в world/dimensions/<пространство_имен>/<ключ>/paper-world.yml. Рядом лежат привычные server.properties (описание параметров), bukkit.yml и spigot.yml.
    Тут есть подвох, на который легко напороться: в 26.1 Mojang поменял хранение миров, и Paper перешел на ванильную схему. Раньше измерения лежали отдельными папками в корне сервера (world, world_nether, world_the_end), теперь все внутри world/dimensions/. Если старая инструкция велит искать paper-world.yml в корне папки мира - она написана до 26.1. Отдельно имейте в виду: после апгрейда мира на 26.x откатиться на версию ниже уже нельзя, поэтому бэкап перед обновлением обязателен.
    Разбирать каждый параметр здесь я не буду, по настройке и оптимизации у меня есть отдельная статья, она обязательна к прочтению: Настройка сервера и оптимизация от А до Я.

    Если вам советуют "посмотри timings" - совет устарел. Начиная с 1.21 Timings выключены по умолчанию и объявлены устаревшими. Профилировать надо через spark, он уже идет в комплекте с Paper.
    Документация: spark.lucko.me/docs, отдельно есть руководство по поиску причин лагов.

    p.s Для тех, кто хорошо знает английский, есть официальные справочники по каждому файлу: Spigot Configuration, Paper Global, Paper World, server.properties.
    p.p.s Если делаем пиратский сервер, то в файле «server.properties» меняем «online-mode=true» на «online-mode=false». Но одного этого мало - как делать пиратку правильно, разберем в отдельном разделе ниже.


    >>> Часть 3: Установка плагинов: базис (тык)
     
    Последнее редактирование: 1 сен 2026
  3. ВukkitPrоfi

    ВukkitPrоfi Активный участник Пользователь

    Баллы:
    76
    подправь ссылку на статью DeluxeMenus на русском
     
  4. Автор темы
    iForgotPassword

    iForgotPassword Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    iForgotPassword
    Поправил
     
  5. ВukkitPrоfi

    ВukkitPrоfi Активный участник Пользователь

    Баллы:
    76
    по прежнему перекидывает на этот адрес Безымsянный.png
     
  6. InterWall

    InterWall Старожил Пользователь

    Баллы:
    173
    Он не откроется, ссылки на этот форум здесь "вне закона". Лучше через сокращатель пропустить.
     
  7. Автор темы
    iForgotPassword

    iForgotPassword Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    iForgotPassword
    Уже)
     
  8. Saharo4ek

    Saharo4ek Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    tin
    Он у тебя почему-то выбрал порт 21030 :confused:
    Заходи с localhost:21030 или 127.0.0.1:21030
     
  9. MVP13

    MVP13 Новичок Пользователь

    Баллы:
    16
    Хм, выбрал он потому, что хотя бы порт я настроил 21030 ) (25565 вообще не работал и лагал без правил....)
     
  10. Saharo4ek

    Saharo4ek Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    tin
    ну тогда в чем проблема была его ввести, раз сам его поставил? :ninja:
     
  11. MVP13

    MVP13 Новичок Пользователь

    Баллы:
    16
    А имеет значение, в какую папку помещать папку сервера?
     
  12. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Как правило нет. Главное, чтобы были все необходимые права.
     
  13. MVP13

    MVP13 Новичок Пользователь

    Баллы:
    16
    Права администратора Windows? Или другие?
     
  14. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Права на редактирование файлов и папок и пр. лабуды.
     
  15. Автор темы
    iForgotPassword

    iForgotPassword Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    iForgotPassword
    UP.
    Изменения:
    - Обновил статистику серверов (также добавил ссылку на bstats.org);
    - Добавил новые статьи по оптимизации ([GUIDE] Server Optimization);
    - Изменил базисные плагины:
    -- SkinRestorer заменил на CustomSkinManager;
    -- Добавил AbstractMenus.
    - Изменил список плагинов для RPG:
    -- BetonQuest на Quests & QuestCreator;
    --- BattleLevels на MMOCore.
    - Поправил невалидные ссылки.
     
    Последнее редактирование: 10 мар 2020
  16. Honor_MineDev

    Honor_MineDev Активный участник

    Баллы:
    61
    Пишет, что "Неудалось проверить имя пользователя".Плагины не ставил, играю на пиратской версии
     
  17. Автор темы
    iForgotPassword

    iForgotPassword Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    iForgotPassword
    Что пишет? Куда пишет? Где пишет? О чем речь?
    Я, конечно, понимаю, но не понимаю. Понимаешь? Непонятная ситуция.
     
  18. Honor_MineDev

    Honor_MineDev Активный участник

    Баллы:
    61
    Сделал по инструкции все до установки плагинов, соотвественно все было чисто, после того, как я запустил батник, и вышла соответствющая надпись
    [10:27:00] [Server thread/INFO]: Done (35.722s)! For help, type "help"
    [10:27:00] [Server thread/INFO]: Timings Reset
    После чего по адресу localhost я пытался зайти на сервер, было 20 слотов.Вышло следующее :
    "Шифрование"
    "Не удалось проверить имя пользователя"
    В логах писалось:
    [10:30:13] [User Authenticator #1/INFO]: Disconnecting /127.0.0.1:49910: Failed to verify username!
    [10:30:13] [Server thread/INFO]: /127.0.0.1:49910 lost connection: Disconnected
    [10:30:13] [User Authenticator #1/ERROR]: Username 'ProstoyKhan' tried to join with an invalid session
    До этого в логах никаких ошибок не было.
     
  19. Автор темы
    iForgotPassword

    iForgotPassword Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    iForgotPassword
    Код:
    p.s.s Если делаем пиратский сервер, то в файле «server.properties» изменяем «online-mode=true» на «online-mode=false».
    
    @Honor_MineDev

    У вас стоит online-mode=false ?
     
  20. Honor_MineDev

    Honor_MineDev Активный участник

    Баллы:
    61
    Благодарю, не заметил из-за невзрачности.
     

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