Помогите Как получить список онлайн серверов в BungeeCord?

  • Автор темы Автор темы Naka
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Naka

Участник
Баллы
31
Создаю плагин для BungeeCord на регистрацию и остальные плюшки, при регистрации/авторизации мне нужно получить массив с онлайн серверами, которые уже запущены (Пример: lobby-1 lobby-2 lobby-3; lobby-1 и lobby-2 онлайн, как их получить), плагин будет отбирать все лобби, которые запущены, и уже отсылать игрока в лобби, где меньше всего онлайна.
upload_2021-9-16_7-51-53.png
То есть я хочу из массива общих серверов отобрать все лобби, которые уже запущены и работают на сервере. Ещё проще говоря, можно как-то пингануть лобби-n, если отвечает на пинг, то добавить в sendTo?
 
Последнее редактирование:
Банжа по-моему не может получить статус онлайн из серверов которые к нему подключены
 
Спустя дня мучений и поисков в декомпиленной банже, я нашёл как можно "пингануть сервер".

public class Pinger implements Callback<ServerPing> {

public void ping() {
HashMap<String, ServerInfo> servers = new HashMap<>(getProxy().getServers());

servers.forEach((ServerName, serverInfo) -> {
serverInfo.ping(this);
});
}

@Override
public void done(ServerPing arg0, Throwable arg1) {
System.out.println(arg0.toString());
}
}

При возвращении отправляет серверпинг, в котором указывается, если пакет равен null, то сервер оффлайн, если пакет не пуст, то сервер онлайн.

Тема закрыта.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх