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

Обсудим Лепим пиратский лаунчер

Тема в разделе "Управление сервером Bukkit", создана пользователем Oinvizion Craft, 27 сен 2016.

  1. alexandrage

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

    Баллы:
    173
    хз, не работал с гуищами в шарпе.
     
  2. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    жаль
    Мда всё теперь упирается в эту ошибку
    О! Идея! Я совмещу это со своим топорным кодом, т.е. вместо richTextBox1.AppendText(e.Data); Будет запись в файл логов, а потом уже считывание
     
  3. alexandrage

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

    Баллы:
    173
    Код:
                ThreadStart ths = new ThreadStart(() => start(clientdir, client, user, uuid, session));
                Thread th = new Thread(ths);
                th.Start();
    Код:
                ProcessStartInfo Info = new ProcessStartInfo("javaw");
                Info.Arguments = url;
                Info.WorkingDirectory = clientdir;
                Info.UseShellExecute = false;
                Info.RedirectStandardOutput = true;
                Info.RedirectStandardError = true;
                Process process = new Process();
                Action<object, DataReceivedEventArgs> actionWrite = (sender, e) => {
                    try {
                        if(e.Data!=null) {                   
                            box.Invoke(new Action(() => { box.AppendText(e.Data+"\n"); }));
                        } else {
                            Environment.Exit(0);
                        }
                    } catch {
                        Environment.Exit(0);
                    }
                };
                process.ErrorDataReceived += (sender, e) => actionWrite(sender, e);
                process.OutputDataReceived += (sender, e) => actionWrite(sender, e);
                process.Start();
                process.BeginOutputReadLine();
                process.BeginErrorReadLine();
                process.WaitForExit();
     
    Последнее редактирование: 28 ноя 2016
  4. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Прошу помочь, как сделать вывод логов в текстовый файл?
    Т.е.
    Чтобы это:
    Action<object, DataReceivedEventArgs> actionWrite = async (sender, e) =>
    {
    Писало лог в текстовый файл
     
  5. alexandrage

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

    Баллы:
    173
    Это лишнее. Майн сам логи пишет.
     
  6. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Эмм.. Ты серьёзно? 1.5.2 - нет
    Попробуй сам, вот именно поэтому-то я и маюсь
     
  7. alexandrage

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

    Баллы:
    173
    output-client.log и output-server.log
     
  8. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Всё! Разобрался с логами и выводом процесса!
    Огромнейшее тебе спасибо!
    Такой вопрос, при запуске 1.5.2, спустя время вылазит это:
    Код:
    Exception in thread "Thread-10" java.lang.IllegalArgumentException: input stream cannot be null
        at bax.a(SourceFile:86)
        at bax.d(SourceFile:77)
        at bav.a(SourceFile:173)
        at bav.b(SourceFile:95)
        at bkh.run(SourceFile:215)
    
    Майнкрафт норм работает, но всё таки, что это обозначает, и что ещё за "входящий поток"
    А что поддержку скинов по нику с 1.7.10 + убрали?
    Я просто делаю в лаунчере проверку скина, и так всё норм, а как заходишь на версии начиная с 1.7.10 - скина нет!
    Да и если это реально так и это очень давно - я в майн уже 3 месяца не играл, сейчас первый раз - и то, только для проверки скина.
     
  9. alexandrage

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

    Баллы:
    173
    С 1.7 скинрестори робит же. Ванилкам хватает.
     
  10. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    А если игрок заходит, например, с чит клиента, можно лм как-то сделать что-бы у него отображался скин этого ника?
    Я конечно могу ошибаться, но разве скин ресторер - это не серверный плагин? А как можно сделать так, что бы у игрока отображался скин в одиночке (не прибегая к замене скина стива в джарнике =D)
     
  11. alexandrage

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

    Баллы:
    173
    Скопикрысь аутчлибы с ёлки пи и переделай на свой сайт.
     
  12. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    А как можно воплотить авторизацию на ели?
     
  13. alexandrage

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

    Баллы:
    173
    Вот ту хз, смотри у турка, вроде чет было.
     
  14. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Т.е. я так понял, мне придётся заливать все версии ауслибов на свой сайт?
    Нет ли какого-нибудь ресурса откуда можно напрямую качать?
    Требуется помощь.

    Имеется JObject versionlist = JObject.Parse(File.ReadAllText(...)) со списком всех версий (файл https://launchermeta.mojang.com/mc/game/version_manifest.json )

    Как организовать запись в ComboBox всех этих версий, с проверкой существования их, и плюс ко всему ещё и с добавлением пользовательских версий (например чит-клиентов)????

    ТАК, КАК ЭТО СДЕЛАНО В ТЛАУНЧЕРЕ

    На выходе должно получиться что-то типо этого:
    (* - установлено)

    Новейшая версия: 1.11
    Версия 1.10.2
    Версия 1.10.1
    * Версия 1.10
    * Nodus 1.10
    * Forge 1.10
    Версия 1.9.4


    Ну понятно короч. (как в тлаунчере)
     
  15. alexandrage

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

    Баллы:
    173
    latest, дальше сортируем по дате. Проблем? Потом сканируешь папку versions на наличие папок и json файлов в них "versions/foldername/foldername.json.
     
  16. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Это я уже давно сделал, проблема в поиске клиентов с нестандартными названиями. Например: у нас клиент с названием "Nodus" (Nodus.jar / Nodus.json), а сам он относится к версии 1.7.10. Как это лаунчеру-то узнать?
    Надо чтобы он как тлаунчер все одинаковые версии ставил вместе
    Т.е. тот nodus про который я говорил, типо так должен:

    ...
    1.7.10
    Nodus
    ...

    И ещё чтобы обозначал, какие версии уже установлены.
    Я придумал как это сделать (примерно), но такой вопрос, если сделать парс каждого джосонника каждой версии на компе, много ли это времени займет? Есть ли какой-то режим ультрабыстрого парса?
    А то до сих пор в "минисруфт" играют на калькуляторах у которых по 2 гига оперативки, из которых как правило 60,а то и 70 % занято.
    Да и ещё один вопрос, можно как-нибудь узнать откуда таунчер берёт свой список версий, с форджами, с оптифайнами и т.д.?
     
  17. alexandrage

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

    Баллы:
    173
    Лаунчер выводит имя папки, если ты назвал клиент как Nodus, то так и должен показывать. А сортируется все по дате, я писал уже выше.
    [​IMG]
     
    Последнее редактирование: 10 дек 2016
  18. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Ты вообще читаешь то, о чем я спрашиваю?
     
  19. alexandrage

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

    Баллы:
    173
    1) Сортировка по дате сама объединит.
    Тупо помечай те что есть на пека.

    И так все быстро будет.

    Это не лечится.
    Понятия не имею, со своего сервера, от куда еще то.
    Вот ответил на все пункты. Теперь доволен?
     
  20. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Ага! Только я уже сам ответил на все, кроме последнего. Можешь плз помочь. Как хотяб это можно узнать?
     

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