Установка и настройка сервера Minecraft (на базе Bukkit)

Тема в разделе "Установка и настройка сервера", создана пользователем Wellwisher, 12 июл 2011.

  1. Wellwisher

    Wellwisher
    Градостроитель
    1.333
    1.092
    463
    Вряд ли кому-то придёт в голову открывать сервер без плагинов, а потому в этой статье я расскажу о серверном моде Bukkit, который позволяет легко их подключать и отключать при необходимости.

    Bukkit разрабатывается и поддерживается многочисленным и довольно активным сообществом, поэтому достаточно часто обновляется и улучшается. На их сайте, при достаточном знании английского, можно почерпнуть множество полезной информации, а также пообщаться напрямую с разработчиком баккита и плагинов.

    Последний рекомендованный к установке билд вы всегда сможете найти по этой ссылке в самом верху списка.

    Системные требования.
    Сервер Minecraft (как, впрочем, и клиент) очень требователен к процессорным ресурсам. Так как в настоящее время ядро сервера Майнкрафта умеет использовать лишь один поток вычисления, выигрыша от применения многоядерных процессоров не будет. Некоторые плагины всё же способны выполнятся в отдельных потоках, да и сама Java не прочь откушать процессорных ресурсов для собственных нужд, поэтому второе ядро не помешает, но большее число ядер практически не принесёт пользы самому Майнкрафту. "Лишние" ядра, однако, можно задействовать под нужды других процессов, запущенных на сервере.
    Но всё же как правило (если помимо Майнкрафта сервер ничем не занят) следует исходить из следующего соображения: двухъядерный процессор более высокой частоты более пригоден для сервера Minecraft, чем четырёх-(шести-, двадцати-) ядерный более низкой. Конечно, стоит принимать во внимание архитектуру процессоров и другие немаловажные моменты... Лучше так: чем выше у процессора производительность отдельных ядер, тем лучше он подходит для нашей цели.
    Количество оперативной памяти также является немаловажным показателем. Если вы желаете видеть на своём сервере более 5-10 человек онлайна, лучше всего запастись достаточным количеством ОЗУ и 64-битной операционной системой. 4ГБ свободной памяти хватит человек на 25 при не очень большом количестве плагинов.
    От скорости интернет-соединения также будет зависеть максимальный онлайн: 10 мегабит исходящей скорости хватит для комфортной игры 40-50 человек. Если на этом же канале у вас будет располагаться сайт, форум и тем более динамическая карта, то не помешает дополнительный запас скорости.

    Итак, приступим:
    1. Скачайте последний рекомендованный билд и переместите его в папку, в которой будет обитать ваш сервер, переименовав в craftbukkit.jar.
    2. Создайте в этой папке .bat-файл следующего содержания:
    Код:
    @ECHO OFF
    SET BINDIR=%~dp0
    CD /D "%BINDIR%"
    "%ProgramFiles%\Java\jre6\bin\java.exe" -Xincgc -Xmx1G -jar craftbukkit.jar
    PAUSE
    3. Если у вас не установлена Java, самое время этим заняться:
    -скачиваем дистрибутив для 32-битной или 64-битной платформы
    -устанавливаем его (вряд ли с этим возникнут сложности).
    4. Если вы желаете видеть на своём сервере кириллицу:
    -качаем русифицированный font.txt
    -открываем в WinRar craftbukkit.jar
    -заменяем имеющиеся там font.txt на только что скачанный
    -закрываем WinRar
    5. Запускайте подготовленный ранее .bat-файл (пусть это будет "start.bat"). После того, как в консоле появится надпись "Done (<какое-то количество>s)!", завершите работу баккита с помощью команды stop.

    Можно заметить, что в папке сервера появились разные интересные файлы:
    -banned-ips.txt -- список забаненных IP-адресов
    -banned-players.txt -- список забаненных ников игроков
    -bukkit.yml -- файл дополнительных настроек баккита
    -ops.txt -- список администраторов сервера
    -server.log -- лог сервера
    -server.properties -- файл основных настройки сервера
    -white-list.txt -- список разрешённых ников при активном вайт-листе
    А также папки:
    -plugins -- папка для размещения плагинов
    -world -- папка основного мира (название по умолчанию)
    -world_nether -- папка нижнего мира (он же Ад или Nether)

    Прежде всего заглянем в server.properties:
    Код:
    level-name=world          - название основного мира
    allow-nether=true        - включение/выключение ада
    view-distance=10          - радиус мира (в чанках), высылаемый игроку сервером
    spawn-monsters=true      - вкл./выкл. спавна мобов
    online-mode=true          - вкл./выкл. официальной авторизации
    spawn-animals=true        - вкл./выкл. животных
    max-players=20            - максимальное количество игроков
    server-ip=                - IP-адрес сервера
    pvp=true                  - вкл./выкл. PvP
    level-seed=              - сид (seed) основного мира
    server-port=25565        - порт сервера
    allow-flight=false        - вкл./выкл. возможности летать
    white-list=false          - вкл./выкл. авторизации по вайт-листу
    Из всех настроек на данный момент можно ограничиться лишь исправлением значения online-mode с "true" на "false", что позволит игрокам, не имеющем лицензионной версии клиента, заходить на ваш сервер. Остальные настройки рассмотрим позже.
    Итак: меняем, сохраняем, запускаем start.bat...
    Запустили? Вы уже можете подключиться к вашему серверу с этого же компьютера, написав вместо адреса сервера "localhost".

    Для того, чтобы на ваш сервер смогли зайти игроки извне, вам нужен внешний IP-адрес и открытый порт 25565 (если вы не меняли его в настройках). Внешний айпи предоставляет практически любой более-менее нормальный провайдер, но как правило за дополнительную плату в районе 50-150 рублей в месяц. Если вы находитесь за роутером (маршрутизатором), то вам будет необходимо "пробросить" нужный порт на внутренний IP вашего компьютера. Также стоит помнить, что необходимо разрешить входящие соединения на этот порт в антивирусе/фаерволе.

    Плагины

    Плагины добавляют необходимый функционал вашему серверу, исправляют недочёты, меняюют механику и т.д. Для установки плагина достаточно поместить его в серверную папку плагинов и сконфигурировать его файл настроек, если это необходимо (есть плагины, обходящиеся вовсе без настроек).
    Для корректной работы с файлами настроек плагинов вам потребуется хороший текстовый редактор. Я рекомендую скачать для этих целей бесплатный Notepad++ (конечно, если у вас уже не стоит чего-нибудь подобного).

    Прежде всего дам один простой совет: т.к. сервер Майнкрафта и так не очень шустро работает даже на очень хорошем железе, по возможности не ставьте лишних плагинов. Если нет цели сделать адски лагающий сервер, тщательно отбирайте их и не используйте так называемые плагины "всё-в-одном" такие как Essentials.

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

    Рассмотрим каждую категорию подробнее:

    Авторизация
    Плагин авторизации пригодится в том случае, если на ваш сервер будут заходить не только надёжные друзья из локалки, но и любые другие игроки, в порядочности которых вы не уверены, при этом оригинальная авторизация (действующая только для официальных платных аккаунтов) будет отключена. Проще говоря: в подавляющем большинстве случаев вам этот плагин понадобится.
    В зависимости от ваших потребностей необходимо выбрать один из следующих плагинов:
    xAuth - самый простой
    AuthMe
    AuthDB - самый навороченный

    Автоматическое сохранение
    Такой плагин пригодится всем и каждому: штатно сохранения производятся нерегулярно, из-за чего есть большая вероятность при падении сервера потерять какие-нибудь постройки за последние несколько часов, что весьма неприятно. В качестве подходящего я бы порекомендовал плагин с недвусмысленным названием AutoSave, позволяющий делать сохранения по расписанию, а также умеющий работать в отдельном потоке, что избавит игроков от всеобщего лага во время процесса сохранения.

    Ограничение размеров мира
    Мало для кого будет секретом, что карта в Minecraft [/COLOR]генерируется в процессе её исследования, при этом она может разрастаться до поистине гигантских размеров, если её не ограничить. Т.к. сервер Майнкрафт[/COLOR] не имеет для этого стандартных инструментов, приходится пользоваться плагинами. На сегодняшний день существует два хороших плагина для этих целей: BorderGuard и WorldBorder. У них достаточно схожий функционал и производительность, но последний имеет более гибкую настройку и более удобную установку границ, из-за чего рекомендую именно его.

    Разграничение прав
    В данной категории практически нет вариантов выбора т.к. действительно хороший плагин всего один, а потому не будем изобретать велосипед и воспользуемся Permissions. Этот плагин позволяет управлять правами пользователей, разделяя их на группы ("новичок", "продвинутый строитель", "VIP", "модератор" - как пример) и определяя их доступ к определённым командам и функциям аддонов. Он является своего рода стандартом и поддерживается подавляющим большинством плагинов, требующих разграничения прав. С недавних пор он обзавёлся поддержкой MySQL и раздельными настройками прав для каждого мира, а также возможностью управления правами непосредственно из игры.

    Подробнее об установке и настройке каждого плагина читайте в соответствующих темах.

    Продолжение следует.

    Далее в программе:
     

    Вложения:

    • font.txt
      Размер файла:
      473 байт
      Просмотров:
      2.256
    Kaspian, Kosach, Zion и ещё 1-му нравится это.
  2. Wellwisher

    Wellwisher
    Градостроитель
    1.333
    1.092
    463
    Пишите, что хотелось бы увидеть в первую очередь и какие моменты остались неясными из этого гайда.
    Будем помаленьку дополнять... [​IMG]
     
  3. gr0z

    gr0z
    Новичок
    71
    32
    218
    Не видел нигде, хочется видеть полностью всю информацию о нашем сервере, какая машина, какие плагины, и т.д.
    Не знал куда написать, как увидишь вишер, удали пост. =)
     
  4. otmorozik

    otmorozik
    Архитектор
    617
    320
    313
    Я думаю, для этого лучше сделать еще один блок справа на главной странице и озаглавить его "О нас", например. Пост тоже можно убрать. =)
     
    petr_2007 нравится это.
  5. Wellwisher

    Wellwisher
    Градостроитель
    1.333
    1.092
    463
    До смены движка форума у нас была подробная информация о машине, инет-каналах и т.д., после чего я раз 200 безуспешно отвечал на фразы "такая тачка, а лагает!!! не может быть, поправьте лаги!", пытаясь объяснить, что лаги в Майнкрафте будут на чём угодно, потому что мультиплеер не задумывался Нотчем как что-то массовое и не только написан на тормозной Яве, но и использует всего один поток вычисления! "У вас же ксеон!!!" - это меня порой доводило... Уже не Xeon, надо сказать, а Core i7 - 6-ядерный зион сменили на 4-ядерный i7 с большей тактовой частотой ядер. Ладно, закончу вайн) Очень надеюсь, что тупых вопросов "почему на нём лаги?!!" не будет.

    Серверная платформа SuperMicro, Core i7-960 (3.2 GHz), 24GB DDR3, SAS RAID
    Отдельные машины для Web-сервера и баз/бэкапов
    Отдельный тестовый сервер
    2 независимых 64mbit канала для сервера и сайта

    Плагины:
    AuthDB, AutoSave, BigBrother, ChunkRegenerate, DelayedStop, Dynmap, iChat, Locker, MCDocs, mcMMO, MyHome, Netstats, OddGive, OddItem, Permissions, ProperTime, Residence, SimpleGodMode, SimpleModerator, Superpickaxe, TelePlusPlus, VanishNoPickup, WorldBorder
     
    heppy нравится это.
  6. Tsukurikun

    Tsukurikun
    Подрядчик
    173
    83
    243
    Wellwisher , а авторизация и автоматическое сохранение только на bukkit сервере работают или на обычный можно поставить?
     
  7. Wellwisher

    Wellwisher
    Градостроитель
    1.333
    1.092
    463
    На чистом родном серве они работать не будут. А чем баккит не устраивает?
     
  8. Tsukurikun

    Tsukurikun
    Подрядчик
    173
    83
    243
    Карты нельзя переместить в сингл =/
     
  9. Wellwisher

    Wellwisher
    Градостроитель
    1.333
    1.092
    463
    Это почему же? [​IMG] Только что пробовал - всё ок, игрался в сингле на баккитовской карте.
     
  10. Tsukurikun

    Tsukurikun
    Подрядчик
    173
    83
    243
    Wellwisher , поправь ссылку font.txt - не скачивает.
     
  11. gr0z

    gr0z
    Новичок
    71
    32
    218
    Хорошо ли будет работать плагин не обновлявшийся под новою версию?
     
  12. Wellwisher

    Wellwisher
    Градостроитель
    1.333
    1.092
    463
    Это зависит от того, что в новой версии майна (баккита) поменялось и затронули ли эти изменения функции плагина. Некоторые небольшие узконаправленные плагины могут очень долго работать без обновления. Netstats, например, не обновляется чёрте-сколько, но глючить больше не стал (меньше - тоже [smile]). Более мощные плагины (mcMMO, BigBrother) необходимо своевременно обновлять, но разрабы у них очень активные и новые версии выпускают довольно регулярно.
     
  13. qrelly

    qrelly
    Подрядчик
    159
    209
    258
    Вэлл, а Permissions у вас работает на YAML или же вы перевели его на MySQL? Ибо очень не документированный плагин.
     
  14. Wellwisher

    Wellwisher
    Градостроитель
    1.333
    1.092
    463
    Про пермишены постараюсь сегодня-завтра написать подробно.
    Серв ещё не перешёл на 3-ю версию, она пока проверяется (но багов не заметил). 3-я очень понравилась удобными настройками для каждого мира, так что скоро её поставим и сделаем Ад более хардкорным. Также скорее всего добавим Небесный мир с отдельным от остальных инвентарём.
    На MySQL пока вряд ли будем переводить, ибо данных не там много и мне проще файлик поправить руками где надо. Хотя на будущее попробуем сделать привязку пермишенов к форумной базе, там уже удобнее будет работать с SQL.
     
  15. qrelly

    qrelly
    Подрядчик
    159
    209
    258
    С MySQL проще управлять данными через всевозможные веб-интерфейсы [smile]
     
  16. Wellwisher

    Wellwisher
    Градостроитель
    1.333
    1.092
    463
    Это да, но лазить в пермишены приходится от силы 1-2 раза в неделю.
    Будет больше разделений (миры, группы пользователей..) - тогда действительно намного удобнее будет через веб.
     
  17. qrelly

    qrelly
    Подрядчик
    159
    209
    258
    В пермишн вообще нет интеграции с *Auth плагинами, пичалька.
     
  18. igm2010

    igm2010
    Подрядчик
    56
    1
    208
    Вау полезная инфа. Я когда создова также серв мой друг вошол и там такие лаги были что... неважно важно то как сделать связь с сайтом (ну можно было зарегаться а потом токо играть) и как сделать чтоб когда бил по кубу он не появлялся заного и чтоб все консольные команды работали....[​IMG]

    Кто хороший и опытный человек подскажите плизз...
     
  19. qrelly

    qrelly
    Подрядчик
    159
    209
    258
    Создавай отдельную тему в соответствующем разделе.
     
  20. igm2010

    igm2010
    Подрядчик
    56
    1
    208