- Баллы
- 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] (красным цветом)
Необходимо предоставить команды оповещения плагина о:
Админы, Модераторы и Випы (должна быть настройка пермов) могут присоединится к любому серверу «набор игроков» + Админы и Модераторы (тоже должна быть настройка пермов) могут присоединится к серверам «игра в процессе» и «технические работы
» + Строители могут присоединятся к серверам «технические работы»
Тут думаю понятно что должны быть очень гибкая система настройки доступов
Необходимо создать команды:
А мега бонусом (при условии реализации "приятного бонуса") было бы то что плагин мог автоматически стопорить и удалять "излишок" серверов. Ну допустим у нас 10 серверов, а постоянно в игре только 3, тогда надо оставить 5-6 серверов (для подстраховки).
Также необходимо создать плагин или взять готовый, который будет образовывать группы (party) и перекидывать группу за лидером, но это уже после разработки первого плагина (как дополнение)
Необходимо разработать плагин, который будет распределять игроков по игровым серверам
Сервер мини-игр, есть главное лобби, есть мини-лобби (каждое со своей игрой)
Из мини-лобби можно попасть на сервер с игрой
В мини-лобби будет установлен стенд с табличками для выбора нужного игрового сервера
Вот об этом стенде и игровых серверах и пойдет речь в тз
Соединяет все сервера 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) и перекидывать группу за лидером, но это уже после разработки первого плагина (как дополнение)