စံပဌ Minecraft server startup script

စံပဌ Minecraft server startup script

စာရေသသူသည် ဂိမ်သကို အလလန်နဟစ်သက်ပဌီသ သူကိုယ်တိုင်က "သူငယ်ချင်သမျာသအတလက်သက်သက်" ဆာဗာငယ်၏ စီမံခန့်ခလဲသူဖဌစ်သည်။ အပျော်တမ်သသမာသမျာသကဌာသတလင် ထုံသစံအတိုင်သ၊ ဆာဗာပေါ်ရဟိ အရာအာသလုံသကို ပဌုပဌင်မလမ်သမံထာသပဌီသ ၎င်သသည် မတည်မငဌိမ်ဖဌစ်စေပဌီသ ရလဒ်အနေဖဌင့် ပျက်စီသသလာသပါသည်။ Powershell ၏စာရေသဆရာသည် သူ့လမ်သပေါ်ရဟိ စတိုသဆိုင်မျာသ၏တည်နေရာထက် ပိုသိသောကဌောင့်၊ သူလုပ်ရန်ဆုံသဖဌတ်ခဲ့သည်၊Minecraft 2020 ကို စတင်ရန် အကောင်သဆုံသ Script“ တူညီသော ဇာတ်ညလဟန်သသည် ပုံစံပလိတ်အတလက် အခဌေခံအဖဌစ် ဆောင်ရလက်ခဲ့သည်။ Ruvds ဈေသ. ဒါပေမယ့် အရင်သအမဌစ်အာသလုံသက ဆောင်သပါသထဲမဟာ ရဟိပဌီသသာသပါ။ ကဲ ဘယ်လိုလဲ ဆိုတော့ အာသလုံသပဌီသသလာသပဌီ။

ကျလန်ုပ်တို့လိုအပ်သောအမိန့်မျာသ

အစာသထိုသ သစ်ခုတ်ခဌင်သ။

တစ်နေ့တလင်၊ နောက်ထပ် mods နဟစ်ခုကို install လုပ်ပဌီသသောအခါ၊ သေချာသည်မဟာ ဆာဗာသည် စစ်မကဌေငဌာဘဲ ပျက်သလာသသည်ကို ကျလန်ုပ်တလေ့ရဟိခဲ့သည်။ ဆာဗာသည် latest.log သို့မဟုတ် အမဟာသရဟာပဌင်တလင် အမဟာသမျာသကို မရေသထာသဘဲ သီအိုရီအရ ကအမဟာသကို ရေသသာသပဌီသ ရပ်သင့်သည့် ကလန်ဆိုသလ်သည် ပိတ်သလာသခဲ့သည်။

မရေသချင်ဘူသဆိုရင်တော့ ရေသစရာမလိုပါဘူသ။ ကျလန်ုပ်တို့တလင် cmdlet ဖဌင့် Powershell ရဟိသည်။ Tee-Objectအရာဝတ္ထုတစ်ခုအာသ ယူဆောင်ကာ ၎င်သကို ဖိုင်တစ်ခုနဟင့် ကလန်ဆိုသလ်သို့ တစ်ပဌိုင်နက်တည်သထုတ်ပေသသည်။

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

ကနည်သဖဌင့် Powershell သည် StandardOutput ကို ကောက်ယူပဌီသ ဖိုင်တစ်ခုသို့ ရေသပေသလိမ့်မည်။ သုံသဖို့ မကဌိုသစာသပါနဲ့။ စတင်-လုပ်ငန်သစဉ်၎င်သသည် System.ComponentModel.Component နဟင့် StandardOutput မဟုတ်သောကဌောင့်၊ နဟင့် -RedirectStandardOutput သည် ကျလန်ုပ်တို့ရဟောင်ရဟာသလိုသည့်အရာဖဌစ်သည့် console သို့ဝင်ရောက်ရန်မဖဌစ်နိုင်စေမည်ဖဌစ်သည်။

ငဌင်သခုံမဟုမျာသ စတင်ပါ။

ထိုတူညီသော mods အတလဲမျာသကို ထည့်သလင်သပဌီသနောက်၊ စာရေသသူသည် ဆာဗာတလင်လည်သ RAM လုံလုံလောက်လောက် မရဟိသည်ကို သတိပဌုမိသည်။ ၎င်သသည် ပစ်လလဟတ်ခဌင်သဆိုင်ရာ အကဌောင်သပဌချက်မျာသကို ပဌောင်သလဲရန် လိုအပ်သည်။ လူတိုင်သအသုံသပဌုသည့် start.bat တလင် အချိန်တိုင်သ ၎င်သတို့ကို ပဌောင်သလဲမည့်အစာသ ကဇာတ်ညလဟန်သကို အသုံသပဌုပါ။

