Запускает функцию, которая должна быть в коде игры.

Использование function функция> Аргументы функция Путь к функции, которую требуется запустить. Должен быть в виде пространство_имён:путь/к/функции/файл . Результат Не выполняется, если неверно указан путь к функции. В случае успеха запускает функцию относительно места выполнения команды. Примеры Запуск функции, находящейся по пути «./data/functions/custom/example/test.mcfunction»: function custom:example/test

История

Официальный выпуск Java Edition1.12pre1

Официальный выпуск Bedrock Edition1.8.0beta 1.8.0.8

Добавлена команда /function .
Добавлена команда /function .

Источник: minecraft.fandom.com

Идеальный скрипт запуска сервера Minecraft

Коротко О Логике Майнкрафта / нелогичности майнкрафта 2 МАЙНКРАФТ ЛОГИКА

Автор очень любит игру, и сам является администратором небольшого сервера «чисто для друзей». Как водится среди любителей, на сервере замодировано все, а это влечёт за собой нестабильность работы и как следствие падения. Так как Powershell автор знает лучше, чем расположение магазинов на своей улице, он принял решение сделать «Лучший Скрипт Для Запуска Майнкрафт 2020».

Этот же скрипт послужил основой для шаблона в маркетплейсе Ruvds. Но все исходники уже есть в статье. Сейчас по порядку, как это все производилось.

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

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

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

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

.handler.ps1 | Tee-Object .StandardOutput.txt -Append

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

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

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

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

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

🍍 ПАРАМЕТРЫ ЗАПУСКА МАЙНКРАФТ! — ПОВЫШАЕМ СЕБЕ ФПС! ● МАЙНКРАФТ СКАЙ ВАРС


$forge = ((Get-ChildItem | Where-Object Name -Like «forge*»).Name | Sort-Object -Descending) | Select-Object -last 1

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

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

Читайте также:  Как сделать в Майнкрафте кирпичную стену

$ram = ((Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property capacity -Sum).sum /1gb) $xmx = «-Xms» + $ram + «G»

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

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

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

function Get-MinecraftExitCode < do < if ($global:Process.ExitCode -ne 0) < Write-Log Restart-Minecraft >else < Write-Log >> until ($global:Process.ExitCode -eq 0) >

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

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

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

$global:Process = Start-Process -FilePath «C:Program Files (x86)common filesOracleJavajavapath_target_*java.exe» -ArgumentList «$xmx -server -jar $forge nogui» -Wait -NoNewWindow -PassThru

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

$global:Process.StartTime $global:Process.ExitCode $global:Process.ExitTime

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

Add-Content -Value «Start time:» -Path $Logfile $global:Process.StartTime Add-Content -Value «Exit code:» -Path $Logfile $global:Process.ExitCode | Add-Content $Logfile Add-Content -Value «Exit time:» -Path $Logfile $global:Process.ExitTime | Add-Content $Logfile

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

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

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

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

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

New-ItemProperty -Path «HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon» -Name DefaultUserName -Value $Username -ErrorAction SilentlyContinue New-ItemProperty -Path «HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon» -Name DefaultPassword -Value $Password -ErrorAction SilentlyContinue New-ItemProperty -Path «HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon» -Name AutoAdminLogon -Value 1 -ErrorAction SilentlyContinue

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

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

Читайте также:  Как установить Майнкрафт на айфон через телеграм

$Trigger = New-ScheduledTaskTrigger -AtLogOn $User = «ServerAdmin» $PS = New-ScheduledTaskAction -Execute ‘PowerShell.exe» -Argument «Start-Minecraft -Type Forge -LogFile «C:minecraftstdout.txt» -MinecraftPath «C:minecraft»‘ Register-ScheduledTask -TaskName «StartSSMS» -Trigger $Trigger -User $User -Action $PS -RunLevel Highest

Собираем модуль

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

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

Start-Minecraft

