Подробная инструкция по поднятию bukkit сервера под Windows. Bukkit


Я научил вас создавать minecraft сервер, сегодня мы сделаем практически то же самое, но теперь мы будем использовать bukkit, а это значит, что мы сможем установить на наш сервер плагины. Повторюсь, процесс до неприличия похож на установку обычного сервера, поэтому не удивляйтесь, если одолеет дежавю.

Начинаем, для начала нам понадобится скачать bukkit. Он абсолютно бесплатен и качается на официальном сайте. Вот ссылка, по которой всегда можно скачать самую последнюю версию:

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

Java -Xms512M -Xmx1536M -jar craftbukkit-1.2.5-R1.0.jar

Внимание, число 512 — это минимальное количество оперативки, которое будет выделено серверу. Число 1536 — максимальная оперативка. А вместо «craftbukkit-1.2.5-R1.0.jar» должно быть название вашего файла bukkit’а. Сразу говорю, что если вы читаете статью в будущем, то файл, скачаный вами, скорее-всего, имеет другое название, потому-что с каждым обновлением в его названии пишут новый номер версии.

Теперь сохраним наш файл с расширением «.bat». Я, например, сохранил его как «run.bat».

При запуске этого файла будет подниматься наш сервер. Ну, собственно, запустим его. Должно появиться окно консоли с разными сообщениями. Ждем, пока не появиться сообщение примерно такого типа (я ждал 25 секунд):

21:12:59 Done (24,943s)! For help, type "help" or "?"

Теперь отключаем сервер, набрав в консоли команду «stop». Мы включили и выключили сервер, чтобы он сгенерировал карту и создал себе нужные папки и файлы.

Давайте посмотрим на файлы, которые появились в нашей папке. В основном это те же самые файлы, которые были и в стандартном сервере. Их я расписывать не буду, потому-что я это делал в про стандартный сервер. Кроме них есть еще 3 исключительно bukkit’ных файла:

  • help.yml — хранит в себе данные о командах установленных плагинов и краткую справку к ним. Этот файл генерируется автоматически и его не надо изменять.
  • permissions.yml — в нем прописываются разрешения для пользователей. Скажу честно, я совершенно не знаю, как им пользоваться, так как его ввели сравнительно недавно и мы по привычке пользуемся сторонними плагинами, которые отлично справляются со своими обязанностями.
  • bukkit.yml — основные настройки сервера, сейчас все подробно разберем.

Итак, встречайте, bukkit.yml:

#Внимание! Во всех.yml файлах запрещена табуляция, используйте пробелы settings: #разрешить ли край: allow-end: true #выводить ли в консоль системные сообщения, если сервер перегружен: warn-on-overload: true #радиус спавна. Влияет на защиту территории спавна: spawn-radius: 16 #путь к файлу с разрешениями: permissions-file: permissions.yml #если у вас в папке /plugins есть папка /update, то при запуске из нее возьмутся #свежие версии плагинов и заменят старые: update-folder: update #эта функция, если верить офф вики, временно не работает: ping-packet-limit: 100 #если при входе в игру вы застреваете в блоках, попробуйте изменить это на true: use-exact-login-location: false #что-то типа вывода отладочной инфы о плагинах, лучше не трогать: plugin-profiling: false #время, которое должно пройти после выхода с сервера, чтобы можно было снова зайти. #Указывается в миллисикундах, то есть 1000 = 1 секунда. Защищает от ддосов: connection-throttle: 4000 ticks-per: #означает, что животные будут спавниться каждые 400 тиков (1 тик = 1/20 секунды): animal-spawns: 400 #монстры будут спавниться каждый тик: monster-spawns: 1 #автообновлятор, никогда им не пользовался, чего и вам советую auto-updater: #включен-ли обновлятор enabled: true #что делать, если в текущей сборке найден баг? сейчас стоит "написать в консоль" и #"написать опам": on-broken: - warn-console - warn-ops #что делать, если вышла новая версия буккита? сейчас стоит "написать в консоль" и #"написать опам": on-update: - warn-console - warn-ops #по какому каналу искать обновления ("rb", "beta" или "dev"). "rb" - Recomended #Build, то есть там только проверенные, стабильные версии. "beta" - судя по всему #более эксперементальные версии. "dev" - самые новый, но сырые и тестовые версии, #в которых может быть много багов: preferred-channel: rb #где искать обновления. Этот параметр менять не надо. Никогда: host: dl.bukkit.org #об этом пункте в документации ни слова: suggest-channels: true #какие-то настройки для базы, в офф документации их советуют не менять: database: username: bukkit isolation: SERIALIZABLE driver: org.sqlite.JDBC password: walrus url: jdbc:sqlite:{DIR}{NAME}.db

