เจฒเฉเจเจ เจเฉเจก เจจเฉเฉฐ เจฌเจนเฉเจค เจชเจฟเจเจฐ เจเจฐเจฆเจพ เจนเฉ, เจ
เจคเฉ เจเจน เจเฉเจฆ เจเฉฑเจ เจเฉเจเฉ เจธเจฐเจตเจฐ เจฆเจพ เจชเฉเจฐเจธเจผเจพเจธเจ เจนเฉ, โเจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจฆเฉเจธเจคเจพเจ เจฒเจโเฅค เจเจฟเจตเฉเจ เจเจฟ เจธเจผเฉเจเฉเจจเจพเจ เจตเจฟเฉฑเจ เจเจฎ เจนเฉเฉฐเจฆเจพ เจนเฉ, เจธเจฐเจตเจฐ เจเฉฑเจคเฉ เจนเจฐ เจเฉเจเจผ เจจเฉเฉฐ เจธเฉเจงเจฟเจ เจเจพเจเจฆเจพ เจนเฉ, เจ
เจคเฉ เจเจธ เจตเจฟเฉฑเจ เจ
เจธเจฅเจฟเจฐเจคเจพ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ เจนเฉ เจ
เจคเฉ เจจเจคเฉเจเฉ เจตเจเฉเจ, เจเจฐเฉเจธเจผ เจนเฉ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจฟเจเจเจเจฟ เจชเจพเจตเจฐเจธเจผเฉเจฒ เจฆเจพ เจฒเฉเจเจ เจเจชเจฃเฉ เจเจฒเฉ 'เจคเฉ เจธเจเฉเจฐเจพเจ เจฆเฉ เจธเจฅเจฟเจคเฉ เจจเจพเจฒเฉเจ เจฌเจฟเจนเจคเจฐ เจเจพเจฃเจฆเจพ เจนเฉ, เจเจธ เจฒเจ เจเจธเจจเฉ "" เจฌเจฃเจพเจเจฃ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพเจฎเจพเจเจจเจเจฐเจพเจซเจ 2020 เจจเฉเฉฐ เจฒเจพเจเจ เจเจฐเจจ เจฒเจ เจธเจญ เจคเฉเจ เจตเจงเฉเจ เจธเจเฉเจฐเจฟเจชเจ" เจตเจฟเฉฑเจ เจเฉเจเจชเจฒเฉเจ เจฆเฉ เจเจงเจพเจฐ เจตเจเฉเจ เจเฉฑเจเฉ เจธเจเฉเจฐเจฟเจชเจ เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเฉ
เจธเจพเจจเฉเฉฐ เจฒเฉเฉ เจนเฉ เจนเฉเจเจฎ
เจตเจฟเจเจฒเจชเจ เจฒเฉเจเจฟเฉฐเจ
เจเฉฑเจ เจฆเจฟเจจ, เจเฉเจ เจนเฉเจฐ เจฎเฉเจก เจธเจฅเจพเจชเจค เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจฎเฉเจ เจเฉเจเจฟเจ เจเจฟ เจธเจฐเจตเจฐ, เจเจผเจพเจนเจฐ เจคเฉเจฐ 'เจคเฉ, เจเฉฐเจ เจฆเฉ เจเฉเจธเจผเจฃเจพ เจเฉเจคเฉ เจฌเจฟเจจเจพเจ เจเจฐเฉเจธเจผ เจนเฉ เจฐเจฟเจนเจพ เจธเฉเฅค เจธเจฐเจตเจฐ เจจเฉ latest.log เจเจพเจ เจกเฉเจฌเฉฑเจ เจตเจฟเฉฑเจ เจเจฒเจคเฉเจเจ เจจเจนเฉเจ เจฒเจฟเจเฉเจเจ, เจ เจคเฉ เจเฉฐเจธเฉเจฒ, เจเจฟเจธเจจเฉเฉฐ เจธเจฟเจงเจพเจเจคเจ เจคเฉเจฐ 'เจคเฉ เจเจน เจเจฒเจคเฉ เจฒเจฟเจเฉ เจเจพเจฃเฉ เจเจพเจนเฉเจฆเฉ เจธเฉ เจ เจคเฉ เจฌเฉฐเจฆ เจเจฐ เจฆเจฟเฉฑเจคเจพ เจเจฟเจ เจธเฉ, เจฌเฉฐเจฆ เจเจฐ เจฆเจฟเฉฑเจคเจพ เจเจฟเจ เจธเฉเฅค
เจเฉ เจเจน เจฒเจฟเจเจฃเจพ เจจเจนเฉเจ เจเจพเจนเฉเฉฐเจฆเจพ, เจคเจพเจ เจเจธเจจเฉเฉฐ เจฒเจฟเจเจฃ เจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฅค เจธเจพเจกเฉ เจเฉเจฒ cmdlet เจจเจพเจฒ Powershell เจนเฉ เจเฉ-เจตเจธเจคเฉ, เจเฉ เจเฉฑเจ เจเจฌเจเฉเจเจ เจฒเฉเจเจฆเจพ เจนเฉ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจเฉฑเจเฉ เจธเจฎเฉเจ เจเฉฑเจ เจซเจพเจเจฒ เจ เจคเฉ เจเฉฐเจธเฉเจฒ เจตเจฟเฉฑเจ เจเจเจเจชเฉเฉฑเจ เจเจฐเจฆเจพ เจนเฉเฅค
.handler.ps1 | Tee-Object .StandardOutput.txt -Append
เจเจธ เจคเจฐเฉเจนเจพเจ, เจชเจพเจตเจฐเจธเจผเฉเจฒ เจธเจเฉเจเจกเจฐเจก เจเจเจเจชเฉเฉฑเจ เจจเฉเฉฐ เจเฉเจฃเฉเจเจพ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจเฉฑเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจฒเจฟเจ เจฆเฉเจตเฉเจเจพเฅค เจตเจฐเจคเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจจเจพ เจเจฐเฉ เจธเจผเฉเจฐเฉ-เจชเฉเจฐเจเจฟเจฐเจฟเจเจเจฟเจเจเจเจฟ เจเจน System.ComponentModel.Component เจตเจพเจชเจธ เจเจฐเฉเจเจพ เจจเจพ เจเจฟ StandardOutput, เจ เจคเฉ -RedirectStandardOutput เจเฉฐเจธเฉเจฒ เจตเจฟเฉฑเจ เจฆเจพเจเจฒ เจนเฉเจฃเจพ เจ เจธเฉฐเจญเจต เจฌเจฃเจพ เจฆเฉเจตเฉเจเจพ, เจเจฟเจธ เจคเฉเจ เจ เจธเฉเจ เจฌเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจเฅค
เจเจฐเจเฉเจฎเฉเจเจ เจฒเจพเจเจ เจเจฐเฉ
เจเจธเฉ เจเฉเฉเฉ เจฆเฉ เจฎเจพเจกเจธ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจฒเฉเจเจ เจจเฉ เจฆเฉเจเจฟเจ เจเจฟ เจธเจฐเจตเจฐ เจเฉเจฒ เจฒเฉเฉเฉเจเจฆเฉ RAM เจตเฉ เจจเจนเฉเจ เจนเฉเฅค เจ เจคเฉ เจเจธ เจฒเจ เจฒเจพเจเจ เจเจฐเจเฉเจฎเฉเจเจเจธ เจจเฉเฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจเจนเจจเจพเจ เจจเฉเฉฐ เจนเจฐ เจตเจพเจฐ start.bat เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฃ เจฆเฉ เจฌเจเจพเจ, เจเจฟเจธเจจเฉเฉฐ เจนเจฐ เจเฉเจ เจตเจฐเจคเจฆเจพ เจนเฉ, เจฌเจธ เจเจธ เจธเจเฉเจฐเจฟเจชเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเฉเฅค
เจเจฟเจเจเจเจฟ เจเฉ-เจเจฌเจเฉเจเจ เจธเจฟเจฐเจซ เจธเจเฉเจเจกเจฐเจก เจเจเจเจชเฉเฉฑเจ เจจเฉเฉฐ เจชเฉเฉเจนเจฆเจพ เจนเฉ เจเจฆเฉเจ เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒ เจจเฉเฉฐ "เจฌเจธ เจเจธ เจคเจฐเฉเจนเจพเจ" เจเจฟเจนเจพ เจเจพเจเจฆเจพ เจนเฉ, เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจ เจนเฉเจฐ เจธเจเฉเจฐเจฟเจชเจ เจฌเจฃเจพเจเจฃเฉ เจชเจตเฉเจเฉเฅค เจเจน เจธเจเฉเจฐเจฟเจชเจ เจฎเจพเจเจจเจเจฐเจพเจซเจ เจฆเฉเจเจฐเจพ เจนเฉ เจฒเจพเจเจ เจเฉเจคเฉ เจเจพเจตเฉเจเฉเฅค เจเจ เจฆเจฒเฉเจฒเจพเจ เจจเจพเจฒ เจธเจผเฉเจฐเฉ เจเจฐเฉเจ.
เจญเจตเจฟเฉฑเจ เจตเจฟเฉฑเจ เจ เฉฐเจคเจฎ เจเจฒเจธ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจนเฉเจฃ เจฒเจ, เจธเจเฉเจฐเจฟเจชเจ เจจเฉเฉฐ เจซเจฒเจพเจ 'เจคเฉ เจฒเจพเจเจ เจเจฐเจเฉเจฎเฉเจเจเจพเจ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจเจ เจจเจตเฉเจจเจคเจฎ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉ เจเฉเจ เจเจฐเจเฉ เจธเจผเฉเจฐเฉเจเจค เจเจฐเฉเจ smithy.
$forge = ((Get-ChildItem | Where-Object Name -Like "forge*").Name | Sort-Object -Descending) | Select-Object -last 1
เจธเฉเจฐเจ-เจเจฌเจเฉเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ, เจ เจธเฉเจ เจนเจฎเฉเจธเจผเจพ เจธเจญ เจคเฉเจ เจตเฉฑเจกเฉ เจธเฉฐเจเจฟเจ เจฆเฉ เจจเจพเจฒ เจเจฌเจเฉเจเจ เจฒเฉ เจฒเจตเจพเจเจเฉ, เจญเจพเจตเฉเจ เจคเฉเจธเฉเจ เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจเจฟเฉฐเจจเฉ เจตเฉ เจเฉฑเจฅเฉ เจฐเฉฑเจเฉเฅค เจ เฉฐเจคเจฎ เจเจฒเจธเฅค
เจนเฉเจฃ เจคเฉเจนเจพเจจเฉเฉฐ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจฎเฉเจฎเฉเจฐเฉ เจฆเฉเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจธเจฟเจธเจเจฎ เจฎเฉเจฎเฉเจฐเฉ เจฆเฉ เจฎเจพเจคเจฐเจพ เจฒเจ เจ เจคเฉ เจเจธเจฆเฉ เจฎเจพเจคเจฐเจพ เจจเฉเฉฐ เจธเจคเจฐ เจตเจฟเฉฑเจ เจฒเจฟเจเฉเฅค
$ram = ((Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property capacity -Sum).sum /1gb)
$xmx = "-Xms" + $ram + "G"
เจธเจนเฉ เจเจเฉเจฎเฉเจเจฟเจ เจฐเฉเจธเจเจพเจฐเจ
เจฒเฉเจเจ เจจเฉ เจนเฉเจฐ เจฒเฉเจเจพเจ เจฆเฉเจเจ .bat เจซเจพเจเจฒเจพเจ เจฆเฉเจเฉเจเจ เจนเจจ, เจชเจฐ เจเจนเจจเจพเจ เจจเฉ เจธเจฐเจตเจฐ เจฆเฉ เจฌเฉฐเจฆ เจนเฉเจฃ เจฆเฉ เจเจพเจฐเจจ เจจเฉเฉฐ เจงเจฟเจเจจ เจตเจฟเฉฑเจ เจจเจนเฉเจ เจฐเฉฑเจเจฟเจเฅค เจเจน เจ
เจธเฉเจตเจฟเจงเจพเจเจจเจ เจนเฉ, เจเฉเจเจฐ เจคเฉเจนเจพเจจเฉเฉฐ เจฎเจพเจก เจซเจพเจเจฒ เจจเฉเฉฐ เจฌเจฆเจฒเจฃ เจเจพเจ เจเฉเจ เจฎเจฟเจเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ เจคเจพเจ เจเฉ เจนเฉเจตเฉเจเจพ?
เจนเฉเจฃ เจเจ เจเฉฑเจ เจธเจนเฉ เจฐเฉเจธเจเจพเจฐเจ เจเจฐเฉเจเฅค เจฒเฉเจเจ เจชเจนเจฟเจฒเจพเจ เจ
เจเฉเจฌ เจธเจเฉเจฐเจฟเจชเจเจพเจ เจตเจฟเฉฑเจ เจเจเจ เจธเฉ เจเจฟเจธ เจจเฉ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเฉเจคเจพ เจธเฉ เจญเจพเจตเฉเจ เจธเจฐเจตเจฐ เจฌเฉฐเจฆ เจเจฟเจเจ เจนเฉเจตเฉเฅค เจ
เจธเฉเจ เจเจเจเจผเจฟเจเจเฉเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉเฅค 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
เจเจน เจธเจญ เจเจก-เจเฉฐเจเฉเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉฑเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเฉเฉเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจเจธเจจเฉเฉฐ เจฅเฉเฉเจพ เจเจฟเจนเจพ เจเฉเฉเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจธเจพเจจเฉเฉฐ เจเจน เจธเจเฉเจฐเจฟเจชเจ เจฎเจฟเจฒเจฆเฉ เจนเฉ, เจ เจคเฉ เจเจ เจเจธเจจเฉเฉฐ 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
เจนเฉเจฃ เจเฉฑเจ เจธเจเฉเจฐเจฟเจชเจ เจฌเจฃเจพเจ เจเฉ เจนเฉเจเจกเจฒเจฐ เจจเฉเฉฐ เจฒเจพเจเจ เจเจฐเจฆเฉ เจนเฉเฅค
เจธเจนเฉ เจธเจผเฉเจฐเฉเจเจค
เจฒเฉเจเจ เจเฉฑเจ เจฎเฉเจกเฉเจเจฒ เจตเจฟเฉฑเจ เจเจฟเจธเฉ เจตเฉ เจฎเจพเจฐเจ เจคเฉเจ เจฎเจพเจเจจเจเจฐเจพเจซเจ เจฆเฉ เจตเฉฑเจ-เจตเฉฑเจ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเฉ, เจ เจคเฉ เจเฉฑเจ เจเจพเจธ เจซเฉเจฒเจกเจฐ เจตเจฟเฉฑเจ เจฒเฉเจเจธ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจ เจฆเฉ เจฏเฉเจ เจตเฉ เจนเฉเจฃเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเฉเฅค
เจธเจฎเฉฑเจธเจฟเจ เจเจน เจนเฉ เจเจฟ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจฆเฉเจเจฐเจพ เจธเจผเฉเจฐเฉ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเฉ เจธเจฟเจธเจเจฎ เจตเจฟเฉฑเจ เจฒเฉเจเจเจจ เจนเฉ. เจเจน เจกเฉเจธเจเจเจพเจช เจเจพเจ 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
เจเจน เจธเฉเจฐเฉฑเจเจฟเจ เจค เจจเจนเฉเจ เจนเฉเฅค เจฒเฉเจเจเจจ เจ เจคเฉ เจชเจพเจธเจตเจฐเจก เจเฉฑเจฅเฉ เจธเจพเจฆเฉ เจเฉเจเจธเจ เจตเจฟเฉฑเจ เจฆเจฐเจธเจพเจ เจเจ เจนเจจ, เจเจธเจฒเจ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฒเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจ เจตเฉฑเจเจฐเจพ เจเจชเจญเฉเจเจคเจพ เจฌเจฃเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ เจเจฟเจธ เจเฉเจฒ เจเจชเจญเฉเจเจคเจพ เจชเฉฑเจงเจฐ 'เจคเฉ เจชเจนเฉเฉฐเจ เจนเฉเจตเฉ, เจเจพเจ เจเฉฑเจ เจนเฉเจฐ เจเฉเจเฉ เจธเจฎเฉเจน เจตเจฟเฉฑเจเฅค เจเจธเจฆเฉ เจฒเจ เจเฉฑเจ เจฎเจฟเจเจฐเฉ เจชเฉเจฐเจธเจผเจพเจธเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจธเจเจคเฉ เจจเจพเจฒ เจธเจฟเจซเจพเจฐเจธเจผ เจจเจนเฉเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ.
เจ เจธเฉเจ เจเจเฉ-เจฒเฉเจเจเจจ เจจเฉเฉฐ เจเฉเจฐเจฎเจฌเฉฑเจง เจเฉเจคเจพ เจนเฉเฅค เจนเฉเจฃ เจคเฉเจนเจพเจจเฉเฉฐ เจธเจฐเจตเจฐ เจฒเจ เจเฉฑเจ เจจเจตเจพเจ เจเฉฐเจฎ เจฐเจเจฟเจธเจเจฐ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจ เจธเฉเจ เจชเจพเจตเจฐเจธเจผเฉเจฒ เจคเฉเจ เจเจฎเจพเจเจก เจเจฒเจพเจตเจพเจเจเฉ, เจเจธ เจฒเจ เจเจน เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเฉเจตเฉเจเจพ:
$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
เจฎเฉเจกเฉเจเจฒ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเจจเจพ
เจเจ เจนเฉเจฃ เจนเจฐ เจเฉเจเจผ เจจเฉเฉฐ เจฎเฉเจกเฉเจเจฒ เจตเจฟเฉฑเจ เจฐเฉฑเจ เจฆเฉเจเจ เจเฉ เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ เจตเจฐเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเจจเฅค เจคเจฟเจเจฐ เจธเจเฉเจฐเจฟเจชเจเจพเจ เจฒเจ เจธเจพเจฐเฉ เจเฉเจก เจเฉฑเจฅเฉ เจนเจจ, เจเจฏเจพเจค เจเจฐเฉ เจ เจคเฉ เจตเจฐเจคเฉเจ เจเจฐเฉเฅค
เจเฉเจเจฐ เจคเฉเจธเฉเจ เจฎเฉเจกเจฟเจเจฒเจพเจ เจจเจพเจฒ เจชเจฐเฉเจธเจผเจพเจจ เจจเจนเฉเจ เจนเฉเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ เจคเจพเจ เจคเฉเจธเฉเจ เจเฉฑเจชเจฐ เจฆเฉฑเจธเฉ เจนเจฐ เจเฉเจเจผ เจจเฉเฉฐ เจตเฉฑเจเจฐเฉ เจคเฉเจฐ 'เจคเฉ เจตเจฐเจค เจธเจเจฆเฉ เจนเฉเฅค
เจธเจเจพเจฐเจ-เจฎเจพเจเจจเจเจฐเจพเจซเจ
เจชเจนเจฟเจฒเจพเจ, เจเจ เจเฉฑเจ เจฎเฉเจกเฉเจเจฒ เจฌเจฃเจพเจเจ เจเฉ เจเฉฑเจ เจธเจเฉเจฐเจฟเจชเจ เจเจฒเจพเจเจฃ เจคเฉเจ เจเจฒเจพเจตเจพ เจนเฉเจฐ เจเฉเจ เจจเจนเฉเจ เจเจฐเฉเจเจพ เจเฉ เจธเจเฉเจเจกเจฐเจก เจเจเจเจชเฉเฉฑเจ เจจเฉเฉฐ เจธเฉเจฃเฉเจเจพ เจ เจคเฉ เจฐเจฟเจเจพเจฐเจก เจเจฐเฉเจเจพเฅค
เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฌเจฒเจพเจ เจตเจฟเฉฑเจ, เจเจน เจชเฉเฉฑเจเจฆเจพ เจนเฉ เจเจฟ เจฎเจพเจเจจเจเจฐเจพเจซเจ เจจเฉเฉฐ เจเจฟเจธ เจซเฉเจฒเจกเจฐ เจคเฉเจ เจฒเจพเจเจ เจเจฐเจจเจพ เจนเฉ เจ เจคเฉ เจฒเฉเจ เจเจฟเฉฑเจฅเฉ เจฐเฉฑเจเจฃเจพ เจนเฉเฅค
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 'เจคเฉ เจเฉฑเจฒเฉเจ
เจเจฆเฉเจ เจธเจพเจกเฉ เจธเจเฉเจฐเจฟเจชเจ เจจเฉเฉฐ เจฌเฉเจฒเจพเจเจ เจเจพเจเจฆเจพ เจนเฉ เจคเจพเจ เจชเฉเจฐเจพเจฎเฉเจเจฐเจพเจ เจจเฉเฉฐ เจธเจตเฉเจเจพเจฐ เจเจฐเจจ เจฒเจ, เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฌเจฒเจพเจ เจตเฉ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจจเฉเจ เจเจฐเฉ, เจเจน เจเจฐเฉเจเจฒ เจเจพเจตเจพ เจจเฉเฉฐ เจเจฒเจพเจเจเจฆเจพ เจนเฉ, เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจกเจฟเจธเจเจฐเฉเจฌเจฟเจเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจฐเจนเฉ เจนเฉ เจคเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒ เจซเจพเจเจฒ เจฆเจพ เจฎเจพเจฐเจ เจฌเจฆเจฒเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉเฅค
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 ============="
}
function Get-MinecraftExitCode {
do {
if ($global:Process.ExitCode -ne 0) {
Restart-Minecraft
Write-Log
}
else {
Write-Log
}
} until ($global:Process.ExitCode -eq 0)
}
Get-MinecraftExitCode
เจฐเจเจฟเจธเจเจฐ-เจฎเจพเจเจจเจเจฐเจพเจซเจ
เจธเจเฉเจฐเจฟเจชเจ เจ เจฎเจฒเฉ เจคเฉเจฐ 'เจคเฉ เจธเจเจพเจฐเจ-เจฎเจพเจเจจเจเจฐเจพเจซเจ เจตเจฐเจเฉ เจนเฉ, เจธเจฟเจตเจพเจ เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ เจเจน เจธเจฟเจฐเจซ เจเฉฑเจ เจจเจตเจพเจ เจเฉฐเจฎ เจฐเจเจฟเจธเจเจฐ เจเจฐเจฆเฉ เจนเฉเฅค เจเจนเฉ เจฆเจฒเฉเจฒเจพเจ เจธเจตเฉเจเจพเจฐ เจเจฐเจฆเจพ เจนเฉเฅค เจเจชเจญเฉเจเจคเจพ เจจเจพเจฎ, เจเฉเจเจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจจเจนเฉเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจคเจพเจ เจตเจฐเจคเจฎเจพเจจ เจจเฉเฉฐ เจฒเฉเจเจฆเจพ เจนเฉเฅค
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
เจฐเจเจฟเจธเจเจฐ-เจเจเฉเจฒเฉเจเจจ
เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฌเจฒเจพเจ เจตเจฟเฉฑเจ, เจธเจเฉเจฐเจฟเจชเจ เจฏเฉเจเจผเจฐเจจเฉเจฎ เจ เจคเฉ เจชเจพเจธเจตเจฐเจก เจชเฉเจฐเจพเจฎเฉเจเจฐเจพเจ เจจเฉเฉฐ เจธเจตเฉเจเจพเจฐ เจเจฐเจฆเฉ เจนเฉเฅค เจเฉเจเจฐ เจฏเฉเจเจผเจฐเจจเจพเจฎ เจจเจนเฉเจ เจฆเจฟเฉฑเจคเจพ เจเจฟเจ เจธเฉ, เจคเจพเจ เจฎเฉเจเฉเจฆเจพ เจฏเฉเจเจผเจฐ เจฆเจพ เจจเจพเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค
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"
เจเจฟเจตเฉเจ เจตเจฐเจคเจฃเจพ เจนเฉ
เจนเฉเจฃ เจฆเฉเจเจฆเฉ เจนเจพเจ เจเจฟ เจฒเฉเจเจ เจเฉเจฆ เจเจธ เจธเจญ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฟเจตเฉเจ เจเจฐเจฆเจพ เจนเฉเฅค เจตเจฟเฉฐเจกเฉเจเจผ 'เจคเฉ เจเจจเจคเจ เจฎเจพเจเจจเจเจฐเจพเจซเจ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจธเจนเฉ เจคเจฐเฉเจนเจพเจ เจเจฟเจตเฉเจ เจคเฉเจจเจพเจค เจเจฐเจจเจพ เจนเฉเฅค เจเจฒเฉ เจธเจผเฉเจฐเฉ เจคเฉเจ เจนเฉ เจธเจผเฉเจฐเฉ เจเจฐเฉเจเฅค
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"
เจชเฉเจฐเจพ เจเจฐเจจเจพ
เจฒเฉเจเจ เจจเฉ เจเจชเจฃเฉ เจฒเจ เจธเจเฉเจฐเจฟเจชเจ เจคเจฟเจเจฐ เจเฉเจคเฉ เจนเฉ, เจเจธ เจฒเจ, เจเจน เจธเจเฉเจฐเจฟเจชเจ เจจเฉเฉฐ เจธเฉเจงเจพเจฐเจจ เจฒเจ เจคเฉเจนเจพเจกเฉ เจธเฉเจเจพเจ เจธเฉเจฃ เจเฉ เจเฉเจธเจผ เจนเฉเจตเฉเจเจพเฅค เจฒเฉเจเจ เจเจฎเฉเจฆ เจเจฐเจฆเจพ เจนเฉ เจเจฟ เจเจน เจธเจพเจฐเจพ เจเฉเจก เจคเฉเจนเจพเจกเฉ เจฒเจ เจเฉฑเจเฉ เจเฉฑเจ เจฒเจพเจญเจฆเจพเจเจ เจธเฉ, เจ เจคเฉ เจเจน เจฒเฉเจ เจฆเจฟเจฒเจเจธเจช เจธเฉ.
เจธเจฐเฉเจค: www.habr.com