Помогите общение между серверами bungee

Stamorey

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Stamorey
Есть основной сервер и сервер с миниигрой.
С одного на другой игроки должны телепортироваться, если это возможно.
Проблема как раз в этой возможности.
Если игра началась или уже набралось нужное количество игроков - телепортация должна отмениться.

Нашел два способа "Общения" между серверами, но оба смущают.
1. Любая бд, конфиг или файл, в котором миниигра сама записывает свой статус каждый тик.
Проблема- может оказаться так, что статус уже изменился, а в бд это еще не отразилось, или же несколько запросов на телепортацию за несколько милисекунд.
2. Общение через банжу, сервер отправляет запрос в банжу, тот пересылает его миниигре, она решает что делать с игроком, отправляет ответ обратно в банжу, банжа серверу.
Проблема - а хз, думаю что 4 сообщения в поток для одной телепортации жирновато)

Кто сталктвался, посоветуйте что лучше использовать, спасибо)
 
Большенство мини игор,устанавливают свой статус в motd сервера.
 
Просто кикаешь игрока в логин евенте.
 
Просто кикаешь игрока в логин евенте.
по моему ни один сервер с миниграми такого не делает. там никаких киков, просто сообщение в чат.

Может стоит юзать PreJoinEvent (или как он там)
 
по моему ни один сервер с миниграми такого не делает. там никаких киков, просто сообщение в чат.

Может стоит юзать PreJoinEvent (или как он там)
Ну если типо отменить евент(дизаллов поставить, или что там) на логине, то игрока не кикнет с прокси и он останется на томже сервере что и был .
А если в джоин евенте то его тупо с прокси кикнет.
 
Просто кикаешь игрока в логин евенте.
Получилось (вроде ), даже без экрана перехода между серверами, но видимо банжа отсылает в чат вот эту дич:
Could not connect to default or fallback server. please try again later:
java.net.ConnectExeption

Перепутал
 
JavaScript:
@EventHandler
    public void Kick(PlayerLoginEvent e) {
        e.disallow(PlayerLoginEvent.Result.?????, "тупой школяр");
 
       
    }
Все работает очень хорошо, но банжа присылает вот такое в случае неудачного коннекта:
Kicked whilst connecting to hub: Причина указанная в сервере.
Все вроде бы норм, как раз нужно будет выводить в чат что-то наподобии этого, но без
"Kicked whilst connecting to hub:"
это как я понял дописывает банжа,
может разобрать какой-нибудь класс в банже и справить на пустую строку)
она будет отсылать в чат типо
Типо вы кикнуты: причина кика
вот, именно так, но все равно некрасива:rolleyes:
 
Назад
Верх