คู่มือนี้ครอบคลุมปัญหาทั่วไปที่คุณอาจพบเมื่อรันเซิร์ฟเวอร์เฉพาะ Garry's Mod กับ Legion Hosting พร้อมสาเหตุและวิธีแก้ไข
สารบัญ
- พื้นผิวหาย / ตารางหมากรุกสีชมพูและดำ
- แอดออน Workshop ไม่ดาวน์โหลด
- เซิร์ฟเวอร์ไม่ปรากฏในเบราว์เซอร์เซิร์ฟเวอร์
- อาชีพ DarkRP ไม่ปรากฏ
- คำสั่ง ULX ไม่ทำงาน
- Ping สูง / กระตุก
- เซิร์ฟเวอร์แครชเมื่อเริ่มต้น
- ไคลเอนต์ค้างอยู่ที่ "Downloading" หรือเข้าร่วมช้า
1. พื้นผิวหาย / ตารางหมากรุกสีชมพูและดำ
การแก้ไขฝั่งเซิร์ฟเวอร์
- Mount Counter-Strike: Source: ใน GPanel ตรวจสอบว่าแพ็กเกจของคุณรวมการ mount เนื้อหาเกมเพิ่มเติมหรือไม่ หากมี ให้เปิดใช้งานการ mount CS:S ในการตั้งค่าเซิร์ฟเวอร์ของคุณ
- CSS Content Addon: เพิ่มแพ็กเนื้อหา CS:S ของชุมชนจาก Garry's Mod Workshop ลงในคอลเลกชัน Workshop ของเซิร์ฟเวอร์คุณ ค้นหา "Counter-Strike: Source Content" และเพิ่มเข้าไป
- อัปโหลดด้วยตนเอง: หากไม่มีตัวเลือกใดข้างต้น คุณสามารถอัปโหลดไฟล์เนื้อหา CS:S ด้วยตนเองผ่าน SFTP ไปยัง
garrysmod/addons/css-content/ดูที่ คู่มือการอัปโหลด SFTP สำหรับคำแนะนำ
การแก้ไขฝั่งไคลเอนต์
ผู้เล่นที่เป็นเจ้าของ Counter-Strike: Source สามารถ mount ใน GMod ภายใต้ Options → Game Content สิ่งนี้แก้ไขพื้นผิวที่หายไปฝั่งของพวกเขาโดยไม่ต้องเปลี่ยนแปลงเซิร์ฟเวอร์ใด ๆ
2. แอดออน Workshop ไม่ดาวน์โหลด
หากเซิร์ฟเวอร์ของคุณไม่โหลดแอดออน Workshop เมื่อเริ่มต้น ให้ตรวจสอบสิ่งต่อไปนี้:
| การตรวจสอบ | การแก้ไข |
|---|---|
| Steam API key หายไปหรือไม่ถูกต้อง | ใน GPanel ภายใต้ Startup ให้ตั้งค่าตัวแปร STEAM_API_KEY เป็นคีย์ที่ถูกต้องจาก steamcommunity.com/dev/apikey |
| คอลเลกชันไม่เป็นสาธารณะ | คอลเลกชัน Workshop ของคุณต้องตั้งค่าเป็น Public คอลเลกชันที่ไม่อยู่ในรายการหรือเป็นส่วนตัวจะไม่ดาวน์โหลดบนเซิร์ฟเวอร์เฉพาะ |
| Collection ID อยู่ในตำแหน่งที่ผิด | พารามิเตอร์ +host_workshop_collection ต้องอยู่ในบรรทัดคำสั่ง Startup ของ GPanel ไม่ใช่ใน server.cfg |
| ข้อผิดพลาด 403 / การยืนยันตัวตนในคอนโซล | Steam API key ของคุณไม่ถูกต้องหรือถูกเพิกถอน สร้างคีย์ใหม่และอัปเดตใน GPanel |
3. เซิร์ฟเวอร์ไม่ปรากฏในเบราว์เซอร์เซิร์ฟเวอร์
หากเซิร์ฟเวอร์ของคุณกำลังทำงานแต่ไม่ปรากฏในเบราว์เซอร์เซิร์ฟเวอร์ Steam:
- ตรวจสอบ
sv_lan: ตรวจสอบให้แน่ใจว่าตั้งค่าsv_lan 0ในserver.cfgค่า1ทำให้เซิร์ฟเวอร์เป็น LAN เท่านั้น - ตรวจสอบ GSLT ของคุณ: ตรวจสอบให้แน่ใจว่าตั้งค่า Game Server Login Token ที่ถูกต้องผ่าน
sv_setsteamaccountโทเค็นที่หมดอายุหรือถูกเพิกถอนจะป้องกันการแสดงรายการสาธารณะ สร้างใหม่ที่ steamcommunity.com/dev/managegameservers - รอสักครู่: อาจใช้เวลาหลายนาทีกว่าเซิร์ฟเวอร์ใหม่จะปรากฏในรายการ Steam master server หลังจากเริ่มต้นครั้งแรก
- ทดสอบด้วย direct connect: ลองเชื่อมต่อผ่าน IP โดยตรงก่อน (ดู คำแนะนำการเชื่อมต่อ) เพื่อยืนยันว่าเซิร์ฟเวอร์กำลังทำงานจริง
4. อาชีพ DarkRP ไม่ปรากฏ
หากอาชีพที่กำหนดเองไม่ปรากฏในเมนู F4 หลังจากตั้งค่า DarkRP:
- ตรวจสอบตำแหน่งโฟลเดอร์: DarkRP เองต้องอยู่ใน
garrysmod/gamemodes/darkrp/ไม่ใช่ ในaddons/DarkRPModification ต้องอยู่ในgarrysmod/addons/darkrpmodification/นี่เป็นข้อผิดพลาดที่พบบ่อยที่สุด - ตรวจสอบข้อผิดพลาด Lua: เปิดคอนโซลเซิร์ฟเวอร์ใน GPanel และมองหาข้อผิดพลาด Lua ระหว่างการเริ่มต้น ข้อผิดพลาดทางไวยากรณ์ใน
jobs.luaจะป้องกันไม่ให้อาชีพที่กำหนดเองทั้งหมดโหลด - ตรวจสอบเกมโหมด: ยืนยันว่าตั้งค่า
sv_gamemode "darkrp"ในserver.cfgและเซิร์ฟเวอร์รีสตาร์ตเต็มรูปแบบ (ไม่ใช่แค่เปลี่ยนแผนที่) - ตรวจสอบการเข้ารหัสไฟล์: หากคุณแก้ไขไฟล์ Lua บน Windows ตรวจสอบให้แน่ใจว่าบันทึกเป็น UTF-8 โดยไม่มี BOM โปรแกรมแก้ไขข้อความบางตัวเพิ่ม BOM (byte order mark) ที่อาจทำให้การแยกวิเคราะห์ Lua เสียหาย
ขั้นตอนการดีบักด่วน
// Run these in the server console to check gamemode status:
lua_run print(engine.ActiveGamemode())
// Should output: darkrp
lua_run PrintTable(RPExtraTeams)
// Should list all custom jobs if DarkRP loaded correctly
5. คำสั่ง ULX ไม่ทำงาน
หากคำสั่ง ULX คืนข้อผิดพลาดหรือไม่ทำอะไรเลยหลังการติดตั้ง:
- ติดตั้งแอดออนทั้งสองตัวหรือไม่? ULX ต้องใช้ทั้ง ULib และ ULX ULX จะไม่ทำงานหากไม่มี ULib ตรวจสอบว่ามีทั้งสองตัวใน
garrysmod/addons/หรือในคอลเลกชัน Workshop ของคุณ - ตรวจสอบคอนโซลเพื่อหาข้อผิดพลาด: ดูที่ผลลัพธ์คอนโซลเซิร์ฟเวอร์ใน GPanel ระหว่างการเริ่มต้นเพื่อหาข้อผิดพลาดที่กล่าวถึง ULib หรือ ULX
- ตรวจสอบการกำหนดผู้ใช้ของคุณ: รัน
ulx adduserด้วยชื่อที่แสดงบน Steam ที่ตรงเป๊ะของคุณ หรือใช้ulx adduserid "STEAM_0:1:12345678" superadminด้วย Steam ID ของคุณเพื่อความน่าเชื่อถือ - ความขัดแย้งของแอดออน: แอดออนบางตัวอาจขัดแย้งกับ ULX หากคำสั่งหยุดทำงานหลังจากเพิ่มแอดออนใหม่ ให้ลองนำออกและรีสตาร์ตเพื่อแยกแยะปัญหา
6. Ping สูง / กระตุก
หากเซิร์ฟเวอร์ของคุณประสบปัญหา ping สูงหรือการกระตุก:
- แอดออนมากเกินไป: คอลเลกชัน Workshop ขนาดใหญ่เพิ่มการใช้หน่วยความจำและเวลาในการโหลด ทบทวนคอลเลกชันของคุณและนำแอดออนที่ไม่ได้ใช้งานอย่างจริงจังออก
- เอนทิตีล้นเกิน (DarkRP): เซิร์ฟเวอร์ DarkRP ที่มีเอนทิตีที่สร้างได้จำนวนมาก (เครื่องพิมพ์เงิน ห้องแล็บยา ฯลฯ) อาจใช้ CPU มาก ตั้งค่าขีดจำกัดเอนทิตีที่เหมาะสมใน
darkrpmodification/lua/darkrp_config/settings.lua - การกระตุกจากการบันทึกอัตโนมัติ: หากการกระตุกเกิดขึ้นในช่วงเวลาปกติ (ทุกไม่กี่นาที) อาจเป็นการบันทึกอัตโนมัติของเซิร์ฟเวอร์ นี่เป็นพฤติกรรมปกติแต่สามารถปรับช่วงเวลาได้
- จำนวนผู้เล่นเทียบกับแพ็กเกจ: ตรวจสอบให้แน่ใจว่าจำนวนผู้เล่นของคุณไม่เกินกว่าที่ทรัพยากรของแพ็กเกจรองรับได้ พิจารณาลด
maxplayersในserver.cfgหากคุณใกล้ถึงขีดจำกัดทรัพยากร - ความซับซ้อนของแผนที่: แผนที่ของชุมชนบางตัวได้รับการปรับให้เหมาะสมไม่ดี หากการกระตุกเริ่มหลังจากเปลี่ยนแผนที่ ให้ลองกลับไปใช้แผนที่ที่ง่ายกว่าเพื่อแยกแยะปัญหา
7. เซิร์ฟเวอร์แครชเมื่อเริ่มต้น
หากเซิร์ฟเวอร์ของคุณแครชหรือเริ่มทำงานไม่สำเร็จ:
- ตรวจสอบบันทึกคอนโซล: ใน GPanel ทบทวนผลลัพธ์คอนโซลก่อนการแครช ไม่กี่บรรทัดสุดท้ายมักบ่งชี้สาเหตุ
- แอดออนที่มีปัญหา: แอดออนที่เพิ่งเพิ่มเข้ามาอาจทำให้เกิดการแครช นำแอดออนตัวสุดท้ายที่คุณเพิ่มออกและลองรีสตาร์ต หากเซิร์ฟเวอร์เริ่มทำงาน แอดออนนั้นคือปัญหา
- ไฟล์เกมโหมดเสียหาย: หากใช้ DarkRP หรือเกมโหมดของบุคคลที่สามอื่น ลองติดตั้งใหม่จาก Workshop หรือ GitHub
- หน่วยความจำไม่พอ: แอดออนมากเกินไปอาจเกินการจัดสรรหน่วยความจำของแพ็กเกจของคุณ ตรวจสอบการใช้ทรัพยากรใน GPanel และพิจารณาตัดทอนรายการแอดออนของคุณ
8. ไคลเอนต์ค้างอยู่ที่ "Downloading" หรือเข้าร่วมช้า
หากผู้เล่นค้างอยู่ในการดาวน์โหลดเนื้อหาเป็นเวลานานเมื่อเข้าร่วม:
- ตั้งค่า FastDL: หากไม่มี FastDL ไคลเอนต์จะดาวน์โหลดไฟล์โดยตรงผ่านเซิร์ฟเวอร์เกมซึ่งช้ามาก ดูที่ ส่วน FastDL ของคู่มือการตั้งค่าเซิร์ฟเวอร์
- ใช้ Workshop สำหรับแอดออน: แอดออนที่ส่งผ่าน Workshop ดาวน์โหลดผ่าน CDN ของ Steam ซึ่งเร็วกว่าการดาวน์โหลดจากเซิร์ฟเวอร์โดยตรง เลือกใช้คอลเลกชัน Workshop แทนการอัปโหลดแอดออนด้วยตนเองเมื่อเป็นไปได้
- ลดจำนวนแอดออน: แต่ละแอดออนเพิ่มเวลาในการดาวน์โหลดของไคลเอนต์ นำแอดออนที่ไม่จำเป็นต่อการเล่นบนเซิร์ฟเวอร์ของคุณออก
- ตรวจสอบการใช้
resource.AddFile: หากคุณกำลังบังคับให้ไคลเอนต์ดาวน์โหลดไฟล์จำนวนมากผ่านresource.luaให้ทบทวนรายการและนำรายการสำหรับไฟล์ที่ไม่จำเป็นจริง ๆ ฝั่งไคลเอนต์ออก
บทความที่เกี่ยวข้อง
- คู่มือการตั้งค่าเซิร์ฟเวอร์ Garry's Mod — Server.cfg, Workshop, gamemodes, DarkRP, FastDL
- การตั้งค่าผู้ดูแลระบบ Garry's Mod (ULX) — ติดตั้ง ULX/ULib คำสั่งผู้ดูแล กลุ่มสิทธิ์
- วิธีอัปโหลดไฟล์ผ่าน SFTP
- วิธีค้นหา IP และพอร์ตของเซิร์ฟเวอร์