Подробная инструкция по поднятию 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 файл сервера на получившийся русифицированный и удаляет временную папку.
Делаем скрипт исполняемым и запускаем:
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. Что это и с чем его едят?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 - позволяет редактировать мир. Быстрее, чем это делается в ручную:)