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

Совет Запуск Minecraft БЕЗ лаунчера!

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем goul, 2 янв 2013.

  1. Maddourufu

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

    Баллы:
    66
    После удаления скаченной папки ничего не изменилось. Хотя, перед добавлением всех модов из сборки появился первый краш-рапорт с ошибкой инициализации.

    Форж установился 1448, это видно на экране майна.
    Что еще может быть не той версии, чтобы сборка отваливалась?


    Ааа. Это я балда!
    Забыл совсем сказать на сервер подпапки mods/*
    Прошу прощения! Завелось!!!

    Только на сервер не пускает(
    Полагаю пути в AuthMe я вручную менять должен?
    [​IMG]

    Не понимаю((
    Почему-то после всех операций, клиент ломится к скрипту hasJoin не в указанную мною папку, а в папку другого ланчера.
    Почему-то после всех операций, клиент ломится к скрипту hasJoin не в указанную мною папку, а в папку другого ланчера.
     

    Вложения:

    Последнее редактирование: 11 окт 2016
  2. alexandrage

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

    Баллы:
    173
    Перечитай инструкцию еще раз 50. Может допрет таки.
     
  3. Maddourufu

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

    Баллы:
    66
    Нет, все правильно - совсем забыл, что сервер тоже нужно перепропатчить.
    Большое спасибо за помощь, прошу прощения за мозго..поедание.
    Все заработало. Осталось сам клиент излечить от шрифтов и прочего. Люди не оценили...
    Но это уже я сделаю сам)
    Как ты отправляешь сообщения, которые проваливаются сквозь землю?

    Не оценили то, что английский и русский фрифры имеют разный размер. Меня это тоже выбило. Зачем так делать?
    Шрифт цифр (видин только в AE-сети пока) красивый.
    В общем, мы все дружно за ванильный проголосовали.
     
  4. alexandrage

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

    Баллы:
    173
    [​IMG] Ок. Угадай с 3х раз, какие буквы "а" я написал русскими, а какие инглишом.
    Лично я не вижу разницы в размере.
     
  5. Maddourufu

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

    Баллы:
    66
    Да, очень красиво) (см внизу)
    [​IMG]
     

    Вложения:

  6. alexandrage

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

    Баллы:
    173
    Ты оптифайн забыл скачать.
     
  7. Maddourufu

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

    Баллы:
    66
    Наоборот, я не забыл его удалить.
    Баги текстур нам всем надоели. За редким исключением он не нужен.
     
  8. alexandrage

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

    Баллы:
    173
    Ну тогда сам виноват.
     
  9. Maddourufu

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

    Баллы:
    66
    да все норм) Удалить шрифт и все будет как надо.
    К тому же в шрифте, как я понял, нет юникода, что неприемлимо
     
  10. alexandrage

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

    Баллы:
    173
    UP. Простой запуск клиентов на шарпе. Подключаем к проекту Newtonsoft.Json и DotNetZip. Проверенно на клиентах скаченных mojang лаунчером.
    Код:
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using Newtonsoft.Json.Linq;
    using System.Diagnostics;
    using Ionic.Zip;
    
    class Runs {
           static string assetIndex = "";
           static string clientjar;
           static void Main(string[] args) {
           string clientdir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\.minecraft\";
            string client = "1.10.2";
            string user = "zenit";
            string uuid = "00000000000000000000000000000000";
            string session = "0";
            start(clientdir, client, user, uuid, session);
        }
    
        static void start(string clientdir, string client, string user, string uuid, string session) {
            string nfolder = clientdir + @"versions\" + client + @"\natives";
            Directory.CreateDirectory(nfolder);
            clientjar = client;
            JObject versions = json(clientdir, client);
            assetInd(versions);
            JArray libraries = (JArray)versions["libraries"];
            string assetsdir = "assets";
            string gameassets = assetsdir + @"\virtual\legacy";
            string url = @"-Djava.library.path=versions\" + client + @"\natives -cp ";
            url = libs(libraries, url, clientdir, client, client);
            url += @"versions\" + clientjar + @"\" + clientjar + ".jar ";
            url += (string)versions["mainClass"] + " ";
            url += versions["minecraftArguments"].ToString().
            Replace("${auth_player_name}", user).
            Replace("${version_name}", client).
            Replace("${game_directory}", ".").
            Replace("${assets_root}", assetsdir).
            Replace("${game_assets}", gameassets).
            Replace("${assets_index_name}", assetIndex).
            Replace("${auth_uuid}", uuid).
            Replace("${auth_access_token}", session).
            Replace("${user_type}", "legacy").
            Replace("${version_type}", "release").
            Replace("${user_properties}", "{}");
            ProcessStartInfo Info = new ProcessStartInfo("java");
            Info.Arguments = url;
            Info.WorkingDirectory = clientdir;
            Info.UseShellExecute = false;
            Info.RedirectStandardOutput = true;
            Info.RedirectStandardError = true;
            Process process = new Process();
            process.StartInfo = Info;
            Action<object, DataReceivedEventArgs> actionWrite = (sender, e) =>
            {
                Console.WriteLine(e.Data);
            };
            process.ErrorDataReceived += (sender, e) => actionWrite(sender, e);
            process.OutputDataReceived += (sender, e) => actionWrite(sender, e);
            process.Start();
            process.BeginOutputReadLine();
            process.BeginErrorReadLine();
            process.WaitForExit();
        }
    
        static string libs(JArray libraries, string url, string clientdir, string client, string n) {
            foreach (var librari in libraries) {
                string[] libdir = librari["name"].ToString().Split(':');
                string libsdir = @"libraries\"+libdir[0].Replace(".", @"\")+@"\"+libdir[1]+@"\"+libdir[2]+@"\"+libdir[1]+"-"+libdir[2];
                if (librari["natives"]==null) {
                    url += libsdir+ ".jar;";
                } else {
                    string natives = clientdir + libsdir + "-natives-windows.jar";
                    string nfolder = clientdir + @"versions\" + n + @"\natives\";
                    unzip(natives, nfolder);
                }
            }
            JObject versions = json(clientdir, client);
            string inheritsFrom = (string)versions["inheritsFrom"];
            if (versions["jar"] != null) {
                clientjar = (string)versions["jar"];
            }
            if (inheritsFrom !=null) {
                versions = json(clientdir, inheritsFrom);
                libraries = (JArray)versions["libraries"];
                return url += libs(libraries, url, clientdir, inheritsFrom, n);
            }
            assetInd((JObject)versions["assetIndex"]);
            return url;
        }
    
        static JObject json(string clientdir, string client) {
            string json = clientdir + @"versions\" + client + @"\" + client + ".json";
            return JObject.Parse(File.ReadAllText(json));
        }
    
        static string assetInd(JObject versions) {
            if (versions["assetIndex"] != null) {
                assetIndex = (string)versions["assetIndex"]["id"];
            }
            else if (versions["assets"] != null) {
                assetIndex = (string)versions["assets"];
            }
            return assetIndex;
        }
    
        static void unzip(string zipdfile, string zipfolder) {
            try {
                using (ZipFile zip = ZipFile.Read(zipdfile)) {
                    foreach (ZipEntry ef in zip) {
                        zip.ExtractAll(zipfolder, ExtractExistingFileAction.OverwriteSilently);
                    }
                }
            }
            catch {}
        }
    }
     
    Последнее редактирование: 27 ноя 2016
  11. Maddourufu

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

    Баллы:
    66
    Внезапно ланчер стал циклически обновляться.
    Качает нового себя и просит обновиться еще раз... два... три...
    Ланчер время от времени изредка требует его обновить. Нажимаешь jar - перезпуск и снова.
    Обновление не выкладывал, он обновляется...

    Отключил релиз в java-коде - "ошибка подключения".

    Блин, что за *****?
     
  12. Aleksei4ik

    Aleksei4ik Ньюби

    Баллы:
    1
    А есть версия под винь 8.1 х64 ?
     
  13. _Farkon

    _Farkon Ньюби

    Баллы:
    1
    При запуске Батника у меня жалобы на первую строку, я скачал файл по ссылке, проверил на вирусы, мне говорит вирусня. Я доверяю антивирусу, поэтому лаунчер для меня
     
  14. alexandrage

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

    Баллы:
    173
    Не удачная шутка.
     

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