Broadcasts — это широковещательные сообщения, которые отправляются, когда происходит определённое событие. Приложения могут отправлять их сами, либо получать сообщения, отправляемые системой Android и другими приложениями. Когда происходит трансляция сообщения, система автоматически будет направлять его всем, кто на него подписался.
Системные сообщения
Системные сообщения отправляются автоматически, когда происходят различные системные события: включение системы или выход из режима полёта. Такие сообщения отправляются всем приложениям, которые подписаны на их получение.
Полный список системных событий можно посмотреть в файле BROADCAST_ACTION.TXT в Android SDK.
Получение сообщений
Приложения могут получать сообщения двумя способами: объявив в манифесте приёмник широковещательных сообщений (broadcast receiver), либо зарегистрировать его в контексте.
Объявление в манифесте
Если приёмник широковещательных сообщений будет объявлен в манифесте, то система запустит приложение при отправке сообщения.
СОЗДАЙ СВОЮ КОМАНДУ НА СЕРВЕРЕ | MYCOMMAND — ОБЗОРЫ ПЛАГИНОВ #3
Алгоритм объявления приёмника состоит из двух шагов:
Создать класс, расширяющий базовый класс BroadcastReceiver и реализовать в нём метод обратного вызова onReceive() .
1 2 3 4 5 6 7
class MyReceiver : BroadcastReceiver() < override fun onReceive(context: Context, intent: Intent) < val msg = intent.getStringExtra(«msg») Toast.makeText(context, «New message received: $msg», Toast.LENGTH_LONG).show() >>
Добавить элемент в манифест. При этом с помощью intent-фильтров нужно объявить события, на которые подписывается этот приёмник. Они могут быть как системные, так и пользовательские (как в данном случае).
1 2 3 4 5
Регистрация в контексте
Алгоритм объявления приёмника состоит из трёх шагов:
Создать класс, расширяющий базовый класс BroadcastReceiver и реализовать в нём метод обратного вызова onReceive() . Создать экземпляр этого класса.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
class MyReceiver : BroadcastReceiver() < override fun onReceive(context: Context, intent: Intent) < StringBuilder().apply < append(«Action: $n») append(«URI: $n») toString().also < log ->Toast.makeText(context, log, Toast.LENGTH_LONG).show() > > > > . val br: BroadcastReceiver = MyReceiver()
Создать intent-фильтр и зарегистрировать приёмник, вызвав метод registerReceiver(BroadcastReceiver, IntentFilter) .
1 2 3 4 5
val filter = IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION).apply < addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED) >registerReceiver(br, filter)
Отменить регистрацию приёмника при помощи метода unregisterReceiver(android.content.BroadcastReceiver) .
Такие приёмники будут работать до тех пор, пока существует контекст, в котором они были зарегистрированы. Например, если приёмник был зарегистрирован в контексте активити, то он будет получать сообщения, пока активити не будет уничтожена. Если приёмник зарегистрирован в контексте приложения, то он будет получать сообщения, пока работает приложение.
Гайд по execute 1.13-1.14 | execute store в Майнкрафт
Чтобы лишний раз не тратить ценные ресурсы, следует отменять регистрацию приёмника, когда в нём больше нет необходимости, либо когда контекст, в котором он был зарегистрирован, перестаёт существовать.
Также важно и то, в каком месте отменять регистрацию. Например, если приёмник был зарегистрирован в методе активити onCreate() , то отменять регистрацию следует в методе onDestroy() , чтобы предотвратить утечку приёмника из контекста. Если же приёмник был зарегистрирован в методе onResume() , то отменять регистрацию следует в методе onPause() , чтобы не получать сообщения пока активити “приостановлена”.
Общий принцип работы
Все широковещательные сообщения помещаются в Intent , в котором параметр action отвечает за произошедшее событие. Также он может включать какие-либо дополнительные данные, в зависимости от типа события.
Сообщение получают все приложения, которые на него подписались. Когда сообщение получает непосредственно приёмник, система вызывает метод onReceive() и передаёт в него Intent , который содержит сообщение.
В период выполнения метода onReceive() приёмник считается процессом переднего плана, поэтому система будет поддерживать выполнение этого процесса. Но как только ваш код вернётся из onReceive() , приёмник перестаёт быть активным, то есть его приоритет становится низким и система может его уничтожить в любое время.
По этой причине не следует запускать длительные фоновые потоки из приёмника: они, как и приёмник, для системы являются неактивными и уничтожаются вместе с ним.
Есть несколько способов, чтобы этого избежать:
- goAsync() . Как правило приёмники могут работать до 10 секунд. Если же требуется немного больше времени, но не более 30 секунд, то следует использовать goAsync() ;
- JobScheduler , Service или JobIntentService . Данные системные средства должны использоваться, когда требуется выполнить более длительную работу.
Отправка сообщений
В основном смысл отправки сообщений из вашего приложения заключается в том, чтобы пока пользователь совершает какие-либо действия, обрабатывать их в другой части вашего приложения для выполнения определенной логики.
Отправлять сообщения можно тремя способами:
sendOrderedBroadcast(Intent, String) — отправляет сообщение только одному приёмнику за раз. При этом приёмник может передать результат следующему приёмнику или остановить распространение сообщения. Это возможно благодаря тому, что каждый приёмник работает по очереди, а управлять очерёдностью можно с помощью атрибута android:priority элемента . Приёмники с одинаковым приоритетом будут работать в произвольном порядке.
Вторым параметром данного метода являются разрешения, которые приёмник должен иметь для получения сообщения. Может равняться null — это означает, что разрешение не требуется.
1 2 3 4 5 6 7
val requiredPermission = «com.example.MY_BROADCAST_PERMISSION» Intent().also < intent ->intent.action = «com.example.MY_NOTIFICATION» intent.putExtra(«msg»,»Hi! I’m message.») sendOrderedBroadcast(intent, requiredPermission) // sendOrderedBroadcast(intent, null) >
sendBroadcast(Intent) — отправляет сообщение всем приёмникам в произвольном порядке. Этот способ также называют “нормальной трансляцией сообщений”.
Несмотря на свою эффективность, имеет некоторые недостатки по сравнению с первым способом: приёмники не могут передавать и считывать результаты других приёмников, а также прерывать трансляцию сообщений.
1 2 3 4 5
Intent().also < intent ->intent.action = «com.example.MY_NOTIFICATION» intent.putExtra(«msg»,»Hi! I’m message.») sendBroadcast(intent) >
LocalBroadcastManager.sendBroadcast — отправляет сообщения только тем приёмникам, которые определены в том же приложении, что и отправитель. При использовании данного способа не нужно будет беспокоиться, что стороннее приложение поймает ваше сообщение.
Для использования этого метода нужно зарегистрировать приёмник с помощью LocalBroadcastManager .
1 2 3 4 5 6 7 8 9 10
LocalBroadcastManager.getInstance(this).registerReceiver( object : BroadcastReceiver() < override fun onReceive(context: Context?, intent: Intent?) < val msg = intent?.getStringExtra(«msg») Toast.makeText(context, «New message received: $msg», Toast.LENGTH_LONG).show() >>, IntentFilter(«com.example.MY_NOTIFICATION») )
И отправить сообщение:
1 2 3 4 5
Intent().also < intent ->intent.action = «com.example.MY_NOTIFICATION» intent.putExtra(«msg», «Hi! I’m message.») LocalBroadcastManager.getInstance(this).sendBroadcast(intent) >
Если LocalBroadcastManager не импортируется, то следует добавить зависимость:
implementation ‘androidx.localbroadcastmanager:localbroadcastmanager:1.0.0’
В версии 1.1.0-alpha01 Google признали LocalBroadcastManager устаревшим (deprecated).
Установка разрешений
Разрешения позволяют ограничить рассылку сообщений определённым набором приложений. Ограничения можно добавить как к отправителю, так и к получателю сообщений.
Отправка сообщений с разрешениями
Когда вы отправляете сообщение с помощью методов sendBroadcast(Intent, String) или sendOrderedBroadcast(Intent, String) , то в качестве второго параметра им можно передать разрешение. Тогда это сообщение дойдёт только до тех приёмников, у которых в манифесте указано это разрешение. При этом разрешение может быть как системным, так и пользовательским.
Например, при отправке сообщения было указано системное разрешение:
sendBroadcast(intent, Manifest.permission.SEND_SMS)
Это сообщение получат только те, у кого в манифесте есть такая строчка:
Пользовательские разрешения добавляются в манифест при помощи элемента .
Получение сообщений с разрешением
При регистрации приёмника в манифесте или с помощью метода registerReceiver() можно задать разрешение. Тогда такому приёмнику смогут отправлять сообщения только такие отправители, у которых в манифесте указано это разрешение.
Допустим, у вас в манифесте объявлен приёмник с разрешением:
1 2 3 4 5 6
Или вы зарегистрировали приёмник с разрешением в контексте:
var filter = IntentFilter(Intent.ACTION_AIRPLANE_MODE_CHANGED) registerReceiver(receiver, filter, Manifest.permission.SEND_SMS, null )
Отправлять сообщения подобным приёмникам смогут такие приложения, у которых в манифесте присутствует строчка:
Broadcasts overview — официальная документация про широковещательные сообщения.
Implicit Broadcast Exceptions.
Источник: bimlibik.github.io
Как использовать broadcast?
Не могу понять как например отправить какой-то текст на broadcast своего роутера, как он вобше устроен.
Я пытался через telnet, netcat, ни там ни там не получилось, так-же заметил что порт надо, порт любой? Или я вобше совсем что-то не так делаю и понимаю? Может оно вобше на другом уровне работает где нету понятия порт.
Так-же хотелось бы знать как принимать все что идет по broadcast-у.
P.S: Я просто юзерь и хочу посмотреть как оно работает, прошу не судить строго). Спасибо.)
- Вопрос задан более трёх лет назад
- 8780 просмотров
7 комментариев
Простой 7 комментариев
1. Как именно вы пытались это делать? У вас только слова — ни логов, ни примеров команд.
2. Какие устройства подключены к роутеру, как вы проверяли что ничего не работает?
Saboteur, ну пытался сделать так чтоб слушать широковещательный канал.
У меня адреса роутера 192.168.0.1, вот я и решил что тот канал на 192.168.0.255
netcat 192.168.0.255 1500
Saboteur, В итоге получил это (UNKNOWN) [192.168.0.255] 1500 (?) : Network is unreachable
Saboteur, Подключено две виртуальных машины на Линуксе, компьютер мой, и мобилка на крайняк,
Там адреса устройств 192.168.0.100, 192.168.0.101 и так далее
попробуйте netcat с опцией -b
Отправить:
echo «Hi!» | nc -b -u 192.168.0.255 4000
Слушать:
nc -l 0.0.0.0 4000
Saboteur, В консоли того кто оправляет ничего, так-же как и в консоли того кто принимает, но ошибки нету, когда что-то ввожу в какую либо из консолей.. ничего не происходит.
П.С: сначала исполнял команду чтоб слушать.
Так-же забавно решил немного поиграться с коммандами а именно:
Отправить:
echo «Hi!» | nc -b -u 192.168.0.255 4000
Слушать:
netcat -u -l 0.0.0.0 -p 4000
Когда исполняю команду отправить в терминале где запущен слушать, пишет такое
Invalid connection to [192.168.0.105] from (UNKNOWN) [192.168.0.100] 54512
192.168.0.105 — Listener
192.168.0.100 — Sender
Вот такое вот я нашел, не понимаю почему не работае совсем никак если что на всех виртуальных машинах, и на физическом ПК стоит Debian
похоже баг в самом nc вашей версии debian
Решения вопроса 2
Broadcast-адрес — это широковещательный адрес вашей сети, а роутер тут ни при чём. Всё, что будет отправлено на этот адрес, будет получено всеми хостами данной подсети.
В локальных сетях используется для технических нужд, таких как arp и других подобных. Совершенно непонятно, зачем туда что-то отправлять вручную.
Если интересно, какие широковещательные пакеты ходят в сети — просто посмотрите через Wireshark то, что пересылается на этот адрес.
Ответ написан более трёх лет назад
Нравится 1 1 комментарий
Нуу например просто чтоб знать как и что.
Broadcast — это вид передачи данных. Почитайте, что такое unicast, multicast — возможно тогда вы сообразите, что такое тип(метод или т.п.) передачи данных и как работает. Хотите запустить broadcast пакет — вросто включите на вашей сетевой карте получение адреса автоматически, и ваша сетевая сама отправит пакет на broadcast адрес в поисках DHCP-сервера.
Т.е. broadcast — это просто отправка пакета, с абсолютно любым содержимым в качестве данных (обработка содержимого, это уже вопрос более высокого уровня, и на отправку влиять никак не будет) на широковещательный адрес сети — это последний допустимый адрес, который может быть в вашей сети. Коммутатор, просто видит, что адрес широковещательный, и распуливает этот пакет абсолютно во все дурки, в какие может — разбираться с тем, чей пакет будет уже устройство, которое не может передать пакет никуда дальше, конечный узел, к примеру комп или принтер. Устройство смотрит, что внутри, и решает ему это или нет. В случае DHCP-запроса, DHCP-сервер видит, что это его искали и отвечает. Если DHCP-сервера нет то все просто видят, что пакет не к ним, и они отбрасывают пакет. Что бы «увидеть», что и как, как и писали выше — ставите wireshark, включаете на сетевой автоматический адрес, и смотрите на пакет (не знаю правда, чем это вам поможет)) ).
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- Компьютерные сети
- +1 ещё
Почему неправильно работает интернет на ноутбуке?
- 1 подписчик
- 4 часа назад
- 59 просмотров
Источник: qna.habr.com
Плагин ServerSystem | Необходимые команды быстрого доступа и распределение прав на сервере Minecraft 1.8-1.18
ServerSystem — это незаменимый в своём роде плагин, который добавляет на Ваш сервер множество новых команд первой необходимости и добавляет возможность распределения прав между игроками. Данный плагин имеет множество преимуществ среди аналогов, например, он полностью настраиваемые конфигурации, что позволит разработчику без особого труда заменить то или иное сообщение или право по его желанию. Стоит отметить, что плагин имеет ряд новых команд, в отличие от аналогичных плагинов и станет одним из основных на Вашем сервере.
Основные команды плагина ServerSystem:
/back — возвращает на предыдущее место.
/baltop — показывает топ наибольшего баланса среди игроков.
/ban — ограничивает доступ к серверу определённому игроку.
/broadcast — пишет определённое сообщение всем игрокам.
/burn — поджигает определённого игрока.
/checkgamemode — показывает игровой определённого игрока.
/clearchat — очищает весь чат.
/clearenderchest — очищает эндер-сундук определённого игрока.
/clearinventory — очищает весь инвентарь определённого игрока.
/commandspy — посмотреть всё то, что пишет определённый игрок.
/createkit — создаёт новый набор предметов.
/day — устанавливает день в определённом мире.
/delkit — удаляет определённый набор предметов.
/delhome — удаляет определённую точку дома.
/delwarp — удаляет определённый варп.
/disenchant — убирает зачарования определённого предмета.
/disposal — удаляет определённый предмет.
/economy — открывает меню управления экономикой среди игроков.
/editschild — редактирует созданную табличку.
/enderchest — открывает эндер-сундук.
/extinguish — тушит определённого игрока.
/feed — восстанавливает полосу голода.
/fly — включает/выключает режим полёта.
/gamemode — устанавливает игровой режим.
/gms — устанавливает игровой режим выживания.
/gmc — устанавливает игровой режим творчества.
/gmsp — устанавливает игровой режим наблюдателя
/gma — устанавливает игровой режим приключения.
/god — включает/выключает режим Бога.
/hat — надевает предмет на голову, держащийся в руке.
/heal — восстанавливает полосу здоровья.
/home — телепортирует на точку дома.
/invsee — просматривает инвентарь определённого игрока.
/ip — показывает IP-адрес определённого игрока.
/kick — выгоняет определённого игрока с сервера.
/kickall — выгоняет всех игроков с сервера.
/kit — открывает меню выбора набора предметов.
/lag — показывает расширенную статистику сервера.
/maintenance — переключает сервер в режим обслуживания.
/money — проверяет баланс.
/msg — отправляет личное сообщение определённому игроку.
/mute — ограничивает доступ к чату определённому игроку.
/night — устанавливает ночь в определённом мире.
/noon — устанавливает полдень в определённом мире.
/pay — передаёт игровую валюту определённому игроку.
/ping — показывает задержку между сервером и провайдером.
/rain — устанавливает дождливую погоду в определённом мире.
/repair — чинит предмет, держащийся в руке.
/rename — переименовывает предмет, держащийся в руке.
/reply — быстро отвечает последнему игроку, писавший в личные сообщения.
/restart — перезагружает сервер.
/rules — показывает правила сервера.
/serversystem — открывает меню команд плагина.
/sethome — устанавливает новую точку дома.
/setspawn — устанавливает точку возрождения.
/setwarp — устанавливает новый варп.
/sign — подписывает предмет, держащийся в руке.
/skull — получает голову определённого игрока.
/smelt — переплавляет руду, минуя печь.
/spawn — телепортирует на точку возрождения.
/speed — устанавливает скорость ходьбы/полёта.
/stack — дюпает предмет, держащийся в руке в количестве 64 штуки.
/sudo — позволяет отправлять сообщения или написать команду в чат.
/suicide — совершает самоубийство.
/sun — устанавливает солнечную погоду в определённом мире.
/teamchat — отправляет личное сообщение в командный чат.
/time — показывает сколько время.
/tp — телепортирует к определённому игроку.
/tpa — отправляет запрос на телепортацию к определённому игроку.
/tpaccept — принимает запрос на телепортацию.
/tpahere — отправляет запрос на телепортацию определённого игрока к Вам.
/tpall — телепортирует всех игроков сервера к Вам.
/tpdeny — отклоняет запрос на телепортацию
/tphere — телепортирует определённого игрока к Вам.
/tpo — принудительно телепортирует определённого игрока к другому игроку.
/tpohere — принудительно телепортирует определённого игрока к Вам.
/tppos — телепортирует на определённые точки координат.
/tptoggle — переключает доступ к командам телепортации.
/unban — снимает блокировку доступа к серверу определённому игроку.
/unmute — снимает блокировку чата определённому игроку.
/unsign — удаляет подпись предмета, держащийся в руке.
/vanish — включает/выключает режим невидимки.
/warp — показывает список созданных варпов.
/workbench — открывает верстак.
/weather — открывает меню выбора погоды.
/noafk — открывает меню управления AFK-игроков.
/convertfromessentials — конвертирует настройки с плагина Essentials (если имелся до этого).
Основные права плагина ServerSystem:
— server.back.teleport — выдаёт доступ к команде /back.
— server.baltop — выдаёт доступ к команде /baltop.
— server.ban.use — выдаёт доступ к команде /ban.
— server.broadcast — выдаёт доступ к команде /broadcost.
— server.burn — выдаёт доступ к команде /burn.
— server.checkgamemode — выдаёт доступ к команде /checkgamemode.
— server.clearchat — выдаёт доступ к команде /clearchat.
— server.clearenderchest.self — выдаёт доступ к команде /clear enderchest.
— server.clearinventory.self — выдаёт доступ к команде /clearinventory.
— server.commandspy — выдаёт доступ к команде /commandspy.
— server.createkit — выдаёт доступ к команде /createkit.
— server.time — выдаёт доступ к команде /time.
— server.deletekit — выдаёт доступ к команде /deletekit.
— server.delhome — выдаёт доступ к команде /delhome.
— server.delwarp — выдаёт доступ к команде /delwarp.
— server.disenchant — выдаёт доступ к команде /disenchant.
— server.disposal — выдаёт доступ к команде /disposal.
— server.economy.use — выдаёт доступ к команде /economy.
— server.schild — выдаёт доступ к команде /schild.
— server.enderchest.self — выдаёт доступ к команде /enderchest.
— server.extinguish — выдаёт доступ к команде /extinguish.
— server.feed.self — выдаёт доступ к команде /feed.
— server.fly.self — выдаёт доступ к команде /fly.
— server.gamemode.survival.self — выдаёт доступ к команде /gms.
— server.gamemode.creative.self — выдаёт доступ к команде /gmc.
— server.gamemode.spectator.self — выдаёт доступ к команде /gmsp.
— server.gamemode.adventure.self — выдаёт доступ к команде /gma.
— server.god.self — выдаёт доступ к команде /god.
— server.hat — выдаёт доступ к команде /gat.
— server.heal.self — выдаёт доступ к команде /heal.
— server.home.general — выдаёт доступ к команде /home.
— server.invsee.use — выдаёт доступ к команде /invsee.
— server.ip — выдаёт доступ к команде /ip.
— server.kick.use — выдаёт доступ к команде /kick.
— server.kickall — выдаёт доступ к команде /kickall.
— server.kit.[название набора].self — выдаёт доступ к команде /kit.
— server.lag — выдаёт доступ к команде /lag.
— server.maintenance.toggle — выдаёт доступ к команде /maintenance.
— server.money.self — выдаёт доступ к команде /money.
— server.msg — выдаёт доступ к команде /msg.
— server.mute.use — выдаёт доступ к команде /mute.
— server.time — выдаёт доступ к команде /time.
— server.pay — выдаёт доступ к команде /pay.
— server.ping.self — выдаёт доступ к команде /ping.
— server.weather — выдаёт доступ к команде /weather.
— server.repair — выдаёт доступ к команде /repair.
— server.rename — выдаёт доступ к команде /rename.
— server.reply — выдаёт доступ к команде /reply.
— server.restart — выдаёт доступ к команде /restart.
— serversystem.use — выдаёт доступ к команде /serversystem.
— serversystem.reload — выдаёт доступ к команде /serversystem reload.
— serversystem.version — выдаёт доступ к команде /serversystem version.
— serversystem.update — выдаёт доступ к команде /serversystem update.
— server.sethome.general — выдаёт доступ к команде /sethome.
— server.setspawn — выдаёт доступ к команде /setspawn.
— server.warp — выдаёт доступ к команде /warp.
— server.sign — выдаёт доступ к команде /sign.
— server.skull.self — выдаёт доступ к команде /skull.
— server.smelt — выдаёт доступ к команде /smelt.
— server.spawn.general — выдаёт доступ к команде /spawn.
— server.speed.general — выдаёт доступ к команде /speed.
— server.stack — выдаёт доступ к команде /stack.
— server.sudo.use — выдаёт доступ к команде /sudo.
— server.suicide — выдаёт доступ к команде /suicide.
— server.weather — выдаёт доступ к команде /weather.
— server.teamchat.send — выдаёт доступ к команде /teamchat.
— server.time — выдаёт доступ к команде /time.
— server.tp.self — выдаёт доступ к команде /tp.
— server.tpa — выдаёт доступ к команде /tpa.
— server.tpaccept.general — выдаёт доступ к команде /tpaccept.
— server.tpahere — выдаёт доступ к команде /tpahere.
— server.tpall.self — выдаёт доступ к команде /tpall.
— server.tpdeny — выдаёт доступ к команде /tpdeny.
— server.tphere — выдаёт доступ к команде /tphere.
— server.tpo.self — выдаёт доступ к команде /tpo.
— server.tpohere — выдаёт доступ к команде /tpohere.
— server.tppos.self — выдаёт доступ к команде /tppos.
— server.tptoggle.self — выдаёт доступ к команде /tptoggle.
— server.unban — выдаёт доступ к команде /unban.
— server.unmute — выдаёт доступ к команде /unmute.
— server.unsign — выдаёт доступ к команде /unsign.
— server.vanish.see — выдаёт доступ к команде /vanish.
— server.warp.general — выдаёт доступ к команде /warp.
— server.workbench — выдаёт доступ к команде /workbench.
— server.weather — выдаёт доступ к команде /weather.
— server.noafk — выдаёт доступ к команде /noafk.
— server.convertfromessentials — выдаёт доступ к команде /convertfromessentials.
Переменные параметры для настройки конфига плагина ServerSystem:
%serversystem_money%: показывает неформатированный баланс.
%serverystem_formattedmoney%: показывает форматированный баланс.
%serverystem_drop%: показывает, может ли игрок сбрасывать предметы с исчезновением.
%serversystem_pickup%: показывает, может ли игрок подбирать предметы с исчезновением.
%serverystem_chat%: показывает, может ли место в чате исчезнуть.
%serverystem_interact%: показывает, может ли игрок взаимодействовать при исчезновении.
%serversystem_vanish%: показывает, находится ли игрок в исчезновении.
%serversystem_god%: показывает, находится ли игрок в режиме бога.
%serverystem_afk%: показывает, является ли игрок в режиме AFK.
Конфиг плагина ServerSystem:
metrics: true console: «Console» messagebyitembreak: false fly: stopwhenhit: false disablewhenhit: false worldChange: resetgamemode: false resetfly: false resetgod: false afksystem: true afktime: «5» afkkick: «10» setplayerlistname: true afkoptions: blockspawners: false blockexpchange: true blockitempickupdrop: true blockfishing: false blockbreaking: false betterafkscheduler: true deactivateentitycollision: true kit: giveonfirstspawn: false givenkit: «starter» teleportation: spawn: delay: 3 enabledelay: true tpa: delay: 3 enabledelay: true home: delay: 3 enabledelay: true warp: delay: 3 enabledelay: true economy: enabled: true createaccountonjoin: false hookintovault: true startingmoney: «1000.0» displayformat: «» moneyformat: «» separator: «,» currency: singular: «$» plural: «$» thousand: «.» bansystem: enabled: true dateformat: «.. :» spawn: tp: true firstlogintp: true respawn: true forceRespawn: false chat: active: false format: » > #This will NOT deactivate the «module», e.g. the bansystem will STILL BE ACTIVE! #Only the commands will be swapped! swapCommands: enabled: false example: fromplugin: «ServerSystem» toplugin: «BanSystem» tocommand: «example» example2: fromplugin: «examplePlugin» toplugin: «example2Plugin» tocommand: «example3» example3: fromplugin: «SomeExamplePluginAgain» toplugin: «ServerSystem» tocommand: «example3» #This will NOT deactivate the «module», e.g. the bansystem will STILL BE ACTIVE! #This will also NOT deactivate the whole «command group», e.g. ‘r’ will NOT DEACTIVATE ‘reply’ deactivatedcommands: enabled: false example: «ServerSystem» example1: «ServerSystem» example2: «ServerSystem» updates: check: true autoUpdate: true notifyOnJoin: false no-redstone: false mysql: use: false hostname: «127.0.0.1» port: «3306» username: «root» password: «123456» database: «ServerSystem» economy: enabled: true servername: «global» bansystem: true postgresql: use: false hostname: «127.0.0.1» port: «5432» username: «postgres» password: «123456» database: «ServerSystem» economy: enabled: true servername: «global» bansystem: true mongodb: use: false hostname: «127.0.0.1» port: «27017» username: «admin» password: «123456» database: «ServerSystem» economy: enabled: true servername: «global» bansystem: true nitrite: use: false economy: true bansystem: true sqlite: use: true economy: true bansystem: true h2: use: false economy: true bansystem: true #Do NOT change this! version: «6.1»
Как установить плагин?
1. Скачайте плагин.
2. Из архива возьмите скачанный файл и перенесите в папку plugins вашего сервера.
3. Перезапустите сервер.
Источник: minesborka.ru