1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Rcon vs localhost

Тема в разделе "Разработка плагинов для новичков", создана пользователем MrHaber, 4 апр 2019.

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

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

    Баллы:
    66
    Здравствуйте, в попытке решить проблему межсерверной отправки команд, а именно bungeecord plugin -> spigot command to spigot server. Я решил использовать rcon метод. Rcon client взял с https://github.com/Kronos666/rkon-core этой библиотекой пользуются многие боты которые способны удаленно влиять на сервер. В моем случае мне нужно подключить Rcon на localhost воздействуя на spigot server. Сервер для доступа из вне я настроил, и тщательно настроил класс использующий библиотеку. При вызове этой конструкции:
    Код:
               try {         
                   Rcon rcon = new Rcon("localhost", 60051, "myrconpawword". getBytes());
                   String cmd = rcon.command("list")
                   System.out.println("Executed: " + cmd);
               } catch (IOException e1) {
                   System.out.println("IOException");
               } catch (AuthenticationException e1) {
                   System.out.println("AuthenticationException");
               }
    
    Пробовал отлавливать ошибки, но все бесполезно. В консоле spigot-же пишет что "Rcon connecting from: /127.0.0.1" //и больше никакой реакции.
    Так-же я пробовал использовать разные команды, даже пробовал на выделенном сервере, но лог выдает, а команда не выполняется.
    Вопрос: Можно ли использовать Rcon протокол на localhost?
    Можно ли исправить ошибку, или код?
     
    Последнее редактирование: 5 апр 2019
  2. NyanGuyMF

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

    Баллы:
    76
    На GitHub указан код с массивом byte, попробуйте это:
    upload_2019-4-5_14-5-50.png
    Да, rcon можно использовать на localhost :D
    Для запуска команд между серверами можно использовать плагин CommandSync или напрямую PluginMessages
     
  3. Автор темы
    MrHaber

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

    Баллы:
    66
    Да, я писал от руки не заметил оплошность с getBytes();
    Но в моем коде она уже была использована. Я до сих пор ищю код который поможет мне отправлять на spigot команды bungeecord плагином. CommandSync пробовал на сервере но он так и не захотел работать.
     
  4. Автор темы
    MrHaber

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

    Баллы:
    66
    Можно ли bungee spigot channel использовать в bungeecord плагине в обратном направлении?
     
  5. NyanGuyMF

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

    Баллы:
    76
    Что не так? Как настраивал?
    Не понял вопроса, перечитай всё, что в ссылке: PluginMessages должны работать для всех серверов в связке BungeeCord
     
  6. Автор темы
    MrHaber

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

    Баллы:
    66
    Я прочитал но там в основном метод для импортов org.bukkit.*
    Можно ли сообразить подобное только net.md_5.bungee.*? Есть ли примеры использования с Bungee?
     
  7. NyanGuyMF

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

    Баллы:
    76
    Работай с RCON или Socket'ами, если PlguinMessages тебе не поможет, мне пока не приходилось использовать PlguinMessages, просто знаком с технологией, а так использую сокеты
     
  8. Автор темы
    MrHaber

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

    Баллы:
    66
    Вернулись к сути вопроса, что могло произойти при попытке подключения к ркон? Возможно ли отправлять данные с localhost:25565 -> localhost:rconport и как мне реализовать выполнение команды в консоли с одного сервера на другой без использования внешних программ и spigot плагинов?
     
  9. NyanGuyMF

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

    Баллы:
    76
    1 вопрос: хз, покажи полностью код, который работает с RCON и настройки
    2 вопрос: да, можно, я выше уже отвечал
    3 вопрос: Socket, если RCON не хочет нормально работать
    (у меня спокойно работает, где-то в коде ошибка ;D Или напиши своё подключение к RCON; тут вряд ли получится найти простое решение, если RCON и PluginMessages не заработают, так что готовься к сетевому программированию ;D)
     
  10. Автор темы
    MrHaber

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

    Баллы:
    66
    Код ркона : https://github.com/Kronos666/rkon-core
    Как я его использую:
    Код:
              try {       
                  Rcon rcon = new Rcon("localhost", 60051, "myrconpawword". getBytes());
                  String cmd = rcon.command("list")
                  System.out.println("Executed: " + cmd);
              } catch (IOException e1) {
                  System.out.println("IOException");
              } catch (AuthenticationException e1) {
                  System.out.println("AuthenticationException");
              }
    
    Нужно реализовать отправку с Bungee cord plugin => Spigot server console
    Код класса:
    Код:
    public class Cmd extends Command {
        public Cmd() {
            super("test");
        }
    if(args.lenght != 0){
                  Rcon rcon = new Rcon("localhost", 60051, "myrconpawword". getBytes());
                  String cmd = rcon.command(args[0])
                  System.out.println("Executed: " + cmd);
    
    }
    
    
    
     

Поделиться этой страницей