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

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

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

?

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

  1. Да

  2. Нет

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

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

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

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


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

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

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

    2) Определяемся с выбором версии.
    Воспользуемся этим сайтом, чтобы выбрать подходящую нам версию. (тут можно узнать небольшую статистику по русским серверам)
    1.18.x ~ 3.500 серверов (~55% от всех серверов);
    1.17.x ~ 600 серверов (10%);
    1.16.x ~ 700 серверов (11%);
    1.15.x < 0
    1.14.x ~ 0
    1.13.x ~ 0
    1.12.x ~ 400 серверов (6%)
    Ниже 1.12.2 не советую рассматривать т.к это уже старьё (хотя и 1.16, по мне, уже старая).

    Для более широкого спектра воспользуемся этим сайтом. (тут показана статистика плагинов. Идет всемирный охват, а не только СНГ)
    1.18.x ~ 100.000 серверов (50% от всех серверов)
    1.17.x ~ 20.000 серверов (11%);
    1.16.x ~ 15.000 серверов (9%);
    1.15.x ~ 1.000 серверов (<1%);
    1.12.x ~ 12.000 серверов (7%);
    1.8.x ~ 12.00 серверов (7%).

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

    Тут ситуация иная. Старые версии серверов имеют вес на фоне всех серверов, но при этом, 1.18.x лидирует с большим отрывом. Думаю, не стоит объяснять почему новые версии всегда такие популярные,. А вот почему 1.12.x и 1.8.x входят в топ-5 популярных версий - не знаю. Я считаю, что сидеть на старых версиях нет никакого смысла т.к они не дают никакого нового игрового опыта. Просто дойная корова ¯\_(ツ)_/¯.
    Мы выбрали версию 1.18.2. Я считаю, что нужно быть всегда на самых последних версиях, по-возможности, разумеется.

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

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

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

    Есть несколько видов «ядер» сервера: CraftBukkit, Spigot, PaperSpigot и другие.
    Самым популярным является Spigot. Но мы будем использовать PaperSpigot т.к он более оптимизированный. (подробнее про ядра найдете на просторах spigotmc.org и rubukkit.org) Скачать последнюю версию можно здесь. Его документация находится тут).
    p.s Те, кто разбирается в ядрах лучше, можете написать в комментариях, обязательно поправлю информацию.

    2) Первый запуск сервера
    Закидываем скаченное ядро в папку «Spigot» (которую мы создали). Изменяем название этого jar’ника на «PaperSpigot.jar». Далее, в этой же папке создаем файл «start.bat», его открываем через Текстовый редактор и вставляем этот код:
    Код:
    @echo off
    
    java -jar PaperSpigot.jar
    
    pause
    
    Создаем «start.sh» и в него прописываем:
    Код:
    java -jar PaperSpigot.jar
    После прописываем в консоль «sh start.sh»
    После запускам наш «start.bat» (открываем его). Ждем пока все прогрузится и лицезрим такую картину:
    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».

    Отлично, сервер работает! Что делать дальше, шеф? А дальше нам нужно настроить PaperSpigot. Хорошее руководство есть у пользователя @baksovic111. Его статья тут. Она обязательна к ознакомлению. Также, можете ознакомиться вот с этой статьей от пользователя @temoon (старая статья 2014 года, рекомендую ознакомиться с официальной документацией).
    p.s Для тех, кто хорошо знает английский есть статьи на spigotmc.org по этим файлам, где расписан каждый параметр (Spigot Configuration & Paper Configuration & server.properties). А также есть очень хорошая статья по оптимизации [GUIDE] Server Optimization.
    p.p.s Если делаем пиратский сервер, то в файле «server.properties» изменяем «online-mode=true» на «online-mode=false».


    3) Установка плагинов
    Итак, мы настроили эти файлы под себя, все прекрасно! Далее идет подбор плагинов под Вашу сборку. Начнем мы, конечно, с базисных плагинов (опять же, у каждого разработчика они свои, но мы будем опираться на то, что Вы в этом еще толком не разбираетесь, а значит и моя подборочка будет Вам кстати).
    1) WorldGuard & WorldEdit
    we download 1.png
    WE download.png
    2) EssentialsX | dev EssentialsX
    3) Vault
    4) DeluxeMenus (платный аналог - AbstractMenus. Лучше DeluxeMenus в разы)
    5) SkinRestorer (Т.к мы делаем пиратский сервер, то он нам нужен)
    6) HideStream
    7) LuckPerms
    8) AuthMeReloaded (При условии, что у нас пиратский сервер)
    Все скаченные плагины закидываем в папку «plugins». Снова запускаем сервер, чтобы подгрузились наши плагины и создались их папки, чтобы мы смогли их настроить.
    Итак,
    1) Vault - плагин, который реализует систему экономики. Не имеет никаких настроек.
    2) EssentialsX - плагин, который используется как "скелет" сервера. С помощью него Вы сможете настроить основные механики игры, такие как - телепортация, чат, экономика, админ-команды и команды игроков. Более подробно с конфигурацией и настройкой этого плагина Вы можете ознакомиться в русской статье тут и на английском языке от первоисточника тут.
    3) WorldGuard & WorldEdit - Это два взаимодополняющие плагины. Сокращения WG & WE соответственно.
    WG - плагин, который поможет защитить нам игровой мир от ненужных нам воздействий на него (захламления карты), например, поджога лесов, разлития лавы. А так же, для того, чтобы "заприватить" определенный участок территории, на которой нельзя будет ломать блоки, например, для создания "спавна" (*место, где игроки появляются первый раз. Что-то на подобии safe-zone*). Также, благодаря этому плагину, игроки смогут создавать свои "регионы", где они смогут строить свои дома, а другие игроки не смогут с ним взаимодействовать (ломать блоки, открывать сундуки). Хорошее руководство по WG от @mayor123 находится тут. Советую прочитать. Документация от разработчика на английском тут
    WE - плагин, который помогает администраторам редактировать игровой мир. Также, WG не будет работать без WE. Статья на русском тут. Документация от разработчика тут.
    4) DeluxeMenus - плагин, который поможет Вам создать меню сервера. Меню сервера - "инвернтарь", в котором Вы настраиваете иконки - предметы - которые носят информативный характер о Вашем сервера. Также это меню называют - "GUI". Гибкий плагин, советую в нем хорошо разобраться. Статья на русском тут. Документация от разработчика плагина тут.
    4.1) AbstractMenus - аналогичен DeluxeMenus, только в разы . Очень качественная и объемная документация на русском, где Вы сможете ознакомиться с огромным списком возможностей этого плагина.
    5) SkinRestorer - плагин, который добавляет возможность поставить любой скин любому игроку. Незаменимый плагин для пиратских серверов т.к изначально на пиратских серверах не подгружаются скины, даже если Вы заходите на сервер с лицензии.
    GUI 1.png
    GUI 2.png GUI 3.png
    6) HideStream - плагин (я бы назвал его "утилита"), который убирает сообщения о входе/выходе/смерти и т.д.
    7) LuckPerms - плагин, который реализует "права" на сервере. Вы сможете очень гибко настроить для каждого игрока/группы игроков доступ к тому или иному функционалу Ваших плагинов. Прекрасная, просто замечательная статья написанная @InterWall находится тут. Эта статься обязательна к ознакомлению! Документация от разработчика плагина на английском языке тут.
    8) AuthMeReloaded - самый популярный плагин на авторизацию. Т.к у нас пиратский сервер, то любой может зайти под любым ником, например, под Вашим и сломать Вам сервер. Избежать такую ситуацию поможет этот плагин. Документация от разработчиков тут
    Только после изучения базисных плагинов, можно приступать к плагинам, которые подходят под нашу тематику. Т.к у нас RPG-винилка, нам нужны: квесты и прокачка персонажа. На spigotmc.org есть много плагинов, которые реализуют нужные нам системы, но большинство из либо платные, либо не работают на последних версиях (увы и ах). Что же, пойдем искать...
    Проведя немного времени в поисковике находим:
    1) Quests - плагин для реализации квестов. (платный аналог QuestCreator)
    2) MMOCore - плагин для реализации прокачки персонажа и боёвки (Это плагин из раздела "premium" и стоит некоторое кол-во денег. Вы можете найти альтернативы из бесплатных плагинов (я не могу вспомнить хорошие плагины :whistle:), но в этом случае мы будем использовать BattleLevels (старый плагин, который уже не поддерживается, но смысл повествования не поменяется)).
     

    Вложения:

    • pl_error.png
      pl_error.png
      Размер файла:
      42,3 КБ
      Просмотров:
      463
    • logs.png
      logs.png
      Размер файла:
      422,2 КБ
      Просмотров:
      446
    • pl.png
      pl.png
      Размер файла:
      38,4 КБ
      Просмотров:
      429
    Последнее редактирование: 21 мар 2022
  2. Автор темы
    iForgotPassword

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

    Баллы:
    66
    Имя в Minecraft:
    iForgotPassword
    Устанавливаем на сервер, перезагружаем сервер и смотрим, все ли подгрузилось, прописав команду "pl" в консоль.
    DeluxeMenus подсвечивает красным, это означает, что он не работает. Давайте разбираться, что произошло. Открываем логи сервера - "logs/latest.log" и находим момент включения плагина "[DeluxeMenus] Enabling DeluxeMenus v1.10.5*".
    Изучив логи, понимаем, что у нам не установлен плагин "PlaceholderAPI". Находим этот плагин и устанавливаем.
    Перезапускаем и проверяем, все ли плагины загружены командой "pl"
    Отлично! Все работает! Что дальше, шеф? А дальше...


    А дальше:
    4) Делаем спавн
    Итак, плагины у нас есть, они все работают, мы сделали их первичную настройку, но геймплейная часть у нас отсутсвует! Для начала, нам нужно сделать спавн! (*Спавн? Зачем?!*).
    Спавн - начальная игровая местность, где игрок, впервые зайдя на сервер, сможет понять что да как.
    В зависимости от предпочтений спавн может быть разных размеров. Мы же будем делать его средним. На спавне обязательно должно быть место возрождения (то место, где игроки будут появляться первый раз, телепортироваться). Т.к строить это творческое занятие, оно может растянуться на долгое время. Мы пойдем по легкому пути - скачаем готовый спавн. Есть много разных ресурсов, которые предлагают готовые варианты, например planetminecraft.com или ru-minecraft.ru.
    ВАЖНО! Мы же делаем с душей, да? Да! А значит, абы как мы не хотим, а значит нужно брать спавны, созданные не раньше 2021-2022. Почему? Потому что все спавны созданные раньше этих годов использовались чуть ли не во всех проектах РФ, а значит уникальность, в том или ином смысле, сводиться к нулю. Для примера я взял вот этот спавн. Установка:
    1) Останавливаем сервер командой "stop";
    2) Удаляем текущую карту - папка "world";
    3) Скидываем скаченную папку на сервер и изменяем название на "world"
    4) Запускаем сервер
    Зайдя на сервер мы можем не понять, где мы находимся? Где спавн?! Проблема заключается в том, что координаты этого спавна отличаются от ваших. Для этого устанавливаем карту в одиночном мире и узнаете координаты спавна: "F3" и слева сверху координаты x, y, z
    xyz.png
    Вид координат таков: "XYZ x / y / z"
    Заходим на сервер и прописываем такую команду "/tppos x y z", где "x" - первая координата, "y" - вторая координата (высота), "z" - третья координата. (пример команды - "/tppos 115 4 -101").
    Прописав эту команду видим такое сообщение в чат "У Вас нет прав для выполнения данной команды.". Понятно почему не выполнилась команда. Как получить права? Есть 2 способа:
    1) Выдать себе OP - в консоле "op nick" (пример - "op iForgotPassword")
    2) Выдать себе права через LuckPerms. Этот способ мы и будем использовать. Для этого в консоли прописываем такую команду - "lp user nick permission set *" (пример - "lp user iForgotPassword permission set *").
    После этого заново прописываем команду на телепортацию по координатам (/tppos x y z). Оказавшись на спавне, находим точку, где будут появляться игроки и там прописываем команду "/setspawn". Теперь нам нужно заприватить наш спавн. Для этого выделяем его крайние точки и прописываем "/rg define spawn" (Научиться приватить Вы можете после прочтения этой статьи). Сейчас наш спавн запривачен и никто не может ставить/ломать блоки. Но это еще не все! На спавне еще не стоят "флаги". (флаги - значения территории, которые ограничивают некоторые возможности, например запрещают PvP). Нам нужно проставить следующие флаги:
    Все флаги работают только на территории региона (привата), в нашем случаем - на территории спавна
    Формат списка таков: Флаг Значение (none/allow/deny), где "Флаг" это его функция, а "Значение" none - ничего; allow - разрешено/доступно; deny - запрещено/недоступно.
    pvp deny - Отключить PvP;
    invincible allow - Бессмертие;
    mob-spawning deny - Отключение спавна мобов;
    vine-growth deny - Отключение "топтания" посадок (пшеница, морква и пр.);
    fall-damage deny - Отключение урона от падения;
    leaf-decay deny - Отключение опадения листьев;
    damage-animals deny - Отключение урона мобам.
    Поздравляю! Вы только что сделали рабочий спавн!

    4) Настройка играбельности
    Все готово к игре, кроме одного - "заточки" всех плагинов под Ваш план. А именно, Вы должны настроить каждый плагин индивидуально под Вашу тематику, стиль игры и Ваших предпочтений. Для этого читайте документацию по каждому плагину, экспериментируйте с настройками, добавляйте и удаляйте плагины. Все самое интересное оставляю Вам на самостоятельное обучение, ведь, Вы должны сами в этом разбираться, а не повторять за мной ;)

    5) Выбор серверной машины
    Из-за ограничений Visa и MasterCard в РФ оплата зарубежных провайдеров невозможна. Пользуемся ihor.ru :nerd:

    Предположим, что мы создали рабочий сервер, все работает и мы хотим запускать сервер в продакшн. Для этого мы должны определиться с выбором серверной машины. Выбираем VPS/VDS (НЕ ХОСТИНГ!) из: ovh.ie, hetzner.com, ihor.ru. Расскажу вкратце про каждый:
    1) OVH.ie - пожалуй, самый лучший поставщик серверных машин! Цена-Качество на высшем уровне. Встроенный AntiDDoS и всемирная популярность делает этого поставщика самым лучшим на рынке. Единственная проблема - малая вариация конфигураций серверов. А еще 18+.
    2) hetzner.com - дороже чем ovh.ie. Возникали проблемы с тех. поддержкой
    3) ihor.ru - русский аналог. Большая вариация серверных машин, нормальная (наверное) тех. поддержка. Хорошая замена зарубежных поставщиков. (остался недоволен в 2017 году. Больше к ним не возвращался). (как обстоят дела на момент марта 2022 - мне неизвестна)
    Купив VPS/VDS настраиваем её по этому туториалу от @nik_drsmiles. Также можете использовать эти скрипты запуска/бекапа и прочее. Более подробно о подключении сервера на VPS/VDS сможете найти на просторах интернета.

    Спасибо за прочтение данной статьи, надеюсь, она поможет новичкам создать свой первый, хороший, уникальный сервер. Ждем Вас на просторах Ру-Майнкрафта ;)
     
    Последнее редактирование: 20 мар 2022
  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
    Благодарю, не заметил из-за невзрачности.
     

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