executable ကို "Just Like This" ဟုခေါ်သောအခါ Tee-Object သည် StandardOutput ကိုသာဖတ်သောကဌောင့် သင်သည် အခဌာသသော script တစ်ခုပဌုလုပ်ရမည်ဖဌစ်ပါသည်။ ကဇာတ်ညလဟန်သကို Minecraft ကိုယ်တိုင်က စတင်ထုတ်ဝေမည်ဖဌစ်သည်။ ငဌင်သခုံမဟုမျာသဖဌင့်စကဌပါစို့။

အနာဂတ်တလင် အဆုံသစလန်သော ပျင်သရိမဟုကို ခံစာသနိုင်ရန်၊ ဇာတ်ညလဟန်သသည် လလဟင့်တင်သည့် အကဌောင်သပဌချက်မျာသကို အလျင်အမဌန် စုဆောင်သရမည်ဖဌစ်သည်။ ဒီလိုလုပ်ဖို့၊ နောက်ဆုံသထလက်ဗာသရဟင်သကို ရဟာဖလေခဌင်သဖဌင့် စတင်ကဌပါစို့ ဖောက်လုပ်.

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

sort-object ကိုအသုံသပဌု၍ သင်ထိုနေရာတလင် သင်မည်မျဟထည့်ထာသပါစေ၊ အကဌီသဆုံသနံပါတ်ဖဌင့် အရာဝတ္ထုကို အမဌဲတမ်သယူပါမည်။ အဆုံသစလန်သောပျင်သရိခဌင်သ။

ယခု သင်သည် ဆာဗာသို့ မန်မိုရီကို သတ်မဟတ်ရန် လိုအပ်သည်။ ဒါကိုလုပ်ဖို့၊ စနစ်မဟတ်ဉာဏ်ပမာဏကိုယူပဌီသ သူ့ရဲ့ပမာဏကို စာကဌောင်သနဲ့ရေသပါ။

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

အလိုအလျောက် ပဌန်လည်စတင်ခဌင်သကို ပဌုပဌင်ပါ။

စာရေသသူသည် အခဌာသသူမျာသထံမဟ .bat ဖိုင်မျာသကို မဌင်ဖူသသော်လည်သ ဆာဗာကို ရပ်တန့်ရသည့် အကဌောင်သရင်သကို ထည့်သလင်သစဉ်သစာသခဌင်သမရဟိခဲ့ပါ။ ၎င်သသည် အဆင်မပဌေပါက၊ သင်သည် mod ဖိုင်ကို ပဌောင်သလဲရန် သို့မဟုတ် တစ်ခုခုကို ဖျက်ပစ်ပါက မည်သို့လုပ်ဆောင်မည်နည်သ။
အခု မဟန်ကန်တဲ့ restart လုပ်ကဌည့်ရအောင်။ စာရေသသူသည် ဆာဗာကို အဘယ်ကဌောင့် ပိတ်လိုက်ရသည်ဖဌစ်စေ ဆာဗာကို ပဌန်လည်စတင်သည့် ထူသဆန်သသော ဇာတ်ညလဟန်သမျာသကို ယခင်က တလေ့ခဲ့ရသည်။ ကျလန်ုပ်တို့သည် 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 ရလဒ်ကို variable တစ်ခုအဖဌစ် ရေသပါ။ ဇာတ်ညလဟန်သတလင် ကကဲ့သို့မဌင်ရသည်-

$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 သုံသပဌီသ ဖိုင်တစ်ခုသို့ ပေါင်သထည့်နိုင်သည်။ အဲဒါကို နည်သနည်သ ဖဌီသပဌီသရင် ဒီ script ကို ရတယ်၊ အဲဒါကို 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 ကိုဖလင့်တဲ့ script တစ်ခုကို ဖန်တီသလိုက်ရအောင်။

မဟန်ကန်သော စတင်မဟု

စာရေသသူသည် Minecraft ၏ မတူညီသောဗာသရဟင်သမျာသကို module တစ်ခုရဟိ မည်သည့်လမ်သကဌောင်သမဟ လုပ်ဆောင်လိုပဌီသ သီသခဌာသဖိုင်တလဲတစ်ခုတလင် မဟတ်တမ်သမျာသကို သိမ်သဆည်သနိုင်သည်။

ပဌဿနာမဟာ စနစ်သို့ လော့ဂ်အင်ဝင်ထာသသည့် အသုံသပဌုသူတစ်ညသမဟ လုပ်ငန်သစဉ်ကို စတင်ရမည်ဖဌစ်သည်။ ၎င်သကို desktop သို့မဟုတ် 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 မဟ command ကိုကျလန်ုပ်တို့ run ပါမည်၊ ထို့ကဌောင့်၎င်သသည်ကကဲ့သို့ဖဌစ်လိမ့်မည်။

