Как создать запускатор для сервера майнкрафт

Сегодня мы напишем простенький лаунчер для игры Minecraft. Реализовывать мы это будем с помощью CMD в Win 7, и поместим это все в файл расширения «.bat». Далее пот катом.

Вставляем туда следующий код:

Мы написали почти что настоящий лаунчер для игры Minecraft. Гарантированная работоспособность на Win7 x64.

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Редакторы Хабра врываются в велосезон, каждый по-своему

Написал хороший текст — получил приглашение.

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

С большой вероятностью не пройдут премодерацию:

Первым делом, ознакомься с общими требованиями для создания публичного сервера игры. А теперь приступим.

0. Java. Тут всё просто. Для игры в Minecraft нужна платформа Java, её вы можете скачать здесь.

2. Скачать версию клиента игры Minecraft, по большей части для проверки работоспособности сервера. Ну и самому наверное тоже хочется поиграть.
Версия клиента игры должна соответствовать версии сервера, т.е. если версия сервера 1.7.10, то и версия клиента должна быть 1.7.10, а также, как я уже писал выше, в клиентскую версию должны быть установлены все модификации, которые присутствуют на сервере.

3. Настроить сервер. Если вы скачали программу для сервера, то зайдите в настройки и установите необходимый порт в соответствующем поле. Рекомендуется порт “25565”, т.к. это порт по умолчанию и вашему другу достаточно указать лишь внешний IP-адрес для подключения к игре (т.е. порт указывать не обязательно). Остальные настройки зависят от программы.

1. Создайте каталог для сервера (например “D:\Games\MineServer”) и скопируйте туда файл сервера minecraft_server.jar.
2. Откройте блокнот и вставьте в него следующую строчку:

Для 32-битных операционных систем и для 64-битных (выделение не более 2 гб.)

Для 64-битных операционных систем (выделение памяти более 2 гб.)

Где “C:\Program Files\Java\jre7\bin\java.exe” – это полный путь к 64-битной Java.
Параметр nogui отключает графическую оболочку сервера.
-Xmx1024M и -Xms1024M – объём выделяемой памяти (для 32-битных не более 2 гб.)

3. Сохраните файл как “start.bat” в каталог вашего сервера и запустите его.

Откроется консольное окно и через некоторое время оно закроется. Так и нужно.

4. Теперь у вас в каталоге появились некоторые файлы. Для начала откройте файл “eula.txt” и установите параметр eula в true:

Это лицензионное соглашение с Minecraft. Сохраните и можете закрывать.

5. Теперь откройте файл “server.properties” через блокнот. Это основной файл параметров. Ниже представлен перечень параметров этого конфигурационного файла. Скопируйте и настройте под себя.

Параметр Значения По умолчанию Описание
Основные параметры сервера
motd Строка не более 60 символов A MinecraftServer Описание сервера, отображаемое при подключении в списке серверов. Поддерживает форматирование текста.
max-players Число (0-2147483647) 20 Указывает максимальное допустимое количество игроков на сервере.
gamemode Число (0-3) 0 Стандартный игровой режим, автоматически устанавливаемый всем впервые зашедшим на сервер игрокам. Режим отдельного игрока меняется командой /gamemode.
player-idle-timeout Число 0 Если не поставлен ноль, то игроки будут автоматически отключаться от сервера, если они ничего не делали в течение указанного времени (в минутах). resource-pack Имя файла нет Местоположение ресурсов, которые сервер предложит загрузить игроку при соединении. В данном поле нужно указать прямую ссылку на zip-архив. enable-query true / false false Позволяет активировать протокол GameSpy4 для прослушки сервера (получении информации о сервере). query.port Число (1-65535) 25565 Порт для получения информации о сервере. Появляется автоматически при enable-query=true. enable-rcon true / false false Позволяет использовать удаленный доступ к консоли сервера. rcon.password Строка нет Пароль для удаленного доступа к серверу. Появляется автоматически при enable-rcon=true. rcon.port Число (1-65535) 25575 Порт для удаленного контроля сервера. Появляется автоматически при enable-rcon=true. snooper-enabled true / false true Разрешает серверу отправлять некоторую статистику и данные разработчикам. Установки для генерации новой карты level-name Имя папки world Название папки с файлами карты, которую будет использовать сервер во время игры. Данная папка размещена в том же каталоге, где находится сервер. Если её не окажется, сервер автоматически сгенерирует новый мир и поместит его файлы в папку с этим названием, используя эти настройки. level-seed Любое допустимое зерно нет Входные данные (seed) для генератора уровня. Если вы хотите создать случайный мир — оставьте данное поле пустым. level-type DEFAULT / FLAT / LARGEBIOMES / AMPLIFIED DEFAULT Определяет тип мира:

