Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Необходимо создать Bukkit-плагин для связки BungeeCord серверов

Тема в разделе "Запросы на разработку плагинов", создана пользователем lightalex, 3 ноя 2014.

Статус темы:
Закрыта.
  1. Автор темы
    lightalex

    lightalex Новичок Пользователь

    Баллы:
    16
    Имя в Minecraft:
    now_max
    Всем привет!
    Необходимо разработать плагин, который будет распределять игроков по игровым серверам
    Сервер мини-игр, есть главное лобби, есть мини-лобби (каждое со своей игрой)
    Из мини-лобби можно попасть на сервер с игрой
    В мини-лобби будет установлен стенд с табличками для выбора нужного игрового сервера
    Вот об этом стенде и игровых серверах и пойдет речь в тз
    Соединяет все сервера BungeeCord, ядра серверов - Spigot (но плагин надо писать под чистый Bukkit)

    Жду ваших предложений!

    ТЗ:

    Я вешаю табличку:
    [CREATE] - статус
    TNT Run (A) - имя карты
    0 In Lobby - текущее кол-во игроков (постоянно обновляется)
    12 Per Game - максимальное кол-во игроков

    Далее плагин распознает это, ищет сервера с данной картой, преобразуя все буквы названия карты с таблички в нижний регистр, заменяя все пробелы нижним подчеркиванием и удаляя скобки, а также добавляет в конце номер сервера по счету (то есть при данной табличке он ищет сервера tnt_run_a_[номер])
    Далее он копирует карту из папки tnt_run_a_map (то есть вместо номера подставляем просто слово map) в каждый сервер и их всех перезагружает
    На табличке появляется статус [JOIN] (зеленого цвета)
    При пкм по табличке, игроков забрасывает на самый младший по номеру сервер (ну то есть на tnt_run_a_1, если такого нет на tnt_run_a_2 и т.д.)
    Когда набирается нужное количество игроков, плагин начинает забрасывать игроков на пустой сервер (попутно проверяя, а не освободилось ли место на нестартанувшем сервере?)
    После того как игра на сервере заканчивается, плагин должен телепортировать всех игроков в лобби где находится табличка, пересоздать карту и перезагрузить сервер
    Далее все по новой

    При обнаружении свежезапущеного сервера (допустим я его запустил), ему копируется карта и сервер перезагружается, после чего он готов к приему игроков
    Если по какой-то причине нет свободных серверов или все отключены, на табличке выводится статус [WAIT] (красным цветом)

    Необходимо предоставить команды оповещения плагина о:
    • статусе «набор игроков»
    • статусе «игра в процессе»
    • статусе «игра закончена»
    • статусе «технические работы»
    Сервер может вдруг аварийно выключиться, это надо учесть
    Админы, Модераторы и Випы (должна быть настройка пермов) могут присоединится к любому серверу «набор игроков» + Админы и Модераторы (тоже должна быть настройка пермов) могут присоединится к серверам «игра в процессе» и «технические работы
    » + Строители могут присоединятся к серверам «технические работы»
    Тут думаю понятно что должны быть очень гибкая система настройки доступов

    Необходимо создать команды:
    • Просмотра списка серверов и кол-вом игроков на них, статуса (к примеру при вводе /servers list tnt_run_a будет показан список всех серверов tnt_run_a)
    • Выключение сервера. При вводе этой команды, плагин ждет пока сервер закончит игру. Затем стопорит сервер. (это команда нужна для того чтобы не случился сбой при работе плагина если выключить сервер + чтобы игроки не заметили отключение сервера) (пример команды - /servers stop tnt_run_a_1, либо для всех серверов /servers stop tnt_run_a)
    Приятным бонусом было бы возможность плагина автоматически создавать новые сервера при нехватке места для игроков. То чтобы плагин копировал папку с исходниками сервера, поставлял туда карту и запускал его.
    А мега бонусом (при условии реализации "приятного бонуса") было бы то что плагин мог автоматически стопорить и удалять "излишок" серверов. Ну допустим у нас 10 серверов, а постоянно в игре только 3, тогда надо оставить 5-6 серверов (для подстраховки).

    Также необходимо создать плагин или взять готовый, который будет образовывать группы (party) и перекидывать группу за лидером, но это уже после разработки первого плагина (как дополнение)
     
  2. Хостинг MineCraft
    <
Статус темы:
Закрыта.

Поделиться этой страницей