วิธีใช้ตัวสร้างสคริปต์เริ่มต้นเซิร์ฟเวอร์ Minecraft
ตัวสร้างสคริปต์เริ่มต้นเซิร์ฟเวอร์ Minecraft จะสร้างไฟล์สำคัญสองไฟล์สำหรับเริ่มเซิร์ฟเวอร์ของคุณ: start.bat สำหรับ Windows และ start.sh สำหรับ Linux วิธีใช้คือ ขั้นแรกดาวน์โหลดไฟล์ jar ของเซิร์ฟเวอร์ (เช่น paper.jar หรือ spigot.jar) และวางไว้ในโฟลเดอร์เฉพาะ จากนั้นในตัวสร้าง เลือกระบบปฏิบัติการของคุณ ป้อนชื่อไฟล์ jar ที่ถูกต้อง และตั้งค่า RAM ที่คุณต้องการจัดสรร เครื่องมือจะสร้างสคริปต์พร้อมใช้งานที่คุณสามารถบันทึกและดับเบิลคลิก (Windows) หรือรันด้วย ./start.sh (Linux)การจัดสรร RAM มีความสำคัญต่อประสิทธิภาพของเซิร์ฟเวอร์ สำหรับเซิร์ฟเวอร์ขนาดเล็กที่มีผู้เล่น 1-5 คน 2GB ก็เพียงพอ สำหรับ 10-20 คน ตั้งเป้าไว้ที่ 4GB และสำหรับชุมชนขนาดใหญ่ 8GB ขึ้นไป ตัวสร้างช่วยให้คุณตั้งค่า RAM ขั้นต่ำและสูงสุดได้ แนวทางทั่วไปคือตั้งค่าทั้งสองให้เท่ากันเพื่อหลีกเลี่ยงปัญหาประสิทธิภาพจากการปรับขนาดหน่วยความจำแบบไดนามิก ตัวอย่างเช่น -Xms4G -Xmx4G รับประกันว่า JVM เริ่มต้นด้วย 4GB และไม่ขยายเกินกว่านั้นแฟล็กสไตล์ Aikar เป็นตัวเลือกชุดอาร์กิวเมนต์ JVM ที่ปรับแต่งสำหรับประสิทธิภาพของเซิร์ฟเวอร์ Minecraft โดยเฉพาะอย่างยิ่งสำหรับ Paper และ Spigot แฟล็กเหล่านี้ปรับปรุงการเก็บขยะ ลดอาการแล็ก และเพิ่มประสิทธิภาพการใช้หน่วยความจำ หากคุณรันเซิร์ฟเวอร์แบบม็อดหรือเซิร์ฟเวอร์ vanilla ขนาดเล็กมาก คุณอาจไม่จำเป็นต้องใช้ แต่สำหรับเซิร์ฟเวอร์ Paper ส่วนใหญ่ แนะนำอย่างยิ่ง ตัวสร้างมีช่องทำเครื่องหมายเพื่อเพิ่มแฟล็กเหล่านี้โดยอัตโนมัติ คุณจึงไม่ต้องจำฟีเจอร์ลูปการรีสตาร์ทช่วยให้เซิร์ฟเวอร์ออนไลน์อยู่เสมอ สคริปต์ที่สร้างขึ้นจะครอบคำสั่ง Java ในลูปที่รีสตาร์ทเซิร์ฟเวอร์หลังจากหยุดทำงาน ซึ่งมีประโยชน์สำหรับการรีสตาร์ทอัตโนมัติหลังคราชหรือเมื่อคุณใช้ปลั๊กอินที่กำหนดการรีสตาร์ท บน Windows สคริปต์ใช้ป้ายกำกับ :loop และคำสั่ง goto บน Linux ใช้ลูป while true คุณสามารถแก้ไขสคริปต์ในภายหลังเพื่อเพิ่มดีเลย์ระหว่างการรีสตาร์ทได้หากจำเป็นความแตกต่างของเวอร์ชันมีความสำคัญ สำหรับ Minecraft 1.17 ขึ้นไป คุณต้องใช้ Java 16 หรือใหม่กว่า และสำหรับ 1.18+ ต้องใช้ Java 17 สคริปต์ที่สร้างขึ้นไม่มีการตรวจสอบเวอร์ชัน Java ดังนั้นตรวจสอบให้แน่ใจว่าระบบของคุณมี Java ที่ถูกต้องติดตั้งอยู่ นอกจากนี้ ชื่อไฟล์ jar ต้องตรงกันทุกประการ รวมถึงตัวพิมพ์ใหญ่เล็กและนามสกุล .jar หากคุณเปลี่ยนชื่อ jar ของเซิร์ฟเวอร์ ให้อัปเดตสคริปต์ตามนั้น ทดสอบสคริปต์ในเทอร์มินัลหรือพร้อมต์คำสั่งก่อนเสมอเพื่อดูข้อความแสดงข้อผิดพลาดหลังจากสร้างสคริปต์แล้ว ให้บันทึกในโฟลเดอร์เดียวกับ jar ของเซิร์ฟเวอร์ บน Windows คุณอาจต้องอนุญาตให้ไฟล์รันได้หาก SmartScreen บล็อกไว้ บน Linux รัน chmod +x start.sh เพื่อให้สามารถรันได้ จากนั้นเปิดใช้งาน หากพบข้อผิดพลาด 'Unable to access jarfile' ให้ตรวจสอบชื่อ jar และเส้นทางอีกครั้ง หากได้รับ 'Invalid maximum heap size' ให้ลดค่า RAM สคริปต์เป็นเทมเพลต คุณสามารถเพิ่มแฟล็ก Java พิเศษเช่น -Dfile.encoding=UTF-8 ได้ตามต้องการ
เลือกขีดจำกัดหน่วยความจำที่เหลือที่ว่างสำหรับโฮสต์
ฮีปสูงสุดไม่ใช่งบประมาณหน่วยความจำทั้งหมดของคอมพิวเตอร์เซิร์ฟเวอร์ Java ระบบปฏิบัติการ การสำรองข้อมูล แผงเว็บ และบริการอื่นๆ ก็ต้องการ RAM เช่นกัน เริ่มต้นด้วยค่า -Xmx ที่อนุรักษ์นิยม ดูหน่วยความจำและการเก็บขยะระหว่างการเล่นปกติ และเพิ่มขึ้นเมื่อเวิร์กโหลดพิสูจน์ว่าฮีปที่ใหญ่กว่านั้นมีประโยชน์เท่านั้น ฮีปที่ใหญ่มากไม่ได้แก้ไขปลั๊กอินที่ช้า ชั๊งค์ที่โอเวอร์โหลด หรือประสิทธิภาพ CPU ที่ไม่เพียงพอ
ทดสอบพฤติกรรมการเริ่มต้นและการรีสตาร์ทก่อนใช้งานจริง
รันสคริปต์จากเทอร์มินัลในครั้งแรกเพื่อให้ข้อผิดพลาดของ Java ยังคงมองเห็นได้ ตรวจสอบชื่อไฟล์ JAR เวอร์ชัน Java ไดเรกทอรีทำงาน พอร์ต eula.txt และ server.properties ก่อนเปิดใช้งานลูปการรีสตาร์ทอัตโนมัติ ลูปการรีสตาร์ทมีประโยชน์หลังจากการขัดข้อง แต่ก็อาจทำให้การกำหนดค่าล้มเหลวซ้ำได้อย่างรวดเร็ว เก็บสำเนาปัจจุบันและหยุดลูปก่อนแทนที่ JAR ของเซิร์ฟเวอร์หรือเปลี่ยนแฟล็กเริ่มต้น
คำถามที่พบบ่อย
start.bat และ start.sh ต่างกันอย่างไร?
start.bat สำหรับระบบ Windows และรันใน Command Prompt หรือ PowerShell ส่วน start.sh สำหรับระบบ Linux และ macOS และรันในเทอร์มินัล ทั้งสองทำสิ่งเดียวกัน: เริ่มเซิร์ฟเวอร์ Minecraft ด้วยอาร์กิวเมนต์ Java ที่ระบุ ไวยากรณ์ต่างกันเล็กน้อย แต่ตัวสร้างจัดการให้คุณแล้ว บน Linux คุณต้องทำให้ไฟล์ .sh รันได้ด้วย chmod +x start.sh ก่อนรัน
จะเลือกจำนวน RAM ที่เหมาะสมสำหรับเซิร์ฟเวอร์ได้อย่างไร?
เริ่มต้นด้วย 2GB สำหรับเซิร์ฟเวอร์ vanilla ขนาดเล็กกับเพื่อนไม่กี่คน สำหรับเซิร์ฟเวอร์ Paper ที่มีปลั๊กอิน 4GB เป็นพื้นฐานที่ดี หากมีผู้เล่นมากกว่า 20 คนหรือม็อดหนัก ให้ใช้ 6-8GB อย่าจัดสรร RAM มากกว่าที่ระบบมี และเหลืออย่างน้อย 1-2GB สำหรับระบบปฏิบัติการ ตัวสร้างช่วยให้คุณตั้งค่า RAM ขั้นต่ำและสูงสุด การตั้งค่าให้เท่ากันแนะนำเพื่อหลีกเลี่ยงประสิทธิภาพที่ลดลง
Aikar's flags คืออะไรและทำไมต้องใช้?
Aikar's flags คือชุดอาร์กิวเมนต์ JVM ที่สร้างโดย Aikar นักพัฒนา Paper ที่รู้จักกันดี เพื่อปรับปรุงประสิทธิภาพเซิร์ฟเวอร์ แฟล็กเหล่านี้ปรับปรุงการเก็บขยะ ลดการแตกตัวของหน่วยความจำ และลดแล็ก มีประโยชน์โดยเฉพาะสำหรับเซิร์ฟเวอร์ Paper และ Spigot สำหรับเซิร์ฟเวอร์ vanilla หรือขนาดเล็กมาก อาจไม่เห็นความแตกต่าง แต่ก็ไม่เสียหาย ตัวสร้างเพิ่มให้อัตโนมัติเมื่อคุณเลือกตัวเลือก
ลูปการรีสตาร์ททำงานอย่างไรและปิดได้ไหม?
ลูปการรีสตาร์ทครอบคำสั่ง Java ในลูปที่รีสตาร์ทเซิร์ฟเวอร์ทุกครั้งที่หยุด ไม่ว่าจะคราชหรือปิดปกติ มีประโยชน์สำหรับการรีสตาร์ทอัตโนมัติ หากต้องการปิด เพียงลบบรรทัดลูปออกจากสคริปต์ที่สร้างขึ้น ตัวอย่างเช่น ในไฟล์ .bat ลบบรรทัด ':loop' และ 'goto loop' ในไฟล์ .sh ลบบรรทัด 'while true' และ 'done'
ทำไมฉันได้รับ 'Unable to access jarfile' เมื่อรันสคริปต์?
ข้อผิดพลาดนี้หมายความว่าสคริปต์ไม่พบไฟล์ jar ของเซิร์ฟเวอร์ ตรวจสอบว่าชื่อไฟล์ jar ในสคริปต์ตรงกันทุกประการ รวมถึงตัวพิมพ์ใหญ่เล็กและนามสกุล .jar และตรวจสอบว่าสคริปต์อยู่ในไดเรกทอรีเดียวกับไฟล์ jar หากคุณย้าย jar ให้อัปเดตเส้นทางในสคริปต์ บน Linux ตรวจสอบสิทธิ์ไฟล์และว่าคุณรันสคริปต์จากไดเรกทอรีที่ถูกต้องโดยใช้ cd