max-build-height Число, кратное 16 (64 — 256) 256 Указывает максимальную высоту постройки на вашем сервере. Выше этого уровня нельзя будет ломать или ставить блоки. Местность может генерироваться выше этого уровня, также можно разрушать блоки при помощи ТНТ и огня. generate-structures true / false true Генерировать ли структуры (сокровищницы, крепости, деревни…) generator-settings нет Строка Эта строка задает шаблон генерации суперплоского мира. См. суперплоскость для подробностей. Настройка игры allow-flight true / false false Разрешает игроку совершать полёты по миру Minecraft. Эта опция действует только на полёты в режиме Выживание и оказывает эффект только при наличии соответствующего плагина (например, Flight). На полёты в режиме Творчество никак не влияет. allow-nether true / false true Данный параметр определяет возможность перехода в Нижний мир. Если отключить, все игроки, находившиеся в Нижнем мире, будут перемещены в обычный. Не влияет на переход в Край. difficulty Число (0-3) 1 Сложность:

6. Сохраните изменения в конфигурационном файле и всё готово. Запустите сервер через “start.bat”, он создаст карту и уже можно проверить зайдя на сервер через адрес 127.0.0.1: .

7. Если вы уже открыли порт, то и ваши друзья могут зайти к вам, указав ваш внешний адрес и порт сервера.

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

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

Подготовка #

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

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

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

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

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

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

  • Скрипт скачивает последний рекомендуемый билд сервера и русификатор во временную папку.
  • Распаковывает и заменяет файлы первого нужными файлами второго.
  • Обновляет .jar файл сервера на получившийся русифицированный и удаляет временную папку.

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

Итак, мы получили рекомендуемый билд и русифицировали его.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Плагины можно найти на dev.bukkit.org, обычно информация об установке и использовании находится в самом топике.

Чтобы включить плагин скопируйте

.jar в папку plugins и перезапустите сервер, хотя обычно можно обойтись командой reload. После этого может появиться папка plugins/

, в ней хранятся настройки (как правило в .yml) и локальные базы данных.

Некоторые плагины идут сразу с настройками в комплекте (папка

, соответсвенно её нужно скопировать в plugins), некоторые работают вообще без папки с настройками.

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

Он удобен, если вы работает в редакторе, который автоматически вставляет табы.

Список всех плагинов покажет команда plugins.

Базовые плагины #

Король перезапуска. Не плагин, а обёртка сервера в комплекте с плагином.

  • Автоматичекий перезапуск сервера через заданные интервалы или в заданное время (позволяет избежать утечек памяти).
  • Перезапуск сервера из игры.
  • Настраиваемые предупреждения о грядущих перезапусках.

Скопируйте содержимое serverdir в корень сервера.

Удалите rtoolkit.bat и открывайте rtoolkit.sh, чтобы изменить его следующим образом:

Это скрипт контейнера, который будет управлять сервером. Теперь, чтобы запускать сервер используйте именно его, а не minecraft.sh.

Отключим удалённый доступ:

И настроим параметры сервера:

Сервер, который будет запускать обёртка:

Предупреждения перед перезапуском и выключением:

Интервал автоматической перезагрузки сервера, чем меньше у вас оперативной памяти, тем чаще нужно перезагружать сервер (оптимальным значением будет 6-8 часов):

Если у вас достаточно оперативной памяти — сервер лучше перезапускать раз в сутки, рано утром, я использую именно этот вариант.

Для этого указываем время в формате HH:MM:

Перезапускайте сервер скриптом rtoolkit.sh и подключайтесь к нему. Теперь вы можете перезапускать его из игры:

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

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

Интервал в минутах:

Количество сохраняемых файлов:

Генерирует .txt или выводит в консоль список плагинов и их версий. Позволяет быстро оценить, какой плагин нужно обновить.

Плагин нужен потому, что встроенная команда plugins не показывает версии.

И включите .txt список

И по желанию задайте произвольный путь для генерации списка:

Список можно посмотреть и из консоли:

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Adblock
detector