Главная » Статьи » Разное |
Когда-то давно мы уже писали, как создать сервер minecraft для себя и своих друзей. Но уже много времени прошло с того момента, да и сегодня, мы бы хотели больше внимания уделить не просто созданию сервера, а запуску сервера на Bukkit, который поддерживает плагины. Также опишем ошибки, с которыми сталкиваются новички при создании серверов и о которых вы больше всего спрашивали. Итак, как же создать сервер на Bukkit? Часть 1. Находим нужную сборку. Заходим на сайт bukkit.org Видим сайт с новостями, но то, что нам нужно находится справа: Здесь показаны последние рекомендованные сборки Bukkit и версии Minecraft для них. Обратите внимание на слово рекомендованные. Это означает что эти сборки уже протестированы и более-менее стабильны. Нажав на одну из них, мы перейдем на страницу скачивания. А можно поискать более новые, но потенциально нестабильные сборки Bukkit. Например на сегодняшний день, там можно найти сборку для Minecraft 1.0.0 Для этого, на странице скачивания рекомендованной сборки, сверху, нужно нажать на ссылку dev-CraftBukkit Увидим страницу следующего содержания: Мы видим снизу рекомендованную сборку #1337. Она под Minecraft 1.8.1. А повыше есть сборка #1493. Она была собрана и работает без видимых ошибок. Жмем на нее и на следующей странице скачиваем craftbukkit-1.0.0-SNAPSHOT.jar Мы только что скачали сборку CraftBukkit для Minecraft 1.0. Сохраните ее в отдельную папку, где у вас будет располагаться сервер. Часть 2. Первичный запуск. Далее открываем Блокнот (или любой другой текстовый редактор) и пишем туда строки для запуска нашего сервера: java -Xmx2048M -Xms256M -jar craftbukkit-1.0.0-SNAPSHOT.jar nogui где Xms — начальное значение выделяемой серверу оперативной памяти, Xmx -максимальное. Стоит ставить это значение равным 3/4 от объема вашей оперативной памяти. После чего сохраняем файл как start.bat (под Windows). На примере блокнота — при сохранении нужно выбрать не формат txt, а «все файлы»: Далее запускаем файл start.bat Сервер должен начать подготовку к работе. А именно — создание миров, конфигурационных файлов. Не закрывайте сервер, пока он не закончит всё надписью Done. Консоль сервера: После чего добавим свой ник в файл ops.txt, чтобы стать админом на своем сервере а лучше просто вбить в консоль сервера команду op ваш_ник. Обратите внимание, что в серверной консоли, слэш / перед командой не пишется. В моем случае это выглядело так: После этого пишем в консоли команду stop. Это остановит наш сервер, который мы сейчас будем настраивать. Возьмите в привычку всегда останавливать сервер командой stop. Эта команда мягко остановит сервер и серьезно сократит возможность порчи мира, чем если бы вы просто закрыли окно сервера. Часть 3. Первичная настройка сервера. Вернемся в папку с вашим сервером. После первого запуска там появилось много файлов и несколько папок. Нам понадобится файл server.properties. Открываем его с помощью любого текстового редактора. Мы увидим строки конфигурации. Многие значения имеют два параметра — true или false. Рассмотрим некоторые из них: allow-nether=true — разрешить/запретить Нижний мир на сервере level-name=world — имя карты. В большинстве случаев менять не требуется. Если вы закинули мир из сингла, то поменяйте значение на имя папки с вашим миром, или переименуйте его в world allow-flight=false — вкл/выключить встроенную защиту от полетов. Будет кикать летающих игроков без creative режима. Если вы планируете другую защиту от полетов, можете отключить этот параметр. enable-query=false enable-rcon=false — эти 2 строки используются для удаленного подключения к консоли. server-port=25565 — порт, по которому будет доступен сервер. level-seed= — сид для генерации мира. server-ip= — ip сервера. В большинстве случаев можно оставить пустым, особенно если все работает. white-list=false — вкл/выкл вайтлист на сервере. При включенном параметре, зайти смогут только те игроки, которые прописаны в файле white-list.txt spawn-animals=true — будут ли появляться нейтральные мобы spawn-monsters=true — будут ли появляться агрессивные мобы online-mode=true — при true зайти смогут только игроки с лицензией. При false — все. Не стоит выставлять его в false, если на сервере нет парольной защиты для игроков, иначе любой сможет зайти под вашим администраторским ником и натворить делов.. pvp=true — вкл/откл ПвП на сервере. при выключенном параметре, игроки не смогут атаковать друг друга. difficulty=1 — сложность игры. Варьируется от 0 до 3 gamemode=0 — режим игры на сервере. 0 — выживание, 1 — креатив режим. max-players=20 — максимальное количество игроков. view-distance=10 — дальность вида на сервере. Влияет на то, сколько чанков в каждую сторону видит игрок. Может принимать значения от 1 до 15 motd=A Minecraft Server — имя сервера, будет отображаться в списке серверов в главном меню. Вот мы и разобрались с файлом server.properties. В принципе сервер уже может функционировать и принимать первых игроков (если все прошло без ошибок). Запустим сервер снова: Желтым цветом я выделил версию Minecraft, под которую запущен сервер (1.0.0) и версию сборки Bukkit (#1493). Можно попробовать зайти на свой сервер по ip 127.0.0.1 или localhost (если он располагается на вашем компьютере), либо по ip того компьютера, на котором он запущен (например выделенный сервер, либо соседний компьютер в локальной сети). Друзья же могут подключиться по вашему внешнему ip (узнать можно на сайте myip.ru), при условии, что порт открыт. Об этом мы поговорим чуть позже. Что же? Сервер работает, игроков вроде уже можно пускать. Но что же мы упустили? А упустили мы именно то, зачем устанавливали именно Bukkit — расширение игровых возможностей при помощи плагинов. А также не помешало бы русифицировать сервер, чтобы игроков не кикало за русские буквы Так что пока остановите сервер. Часть 4. Русифицируем сервер Вернемся в папку, где у нас лежит Bukkit. Открываем файл craftbukkit-1.0.0-SNAPSHOT.jar с помощью WinRAR или любого архиватора, который поддерживает .zip формат (тысячи их). Далее скачиваем наш русификатор. Берем папку lang и файл font.txt из русификатора и добавляем их в craftbukkit-1.0.0-SNAPSHOT.jar при помощи того же WinRAR, с заменой файлов. Все, сервер теперь понимает русский язык! Часть 5. Плагины! Вот и добрались мы до части, которая заметно расширит функционал нашего сервера. Так как установить плагин Bukkit? Установить плагин достаточно легко. Все плагины Bukkit можно найти на сайте Bukkit, в разделе Get Plugins. Ссылка — http://plugins.bukkit.org/ Плагинов великое множество, а сервер один Так что не переборщите. Опишу вкратце процесс установки плагина на Bukkit. Вначале качаем понравившийся вам плагин. Они бывают либо просто jar файлом, либо запакованными в архив zip или rar. 5.1 Установка плагина Если у вас .jar плагин, просто закиньте jar файл в папку plugins и запустите сервер, либо перезапустите его, если он работал, командой /reload. Но иногда это может не помочь. В этом случае остановите сервер и запустите его снова. При перезапуске, плагин, помимо jar файла создаст себе еще папку, в которой будут храниться его конфигурационные файлы и данные. Если плагин шел архивом zip или Rar, то скорее всего, конфигурационные файлы уже лежат внутри архива. Просто распакуйте и файл .jar и папку с настройками в папку plugins и перезапустите сервер. 5.2 Настройка плагина Свою конфигурацию плагины обычно хранят в .yml (YAML) файлах. Для их открытия потребуется более продвинутый текстовый редактор, нежели блокнот. Можно использовать NotePad++ который имеет массу возможностей, причем совершенно бесплатен. Для того, чтобы он корректно редактировал YAML файлы, необходимо зайти в Опции ->Настройки и во вкладке Синтаксис/Табуляция, справа поставить галочку «Заменить пробелом». Если вы упустите этот шаг, yml файл с настройками будет испорчен! (Если это случилось, просто удалите или переместите файл с настройками. При перезапуске, плагин создаст новый файл) При редактировании yml файла, нужно быть предельно осторожным и соблюдать отступы слева. Мой вам совет — смотрите на оригинальные файлы настроек: если там было к примеру 4 пробела слева, то при редактировании там должно быть именно 4 пробела. В противном случае после перезапуска плагин не будет работать. 5.3 Пример установки плагина. Плагин, который мы будем устанавливать — AuthMe. К слову, сделан он нашими соотечественниками Идем на plugins.bukkit.org, находим его. Далее переходим на страницу плагина. Там описаны все основные команды, варианты настройки и работы. Обращу внимание на префикс и постфикс: [SEC] — означает категорию плагина. В данном случае это Security — защита. [1240] — сборка Bukkit, под которую заточен плагин. Он будет 100% работать на этой сборке. Работа на других сборках возможна, но не гарантирована, могут возникнуть ошибки. Но все же, большинство плагинов могут работать. Попытаем удачу. Качаем плагин. В данном случае у нас только файл .jar, так что кидаем его в папку plugins. Запускаем сервер. На данном скриншоте видно, что плагин активировался: В принципе, этот плагин уже будет исправно работать, а редактировать файлы придется только для тонкой настройки под свои нужды. Однако в некоторых плагинах, требуется начальная настройка. Заглянем в папку plugins и видим, что там у нас помимо файла .jar, появилась папка AuthMe. Там то и лежат конфигурационные файлы. Внутри папки видим 3 файла: Внутри файла auths.db находится база данных авторизаций пользователей и их пароли. В messages.yml лежат выдаваемые плагином сообщения. В config.yml настройки плагина. Он то нам и нужен. Откроем его при помощи Notepad++: Разберем файл: Он содержит свойство (слева) и его значение (справа). Для удобства, я буду свойство отмечать красным цветом, а значение зеленым. Затрону только некоторые строки, которые влияют на результат. backend: file — тип БД — файл или MySQL Далее настройки БД MySQL. При использовании файла, они не нужны. mySQLDatabase: authme — имя БД mySQLPort: ’3306′ порт для коннекта к БД mySQLHost: 127.0.0.1 — где находится сервер БД mySQLPassword: ’12345′ пароль Mysql caching: true — кэширование. settings: sessions: enabled: false — запоминать пользователей после выхода? timeout: 10 — время, которое пользователя будет помнить Далее идут меры для неавторизованных пользователей. restrictions: allowChat: false -может ли писать в чат kickNonRegistered: false — кикает, если человека нет в БД teleportUnAuthedToSpawn: true — неавторизованный пользователь стоит на спавне. maxNicknameLength: 20 — макс. длина ника allowMovement: false — может ли двигаться minNicknameLength: 3 мин. длина ника timeout: 30 — если пользователь не ввел пароль и просто стоит, то его кикнет через заданное количество секунд allowedMovementRadius: 100 -радиус, на который разрешено движение allowedNicknameCharacters: ‘[a-zA-Z0-9_?]*’ — разрешенные символы для никнейма. (Регулярное выражение) Настройки безопасности: security: passwordHash: SHA256 -алгоритм хэширования паролей. registration: enabled: true — ключена ли регистрация в игре messageInterval: 5 — интервал, с которым пользователю показывается сообщение о том что нужно зарегистрироваться. force: true — обязательна регистрация или нет. Сохраним наши настройки(если меняли) и перезапустим сервер: Видим, что плагин работает. В принципе все. К каждому плагину обычно имеется подробное описание и инструкция по настройке и командам. Так что следуйте инструкциям и все у вас получится Часть 6. Ошибки при создании сервера. В данной части хочу поделиться с наиболее частыми ошибками, возникающими при создании сервера. Not Enough RAM! - это скорее не ошибка, а предупреждение о том, что доступная серверу оперативная память заканчивается. FAILED TO BIND TO PORT. Perhaps a server is already running on that port? - самая распространенная ошибка при запуске сервера. Означает, что не удается открыть порт, для соединения с сервером. Проверьте настройки своего файрвола/брандмауэра, не блокирует ли он соединения на данный порт. Также посмотрите, не использует ли какая — нибудь программа этот порт. Однако, часто такая ошибка возникает, если ваш компьютер подключен к интернету через роутер. В этом случае вам нужно сделать проброс портов. На сайте http://portforward.com/ вы можете скачать утилиту для открытия портов, достаточно найти модель своего роутера в списке и скачать утилиту для него. Либо зайдите в интерфейс вашего роутера, найдите пункт меню «Открытие портов», «Проброс портов», или «Виртуальный сервер» и там уже укажите порт, на котором находится сервер, а еще свой внутренний ip, куда будут пересылаться пакеты с внешнего ip. Узнать свой внутренний ip, можно, набрав в командной строке Windows (Пуск->Выполнить->cmd) команду ipconfig. Либо командой ifconfig, если у вас Linux. Найдите там свое подключение: Здесь — 192.168.0.65 — наш внутренний IP. У вас значение может быть другим, но обычно локальный IP имеет вид 192.168.*.* На примере моего роутера, проброс выглядит так: Нас интересует вторая строчка. В данном примере, сервер на порту 25565, расположен на компьютере с локальным IP 192.168.0.2. Имя задается какое угодно. Мы находимся в меню роутера ->Межсетевой экран-> Виртуальные серверы. В вашем случае путь к этой странице может отличаться. [WARNING] Can’t keep up! Did the system time change, or is the server overloaded? — данное предупреждение означает, что сервер не успевает совершать необходимые действия за нужное время, т.е просто напросто тормозит. Немного теории: сервер Minecraft при работе обновляет все свои действия (расчет света, обновление чанков, передвижение игроков и мобов, работа редстоуна, течение воды и лавы) 20 раз в секунду. Это его идеальная скорость, при которой все процессы выполняются «как в сингле». При замедлении скорости, проявления могут быть такими: низкая скорость загрузки чанков, низкая скорость передвижения мобов (рывками), работы редстоуна, долгие дни и ночи и т.д. Причина возникновения: слабое железо, большое количество игроков, много ресурсоемких плагинов. Read Time Out - если этих строк много подряд, а сервер не отвечает, означает, что он подвис, после чего отклоняет висящие соединения. Возмножно, кто то запустил ресурсоемкую операцию (например регенерацию 100500 чанков), после которой сервер «отвиснет» и продолжит работу. Если же не продолжит, то спасет только перезапуск. Connection Reset - означает обрыв соединения с каким либо клиентом. Если строчек много и идут они подряд, то см предыдущий пункт. Bad Login/User Not Premium - если при заходе на свой сервер появляется эта ошибка, то значит у вас нет лицензии. Чтобы разрешить пользователям без лицензии подключаться к серверу, поставьте в server.properties строчку online-mode=false Заключение. Вот в общем то и все) Экспериментируйте, создавайте, изучайте новое и у вас все обязательно получится. Внимание! Запрещено копирование без согласия автора и ссылки на Minecraft-Game.ru P.S После прочтения данного урока, кошка GosDum’a смогла поднять свой собственный сервер и уже играет с котятами по сети.
| |
Просмотров: 283 | Рейтинг: 1.0/1 |
Всего комментариев: 0 | |