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

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

Discussion in 'Руководства, инструкции, утилиты' started by goul, Jan 2, 2013.

  1. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Перечитай инструкцию еще раз 50. Может допрет таки.
     
  2. Хостинг MineCraft
    <
  3. Maddourufu

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

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

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

    alexandrage Администратор

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

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

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

    Attached Files:

  6. alexandrage

    alexandrage Администратор

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

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

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

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Ну тогда сам виноват.
     
  9. Maddourufu

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

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

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    UP. Простой запуск клиентов на шарпе. Подключаем к проекту Newtonsoft.Json и DotNetZip. Проверенно на клиентах скаченных mojang лаунчером.
    Code:
    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 {}
        }
    }
     
    Last edited: Nov 27, 2016
  11. Maddourufu

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

    Trophy Points:
    66
    Внезапно ланчер стал циклически обновляться.
    Качает нового себя и просит обновиться еще раз... два... три...[DOUBLEPOST=1478341480,1476374222][/DOUBLEPOST]Ланчер время от времени изредка требует его обновить. Нажимаешь jar - перезпуск и снова.
    Обновление не выкладывал, он обновляется...

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

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

    ALEKCEN Активный участник

    Trophy Points:
    61
    А есть версия под винь 8.1 х64 ?
     
  13. MrCheatEugene

    MrCheatEugene Активный участник

    Trophy Points:
    61
    Имя в Minecraft:
    MrCheatEugene
    Как запустить 1.8?
     
  14. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Примерно так же. Парсишь json нужной версии и собираешь строку запуска. Изменений там не много было.
     

Share This Page