Сегодня мы напишем простенький лаунчер для игры 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. |
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 список
И по желанию задайте произвольный путь для генерации списка:
Список можно посмотреть и из консоли:
Настройки не требует, позволяет использовать информеры.
detector