Сначала сделаем модуль, который только и будет делать, что запускать скрипт, который будет слушать и записывать standardoutput.

В блоке параметров он запрашивает из какой папки запускать майнкрафт и куда складывать лог.

Set-Location (Split-Path $MyInvocation.MyCommand.Path) function Start-Minecraft < [CmdletBinding()] param ( [Parameter()] [ValidateNotNullOrEmpty()] [string] $LogFile, [Parameter(Mandatory)] [ValidateSet(‘Vanilla’, ‘Forge’)] [ValidateNotNullOrEmpty()] [string] $Type, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [string[]] $MinecraftPath ) powershell.exe -file .handler.ps1 -type $type -MinecraftPath $MinecraftPath | Tee-Object $LogFile -Append >Export-ModuleMember -Function Start-Minecraft

А запускать майнкрафт нужно будет так:

Start-Minecraft -Type Forge -LogFile «C:minecraftstdout.txt» -MinecraftPath «C:minecraft»

Теперь перейдем к готовому к употреблению Handler.ps1

Чтобы наш скрипт мог принимать параметры при вызове, также нужно указывать блок параметров. Обратите внимание, он запускает Oracle Java, если вы используете другой дистрибутив, нужно будет изменить путь до исполняемого файла.

param ( [Parameter()] [ValidateNotNullOrEmpty()] [string]$type, [Parameter()] [ValidateNotNullOrEmpty()] [string]$MinecraftPath, [Parameter()] [ValidateNotNullOrEmpty()] [string]$StandardOutput ) Set-Location $MinecraftPath function Restart-Minecraft < Write-host «=============== Starting godlike game server ============» $forge = ((Get-ChildItem | Where-Object Name -Like «forge*»).Name | Sort-Object -Descending) | Select-Object -first 1 $ram = ((Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property capacity -Sum).sum /1gb) $xmx = «-Xms» + $ram + «G» $global:Process = Start-Process -FilePath «C:Program Files (x86)common filesOracleJavajavapath_target_*java.exe» -ArgumentList «$xmx -server -jar $forge nogui» -Wait -NoNewWindow -PassThru >function Write-Log < Write-host «Start time:» $global:Process.StartTime Write-host «Exit code:» $global:Process.ExitCode Write-host «Exit time:» $global:Process.ExitTime Write-host «=============== Stopped godlike game server ============ “#3AC1EF”»>Register-Minecraft
Скрипт, практически, повторяет Start-Minecraft, за исключением того, что только регистрирует новую задачу. Принимает те же самые аргументы. Имя пользователя, если не было указано, берет текущего.

function Register-Minecraft < [CmdletBinding()] param ( [Parameter()] [ValidateNotNullOrEmpty()] [string] $LogFile, [Parameter(Mandatory)] [ValidateSet(‘Vanilla’, ‘Forge’)] [ValidateNotNullOrEmpty()] [string]$Type, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [string]$MinecraftPath, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [string]$User, [Parameter(Mandatory)] [string]$TaskName = $env:USERNAME ) $Trigger = New-ScheduledTaskTrigger -AtLogOn $arguments = «Start-Minecraft -Type $Type -LogFile $LogFile -MinecraftPath $MinecraftPath» $PS = New-ScheduledTaskAction -Execute «PowerShell» -Argument «-noexit -command $arguments» Register-ScheduledTask -TaskName $TaskName -Trigger $Trigger -User $User -Action $PS -RunLevel Highest >Export-ModuleMember -Function Register-Minecraft

Register-Autologon

В блоке параметров скрипт принимает параметр Username и Password. Если Username не был указан, используется имя текущего пользователя.