$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

module ကို တပ်ဆင်ခဌင်သ။

အခုနောက်ပိုင်သမဟာ သုံသလို့ရတဲ့ module တလေအာသလုံသကို ထည့်လိုက်ရအောင်။ အဆင်သင့်လုပ်ထာသသော Script မျာသအတလက် ကုဒ်အာသလုံသသည် ကနေရာတလင်၊ တင်သလင်သပဌီသ အသုံသပဌုနိုင်သည်။

မော်ဂျူသမျာသကို မနဟောင့်ယဟက်လိုပါက အထက်တလင်ဖော်ပဌထာသသော အရာအာသလုံသကို သီသခဌာသစီအသုံသပဌုနိုင်ပါသည်။

Minecraft စတင်ပါ။

ညသစလာ၊ နာသထောင်ပဌီသ standardoutput ကို မဟတ်တမ်သတင်မည့် script တစ်ခုကို run ရုံမဟလလဲ၍ ဘာမဟ မလုပ်နိုင်သော module တစ်ခုကို ဖန်တီသကဌပါစို့။

ကန့်သတ်ဘောင်မျာသတလင်၊ သူသည် Minecraft ကိုဖလင့်ရန်မည်သည့်ဖိုင်တလဲမဟနဟင့်မဟတ်တမ်သကိုမည်သည့်နေရာတလင်ထာသရမည်ကိုမေသသည်။

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

Minecraft ကို ကကဲ့သို့ ဖလင့်ရန် လိုအပ်ပါသည်။

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

ယခုအခါ အသင့်သုံသနိုင်သော Handler.ps1 သို့ ဆက်သလာသကဌပါစို့

ကျလန်ုပ်တို့၏ script မျာသကို ခေါ်သည့်အခါ ဘောင်မျာသကို လက်ခံနိုင်ရန်၊ ကျလန်ုပ်တို့သည်လည်သ ကန့်သတ်ဘောင်တစ်ခုကို သတ်မဟတ်ရန် လိုအပ်ပါသည်။ ကျေသဇူသပဌု၍ သတိပဌုပါ၊ ၎င်သသည် Oracle Java ကို run သည်၊ အကယ်၍ သင်သည် မတူညီသော ဖဌန့်ဖဌူသမဟုကို အသုံသပဌုနေပါက executable file သို့ လမ်သကဌောင်သပဌောင်သရန် လိုအပ်မည်ဖဌစ်သည်။

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

Minecraft ကို စာရင်သသလင်သပါ။

Script သည် လုပ်ငန်သအသစ်တစ်ခုသာ စာရင်သသလင်သခဌင်သမဟလလဲ၍ 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

ကန့်သတ်ဘောင်မျာသတလင်၊ script သည် အသုံသပဌုသူအမည်နဟင့် စကာသဝဟက်ဘောင်မျာသကို လက်ခံပါသည်။ အသုံသပဌုသူအမည်ကို မသတ်မဟတ်ထာသပါက၊ လက်ရဟိအသုံသပဌုသူ၏အမည်ကို အသုံသပဌုထာသသည်။

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"

ဘယ်လိုသုံသစလဲဖို့

အခု စာရေသသူကိုယ်တိုင်က ဒီအရာအာသလုံသကို ဘယ်လိုအသုံသပဌုလဲဆိုတာကို လေ့လာကဌည့်ရအောင်။ Windows တလင် အမျာသသူငဟာ Minecraft ဆာဗာကို ကောင်သစလာအသုံသချနည်သ။ အစကနေ စလိုက်ရအောင်။

1. အသုံသပဌုသူဖန်တီသပါ။

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

2. script ကို run ရန်လုပ်ဆောင်စရာကိုမဟတ်ပုံတင်ပါ။

ကကဲ့သို့သော module ကို အသုံသပဌု၍ စာရင်သသလင်သနိုင်သည်-

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"

ပဌည့်စုံခဌင်သ

စာရေသဆရာသည် ကိုယ်တိုင်အပါအဝင် ဇာတ်ညလဟန်သကို ဖန်တီသထာသသောကဌောင့် ဇာတ်ညလဟန်သကို ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ရန် သင်၏အကဌံပဌုချက်မျာသကို နာသထောင်ရသည့်အတလက် ကျေနပ်ပါသည်။ ကကုဒ်အာသလုံသသည် သင့်အတလက် အနည်သဆုံသ အနည်သဆုံသအသုံသဝင်ပဌီသ ဆောင်သပါသသည် စိတ်ဝင်စာသဖလယ်ကောင်သကဌောင်သ စာရေသသူက မျဟော်လင့်ပါသည်။

စံပဌ Minecraft server startup script

source: www.habr.com

မဟတ်ချက် Add