Также у нас появилась папка «plugins». Как правило, плагины устанавливаются при помощи копирования.jar файла плагина в эту папку и перезапуском сервера.
Если вы знаете английский, то плагины берите отсюда:

Собственно все, настраиваем, запускаем и играем. Команды такие же, как и у обычного сервера, плюс вот еще немного новых:

  • /plugins — выводит список плагинов, которые установлены на сервере
  • /reload — если вы хотите поставить плагин на сервер без перезагрузки сервера, то скопируйте плагин в папку и запустите эту команду. Она перезагрузит все плагины. Но все-таки не рекомендую ей пользоваться, она не всегда стабильна.
  • /say <сообщение> — написать в чат от имени сервера.
  • /tell <ник> <сообщение> — отправить приватное сообщение
  • /version — узнать версию bukkit-сервера
  • /whitelist add <ник> — добавить игрока в вайтлист
  • /whitelist remove <ник> — удалить игрока из вайтлиста
  • /whitelist off — отключить вайтлист
  • /whitelist on — включить вайтлист
  • /whitelist list — просмотреть вайтлист
  • /whitelist reload — перезагрузить вайтлист из файла

Это первая и вводная статья по настройке сервера Minecraft на базе лучшего серверного мода игры - СraftBukkit.

  • Подготовка
  • Установка и русификация
  • Запуск сервера
  • Настройка
  • Общая информация по плагинам
  • Базовые плагины

Подготовка

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

Желательны Nginx и Mysql, базовое понимание утилиты Screen.

Mkdir minecraft && cd minecraft sudo aptitude install sun-java6-jre screen zip

Установка и русификация

Эти операции можно автоматизировать, но перед тем как перейдём к скрипту - немного теории:

Последний рекомендуемый билд сервера - http://ci.bukkit.org/job/dev-CraftBukkit/promotion/latest/Recommended/ . Нужен именно последний рекомендуемый билд, а не просто последний. Иначе делайте ручкой плагинам.

Из русификатора нужно взять папку lang и font.txt и заменить ими файлы внутри файла.jar сервера. Это удобно сделать в менеджере архивов, так как.jar почти обычный.zip.

Скрипт делает всё это автоматически. К сожалению автор русификатора не предоставляет постоянную ссылку на последнюю версию, поэтому когда русификатор обновляется - ссылку в скрипте нужно править.

  • Скрипт скачивает последний рекомендуемый билд сервера и русификатор во временную папку.
  • Распаковывает и заменяет файлы первого нужными файлами второго.
  • Обновляет.jar файл сервера на получившийся русифицированный и удаляет временную папку.
vim scripts/upd_and_rus.sh #!/bin/bash mkdir -p tmp_ru && cd tmp_ru wget http://ci.bukkit.org/job/dev-CraftBukkit/promotion/latest/Recommended/artifact/target/craftbukkit-1.0.1-R1.jar wget http://minecraft-game.ru/wp-content/uploads/2011/11/Minecraft1.0_rus_manual.zip unzip Minecraft1.0_rus_manual.zip \*/lang/\* \*/font.txt mv to\ jar/* . zip -j craftbukkit-1.0.1-R1.jar lang/\* font.txt mv -f craftbukkit-1.0.1-R1.jar ../ cd ../ && rm -rf tmp_ru

Делаем скрипт исполняемым и запускаем:

Chmod +x upd_and_rus.sh && scripts/upd_and_rus.sh

Чтобы узнать о выходе новых версий можно использовать эти rss ленты:

Запуск сервера

Запускать сервер тоже будем скриптом и обернём в screen. Скрипт запускает сервер и перезапускает если он уже запущен.

Vim scripts/minecraft.sh #!/bin/bash screen -X -S minecraft quit cd `/dobroservers/minecraft screen -A -m -d -S minecraft java -Xincgc -Xmx1G -jar craftbukkit-1.0.1-R1.jar chmod +x minecraft.sh

Запускайте сервер:

Scripts/minecraft.sh

Файлов после этого прибавится, в том числе будут созданы файлы настроек.

Настройка

server.properties

vim server.properties

Оффлайн режим (ваша гавань открыта для корсаров):

Online-mode=false

Сложность, диапазон 0-3:

Difficulty=2

Название сервера:

Server-name=Dobroserver

Описание сервера:

Это вторая строчка, перед подключением к серверу.

bukkit.yml

В этом файле можно настроить базу данных и алиасы.

Первые удобнее настраивать плагином, а вот базу указать можно:

Меняем БД на Mysql:

Database: username: minecraft isolation: SERIALIZABLE driver: com.mysql.jdbc.Driver password: pass url: jdbc:mysql://localhost:3306/minecraft

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

Многие из них предлагают на выбор хранить базу данных в Mysql или локально. Первый вариант всегда лучше. Во-первых он намного быстрее, во-вторых работать с базой будет проще - например если плагин создаст дубликаты записей и вам нужно будет это исправить.

Для удобства храните все данные плагинов в одной базе, но используйте для разных плагинов префиксы, например lwc_ для LWC.

Применение настроек

Чтобы применить настройки, сервер нужно перезапустить:

/scripts/minecraft.sh

Скрипт просто убьёт сервер и запустит заново - изменения мира не сохранятся.

Сейчас это абсолютно не критично, в начале на сервере сидите только вы, да и то не строете, а проверяете работает ли он.

А если бы на сервере играли другие игроки более правильно было бы перезапускать так:

Screen -x minecraft save-all stop /scripts/minecraft.sh

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

Подключитесь к серверу и проверьте всё ли нормально.

Общая информация о плагинах

Настройки не требует, позволяет использовать информеры.

CommandHelper

Чтобы плагин работал - сначала установите WorldEdit:http://dev.bukkit.org/server-mods/worldedit/ , внутриигровой редактор карты.

О нём будет сказ в отдельной статье, пока просто скопируйте WorldEdit.jar и CommandHelper.jar в папку plugins и перезагрузите плагины командой reload.

В файле config.txt находится множество примеров базовых скриптов и алиасов, советую переименовать его в config.txt.examples, создать новый пустой файл config.txt и наполнять его по мере необходимости:

Mv plugins/CommandHelper/config.txt plugins/CommandHelper/config.txt.examples vim plugins/CommandHelper/config.txt

Одна команда:

/save = /save-all

Макрос из двух команд:

/ver = /plugi l all \ /version

Установить и настроить плагины Bukkit не так просто. Здесь мы рассмотрим процесс установки основных плагинов, которые необходимы для запуска многопользовательского сервера (но не сервера Vanilla). Сначала установим плагин Essentials. Откройте новую вкладку в веб-браузере и перейдите по адресу http://dev.bukkit.org/server-mods/essentials/

Нажмите «Download» (Скачать) в правой части страницы. На открывшейся странице еще раз нажмите «Download». Теперь откройте скачанный ZIP-файл и скопируйте JAR-файлы, которые находятся в архиве. Перейдите в папку с файлами вашего сервера. В ней найдите папку «plugins»; откройте эту папку и вставьте в нее скопированные JAR- файлы.

Вернитесь в основную папку с файлами сервера. Найдите и дважды щелкните по файлу «run.bat», чтобы запустить сервер. На экране отобразится несколько сообщений со словом «Essentials» - это процесс создания необходимых файлов в папке «plugins». Теперь введите команду stop, чтобы остановить сервер.

Теперь плагин Essentials установлен на сервере. Перейдите в основную папку с файлами сервера, а затем найдите и откройте файл «server.properties». Возможно, откроется всплывающее окно, в котором будет предложено найти программу для запуска файла - в этом случае просто нажмите на опцию, чтобы выбрать одну из программ, а затем щелкните по «ОК» и выберите «Блокнот».

В файле «server.properties» можно настроить свой сервер. Например, можно указать максимальное количество игроков и активировать «белый список», который позволит подключиться к серверу только тем игрокам, которых вы укажете (в другом файле). Чтобы отключить или активировать определенный параметр, поменяйте значение с «true» (включить) на «false» (отключить) и наоборот. Например, по умолчанию параметр «allow-nether», который активирует Нижний мир, имеет значение «true». Нижний мир, как правило, тормозит работу сервера. Поэтому измените значение этого параметра с «true» на «false».

Другой пример - измените режим игры, установленный по умолчанию. Таким режимом является режим выживания. Измените значение с «0» на «1», чтобы основным режимом стал творческий режим.

Сохраните файл «server.properties» и закройте его. Теперь дважды щелкните по файлу «run.bat», чтобы запустить сервер, а затем запустите игру Minecraft. Войдите в Minecraft, перейдите на страницу многопользовательского сервера, выберите «Подключиться» и введите «localhost» (без кавычек). Вы подключитесь к созданному серверу. В командной строке введите команду: op <имя вашей учетной записи>. Эта команда предоставит вашей учетной записи статус оператора, который открывает доступ практически ко всем командам. В мире Minecraft выберите красивую местность, нажмите клавишу «T» и введите команду /setspawn

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

Вряд ли кому-то придёт в голову открывать сервер без плагинов, а потому в этой статье я расскажу о серверном моде 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 генерируется в процессе её исследования, при этом она может разрастаться до поистине гигантских размеров, если её не ограничить. Т.к. сервер Майнкрафт не имеет для этого стандартных инструментов, приходится пользоваться плагинами. На сегодняшний день существует два хороших плагина для этих целей: BorderGuard и WorldBorder . У них достаточно схожий функционал и производительность, но последний имеет более гибкую настройку и более удобную установку границ, из-за чего рекомендую именно его.

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

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

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


Далее в программе:
  • MySQL: зачем нужно и как с ним работать
  • Доменное имя: откуда взять и что с ним делать
  • Сайт и форум: как сделать, где разместить

Bukkit. Что это и с чем его едят?

Bukkit. Что это и с чем его едят?

Bukkit - серверная API, для взаимодействия с игровым миром и созданная для упрощения создания плагинов под SMP сервер. Призван заменить hey0"s Mod . Bukkit был первоначально задумана как два инструмента: CraftBukkit и Bukkit. Позже разработали ScrapBukkit. Bukkit является самой популярной API, и, по-видимому таковой и останется до выхода официального API от Mojang (а то и после).

Установка

mv craftbukkit-1.1-R2.jar CraftBukkit.jar

В следующей команде замените на количество Вашей оперативной памяти (512M, 1536M, 1G, 2G, 4G...):

Плагины

Вам надоело играть на "чистом" сервере?

Этот мини-гайд объясняет, как установить основные плагины на Ваш сервер.

1. Выбираем нужный плагин (лучше от сюда - Bukkit Plugin List)

2. Перемещаем файл.jar и другие файлы в папку /plugins

3. Запустите сервер и дождатесь его полной загрузки.

4. Введите Stop в консоль сервера.

5. Запустите сервер.

6. Все сделано! Ваш плагин должен быть установлен и готов к использованию.

Основные плагины:

World Edit - позволяет редактировать мир. Быстрее, чем это делается в ручную:)









2024 © radiocodes.ru.