function Set-Autologon < param ( [Parameter( HelpMessage=»Username for autologon»)] $Username = $env:USERNAME, [Parameter(Mandatory=$true, HelpMessage=»User password»)] [ValidateNotNullOrEmpty()] $Password ) $i = Get-ItemProperty -Path «HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon» if ($null -eq $i) < New-ItemProperty -Path «HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon» -Name DefaultUserName -Value $Username New-ItemProperty -Path «HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon» -Name DefaultPassword -Value $Password New-ItemProperty -Path «HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon» -Name AutoAdminLogon -Value 1 Write-Verbose «Set-Autologon will enable user auto logon.» >else < Set-ItemProperty -Path «HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon» -Name DefaultUserName -Value $Username Set-ItemProperty -Path «HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon» -Name DefaultPassword -Value $Password Set-ItemProperty -Path «HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon» -Name AutoAdminLogon -Value 1 >Write-Verbose «Autologon was set successfully.» >

Читайте также:  Как активировать компьютер в Майнкрафт

Запуск этого скрипта выглядит так:

Set-Autologon -Password «PlaintextPassword»

Как пользоваться

Сейчас рассмотрим то, как сам автор пользуется всем этим. Как правильно нужно разворачивать публичный сервер Minecraft на Windows. Начнем с самого начала.

1. Создаем пользователя

$pass = Get-Credential New-LocalUser -Name «MinecraftServer» -Password $pass.Password -AccountNeverExpires -PasswordNeverExpires -UserMayNotChangePassword

2. Регистрируем задание по запуску скрипта

Можете зарегистрировать с помощью модуля, так:

Register-Minecraft -Type Forge -LogFile «C:minecraftstdout.txt» -MinecraftPath «C:minecraft» -User «MInecraftServer» -TaskName «MinecraftStarter»

Или воспользоваться стандартными средствами:

$Trigger = New-ScheduledTaskTrigger -AtLogOn $User = «ServerAdmin» $PS = New-ScheduledTaskAction -Execute ‘PowerShell.exe» -Argument «Start-Minecraft -Type Forge -LogFile «C:minecraftstdout.txt» -MinecraftPath «C:minecraft»‘ Register-ScheduledTask -TaskName «StartSSMS» -Trigger $Trigger -User $User -Action $PS -RunLevel Highest

3. Включаем автовход в систему и перезагружаем машину

Set-Autologon -Username «MinecraftServer» -Password «Qw3»

Завершение

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

  • Блог компании RUVDS.com
  • PowerShell
  • Серверное администрирование
  • Игры и игровые консоли
  • Лайфхаки для гиков

Источник: habr.com

FlareLand.ru

Что делать если крашит чит майнкрафт? -noverify в аргументы TLegacy

thumb_down_off_alt
thumb_up_off_alt

крашит чит майнкрафт

При запуске чита можно столкнуться с тем, что майнкрафт просто вылетает с ошибкой. И сейчас мы разберём и решим эту проблему.

Установим Лаунчер:

  • Подробная статья по установке доступна тут: https://flareland.ru/download-tlauncher-legacy/

Качаем чит и устанавливаем:

  • Максимальная инфа по установке тут: https://flareland.ru/howto-setup-cheat-minecraft/

Решаем проблему:

  • Запускаем лаунчер
  • Выбираем нужную чит-версию
  • Рядом с зелёной кнопкой “обновить” нажимаем “Настройки лаунчера и игры“

  • В аргументы Майнкрафта добавляем -noverify
  • Сохраняем и готово!

крашит чит майнкрафт

  • Как установить чит на Майнкрафт? Что такое чит профиль и где его найти
  • TLauncher Legacy
  • Читы на майнкрафт

Комментарии

Добавить комментарий Отменить ответ

27 января, 2022 9:07 пп

что делать если всё равно вылетает?

12 марта, 2022 5:33 пп

9 апреля, 2022 1:10 дп

Я не понимаю как его на кс го устоновить обяснитее пажэ!

30 апреля, 2022 11:00 дп

Если у ваш крашит. То возожно дело в модах и других версиях шейдеров или модом посмотрите папку mods и вытащите моды (если вы хотели скачать читы) а если какие то определённые моды то дело в версиях

26 ноября, 2022 8:17 пп

Источник: flareland.ru