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

Помогите Выполнение .cmd через плагин на Linux.

Тема в разделе "Разработка плагинов для новичков", создана пользователем TheZefirrkka, 10 май 2018.

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

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

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Какие есть способы открыть через плагин на баккит в Linux .bat файл? Желательно чтобы можно было открыть его на всех ОС.
     
  2. Mr Hosting
  3. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Ору, круто .bat на всех осях, на линухе, удачи
     
  4. DaemanS

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

    Баллы:
    76
    Имя в Minecraft:
    DaemaNSpawn
    Что прости? 0_0
     
  5. Exception_Prototype

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

    Баллы:
    76
    Плагин - это некий модуль сервера, а сервер является обычным java приложением. Достаточно понять, как с помощью java запустить исполнение .sh файла(конкретно для линукса) и сё, далее теоретически в плагине это можно пихать в любом месте. Можно хоть создать его там же, хоть из ресурсов плагина вытащить, главное научиться с помощью гугла запускать его.
     
    Последнее редактирование: 11 май 2018
  6. Mukiroku

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

    Баллы:
    76
    Имя в Minecraft:
    Kukuroku
    На линуксе не .bat, a .sh, что-бы запустить
    PHP:
    Runtime.getRuntime().exec("cmd /c FullFileName.bat");//FullFileName - полный путь до файла.
     
  7. Roots

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

    Баллы:
    46
    В линусе оно назв терминал, и он не понимает такой формат как .bat
     
  8. Автор темы
    TheZefirrkka

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

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Вы бы сначала гуглить научились, а потом отвечали... Я думал мб кто-то так делал и посоветует норм способ.
     
  9. alexandrage

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

    Баллы:
    173
    Код:
    import java.io.IOException;
    import java.io.OutputStream;
    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class Main {
        public static Process process;
        public static boolean isRunning = true;
    
        public static void main(String[] args) throws IOException, InterruptedException {
            String osName = System.getProperty("os.name").toLowerCase();
            Thread check = new Thread(new Runnable() {
                @Override
                public void run() {
                    Scanner scan = new Scanner(System.in);
                    while (true) {
                        String str = scan.nextLine();
                        if (str.equalsIgnoreCase("stop")) {
                            try {
                                OutputStream console = process.getOutputStream();
                                console.write(("exit"+System.lineSeparator()).getBytes());
                                console.flush();
                                console.close();
                            } catch (IOException e) {
                                e.printStackTrace();
                            }
                        }
                        if (str.equalsIgnoreCase("exit")) {
                            try {
                                OutputStream console = process.getOutputStream();
                                console.write(("exit"+System.lineSeparator()).getBytes());
                                console.flush();
                                console.close();
                            } catch (IOException e) {
                                e.printStackTrace();
                            }
                            isRunning = false;
                        }
                    }
                }
            });
            check.start();
            while (isRunning) {
                ArrayList<String> params = new ArrayList<String>();
                if (!osName.contains("win")) {
                    params.add("mono");
                }
                params.add("EcoServer.exe");
                if (!osName.contains("win")) {
                    params.add("-nogui");
                }
                ProcessBuilder pb = new ProcessBuilder(params);
                process = pb.start();
                new ProcessUtils(process).print();
                Thread.sleep(1000);
            }
            System.exit(0);
        }
    }
    Делали, да. Что угодно запускать можно.
     
  10. Автор темы
    TheZefirrkka

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

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Спасибо за нормальный ответ, а не за "На линуксе нельзя запускать батник, ты тупой."...
    Прежде чем писать это могли бы хотя бы прогуглить вопрос.
     

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