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

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

Discussion in 'Разработка плагинов для новичков' started by Stamorey, Jan 20, 2017.

  1. Автор темы
    Stamorey

    Stamorey Активный участник Пользователь

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

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

    Кто сталктвался, посоветуйте что лучше использовать, спасибо)
     
  2. Хостинг MineCraft
    <
  3. Bohdan_Hrytsak

    Bohdan_Hrytsak Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    NegaTiV
    Большенство мини игор,устанавливают свой статус в motd сервера.
     
  4. slavik123123123

    slavik123123123 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Просто кикаешь игрока в логин евенте.
     
  5. Fenix78563

    Fenix78563 Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    по моему ни один сервер с миниграми такого не делает. там никаких киков, просто сообщение в чат.

    Может стоит юзать PreJoinEvent (или как он там)
     
  6. slavik123123123

    slavik123123123 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Ну если типо отменить евент(дизаллов поставить, или что там) на логине, то игрока не кикнет с прокси и он останется на томже сервере что и был .
    А если в джоин евенте то его тупо с прокси кикнет.
     
  7. Автор темы
    Stamorey

    Stamorey Активный участник Пользователь

    Trophy Points:
    66
    Имя в Minecraft:
    Stamorey
    Получилось (вроде ), даже без экрана перехода между серверами, но видимо банжа отсылает в чат вот эту дич:
    Could not connect to default or fallback server. please try again later:
    java.net.ConnectExeption
    [DOUBLEPOST=1484923082,1484922919][/DOUBLEPOST]Перепутал
     
  8. slavik123123123

    slavik123123123 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    она будет отсылать в чат типо
    Типо вы кикнуты: причина кика
     
  9. Автор темы
    Stamorey

    Stamorey Активный участник Пользователь

    Trophy Points:
    66
    Имя в Minecraft:
    Stamorey
    Code:
    @EventHandler
        public void Kick(PlayerLoginEvent e) {
            e.disallow(PlayerLoginEvent.Result.?????, "тупой школяр");
     
           
        }
    Все работает очень хорошо, но банжа присылает вот такое в случае неудачного коннекта:
    Kicked whilst connecting to hub: Причина указанная в сервере.
    Все вроде бы норм, как раз нужно будет выводить в чат что-то наподобии этого, но без
    "Kicked whilst connecting to hub:"
    это как я понял дописывает банжа,
    может разобрать какой-нибудь класс в банже и справить на пустую строку)[DOUBLEPOST=1484924900,1484924849][/DOUBLEPOST]
    вот, именно так, но все равно некрасива:rolleyes:
     
  10. slavik123123123

    slavik123123123 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    помоему в языковом файле можно это изменить
     
  11. Автор темы
    Stamorey

    Stamorey Активный участник Пользователь

    Trophy Points:
    66
    Имя в Minecraft:
    Stamorey
    эт где ?[DOUBLEPOST=1484925197,1484925056][/DOUBLEPOST]ой нашел
    connect_kick=\u00a7cKicked whilst connecting to {0}: {1}
    в файле messages в банже...[DOUBLEPOST=1484925240][/DOUBLEPOST]Вот так думаю будет в самый раз {1} ))
     

Share This Page