4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Что делать если вылетает tlauncher

После того, как игра не запустится и покажется консоль, в конце данной консоли можно найти указанный выше текст. Обычно, после двоеточия, указывается специальный код ошибки, по нему можно поискать решение.

Список кодов с ссылками на их решения:

Бывает множество ТАКИХ КОДОВ, если в нашем списке нет такого кода, то используйте поисковую систему (Яндекс или Google) с примерно таким запросом «Minecraft closed with exit code: НОМЕР КОДА ИЗ КОНСОЛИ», возможно на форумах или на каких-либо сайтах есть решение.

Если код -1 или 1, то следуйте рекомендациям ниже.

Нужные нам команды

Альтернативное логирование

Однажды поставив еще пару модов я обнаружил, что сервер, судя по всему, падает без объявления войны. Сервер не писал ошибки в latest.log или в debug, а консоль, которая по идее эту ошибку должна была написать и остановиться, была закрыта.

Не хочет писать – не нужно. У нас есть Powershell с командлетом Tee-Object, который берёт объект и выводит его в файл и в консоль одновременно.

Таким образом, Powershell будет забирать StandardOutput и записывать его в файл. Не пытайтесь использовать Start-Process, потому что он вернет System.ComponentModel.Component, а не StandardOutput, а -RedirectStandardOutput сделает невозможным ввод в консоль, чего мы хотим избежать.

Аргументы запуска

Поставив ту самую пару модов, автор заметил, что на сервере к тому же не хватает оперативной памяти. А это нужно менять аргументы запуска. Вместо того чтобы каждый раз менять их в start.bat, который все используют просто используйте этот скрипт.

Читать еще:  Ошибка DISM 0x800f081f: Не удалось найти исходные файл?.

Так как Tee-Object читает StandardOutput, только когда исполняемый файл вызывается «Прямо так», придется сделать еще один скрипт. Этот скрипт будет запускать сам майнкрафт. Начнем с аргументов.

Чтобы в будущем предаваться ультимативной лени, скрипт должен собирать аргументы запуска на лету. Для этого начнем с поиска последней версии forge.

С помощью sort-object мы всегда будем брать объект с самой большой циферкой, сколько бы вы туда их не положили. Ультимативная лень.

Теперь нужно назначить серверу память. Для этого берем количество системной памяти и записываем его сумму в string.

Правильный автоматический перезапуск

Автор видел .bat файлы от других людей, но они не учитывали причину, по которой сервер был остановлен. Это неудобно, что если нужно просто поменять файл мода или удалить что-то?
Теперь сделаем правильный перезапуск. Автор ранее натыкался на странные скрипты, которые перезапускали сервер не смотря на то, почему сервер завершил работу. Мы же будем использовать exitcode. Java использует 0 как успешное завершение, отсюда и будем плясать.

Сначала создадим функцию, которая будет перезапускать сервер в случае его неудачного завершения его работы.

Скрипт останется в цикле до тех пор, пока сервер из своей же консоли не завершит работу штатно, с помощью команды /stop.

Если мы все решили автоматизировать, то неплохо бы и собирать дату запуска, завершения, а также, причину завершения.

Для этого мы записываем результат Start-Process в переменную. В скрипте это выглядит так:

А дальше записываем результаты в файл. Вот что возвращается нам в переменную:

Все это с помощью Add-Content можно добавить в файл. Немного причесав, получаем такой скрипт, а на зовем его handler.ps1.

Теперь давайте оформим скрипт с запуском handler’a.

Читать еще:  Сервер RPC недоступен

Правильная автозагрузка

Автор хочет одним модулем запускать майнкрафт различных версий из любых путей, а также иметь возможность складывать логи в конкретную папку.

Проблема заключается в том, что процесс должен запустить пользователь, который находится в системе. Это можно делать через рабочий стол или WinRm. Если запускать сервер от имени системы или даже администратора, но не входить в систему, то Server.jar не сможет даже прочитать eula.txt и запуститься.

Включить автовход в систему мы можем с помощью добавления трех записей в реестр.

Это небезопасно. Логин и пароль указываются тут плейнтекстом, поэтому под запуск сервера нужно заводить отдельного пользователя, который имеет доступ на уровне пользователя, или в еще более узкой группе. Использовать стандартного администратора для этого категорически не рекомендуется.

С автовходом разобрались. Теперь нужно зарегистрировать новую таску под сервер. Запускать будем команду из Powershell, поэтому выглядеть это будет так:

Остроумные фразы [ править | править код ]

Остроумные фразы появляются в верхней части окна с отчётом об ошибке. Они не показываются на скриншотах ошибок и похожи на сплэши. Эти фразы могут быть изменены в файлах с расширением class, находящихся в minecraft.jar. Выбор фразы, которая появится на экране, зависит от системного времени (в наносекундах).

Hopper [1] — это утилита создания отчётов об ошибках, находящаяся в стадии бета-тестирования и разрабатываемая группой волонтёров сообщества, которая распоряжается отчётами и хранит их только для исправления ошибок Minecraft [2] .

Когда пользователь играет и в игре происходит аварийное завершение, в базе данных ищутся соответствующие отчёты. Если ни один не найден, пользователю предлагается сделать отчёт публичным. Если же отчёт найден, то сервер предложит посетить страницу техподдержки.

Читать еще:  Защита сервера от внешнего взлома через микротик. Как настроить и защитить Mikrotik от вражеских вторжений из вне? Создание резервной копии конфигурации

История [ править | править код ]

10 июля 2013Запущен Hopper.
14 июля 2013Hopper внедрен в лаунчер Minecraft.
15 июля 2013Hopper отправляет отчёты об ошибках в базу данных.
Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector