วิธีการตั้งค่ากลุ่มและสิทธิ์ใน TShock ?
กลุ่มและสิทธิ์ของ TShock
สิทธิ์ของ TShock ใช้ระบบ groups ไม่ใช่ไฟล์ vanilla ops.json เปิด Console ใน panel ของ VeryGames แล้วพิมพ์คำสั่งด้านล่าง ซอฟต์แวร์นี้คือ TShock ไม่ใช่ tModLoader อย่าอัปโหลดไฟล์ .tmod มาที่นี่ เพราะจะไม่ถูกโหลด
กลุ่มเริ่มต้น
ผู้เล่นทุกคนจะอยู่ในกลุ่มหนึ่งเสมอ กลุ่มนั้นจะกำหนดว่าพวกเขาใช้คำสั่งใดได้บ้าง โดย TShock มีรายการเหล่านี้มาให้แล้ว:
- guest — ยังไม่ได้ล็อกอิน นี่คือผู้เล่นทุกคนที่เพิ่งเข้ามาในโลก
- default — ล็อกอินด้วยผู้ใช้ TShock แล้ว เป็นกลุ่มของผู้เล่นทั่วไปหลังใช้ /login
- owner / admin — มีอยู่บนเซิร์ฟเวอร์แล้ว ให้คงไว้ อย่าลบกลุ่มที่เป็นเจ้าของเซิร์ฟเวอร์
ดูรายการกลุ่มก่อน แล้วค่อยตรวจสอบแต่ละกลุ่ม:
/group list /group info owner /group info default/group info จะแสดงกลุ่มแม่และสิทธิ์ทั้งหมดของกลุ่มนั้น ใช้คำสั่งนี้ก่อนคัดลอกสิทธิ์ไปยัง rank ใหม่
สร้างกลุ่ม
สร้างกลุ่มว่างก่อน แล้วค่อยเพิ่มชื่อสิทธิ์จริงทีละรายการ ตัวอย่างเช่น rank vip ที่สามารถวาร์ปและเตะผู้เล่นได้
/group add vip /group addperm vip tshock.tp /group addperm vip tshock.admin.kickหากต้องการลบสิทธิ์ ก็ใช้วิธีเดียวกัน:
/group delperm vip tshock.admin.kickชื่อสิทธิ์ที่มีประโยชน์ (สตริงนี้คือสิ่งที่ TShock ใช้ตรวจสอบ ไม่ใช่คำสั่งในแชต):
- tshock.tp — เทเลพอร์ตตัวเอง
- tshock.tp.others — เทเลพอร์ตผู้เล่นคนอื่น
- tshock.warp — ใช้ warp
- tshock.admin.kick — เตะผู้เล่น
- tshock.admin.ban — แบนผู้เล่น
- tshock.admin.mute — ปิดเสียงผู้เล่น
- tshock.item — spawn ไอเทม
อย่าเพิ่ม * ให้ rank สาธารณะ เพราะ wildcard นี้หมายถึงทุกสิทธิ์ รวมถึงการจัดการผู้ใช้ด้วย ควรปล่อยไว้เฉพาะ owner หรือ SuperAdmin เท่านั้น ตัวเลือกเสริม: /group add vip default จะสร้าง vip โดยมี default เป็นกลุ่มแม่ ทำให้ vip เริ่มต้นจากชุดสิทธิ์ของผู้ใช้ที่ล็อกอินแล้วแทนที่จะเป็นกลุ่มว่าง
กำหนดกลุ่มให้ผู้เล่น
กลุ่มจะยังไม่ทำงานจนกว่าจะมี user ของ TShock อยู่ในกลุ่มนั้น ให้สร้างผู้ใช้ก่อน (ดู วิธีเพิ่มแอดมินบนเซิร์ฟเวอร์ Terraria TShock) แล้วจึงย้ายเข้ากลุ่ม:
/user group PlayerName vipแทนที่ PlayerName ด้วยชื่อผู้ใช้ TShock ไม่ใช่ชื่อตัวละคร Terraria หากทั้งสองชื่อไม่ตรงกัน ผู้เล่นจะต้อง /login ใหม่อีกครั้ง หากพวกเขาอยู่ในโลกอยู่แล้ว
เก็บ SuperAdmin / owner ไว้สำหรับคนที่สร้างเซิร์ฟเวอร์ อย่าย้ายบัญชีนั้นไปเป็น vip เพราะคุณจะสูญเสียคำสั่งที่ใช้จัดการกลุ่มและผู้ใช้
REST API
REST API มีไว้สำหรับเครื่องมือและสคริปต์ (เช่น status bot, web panel, automation) ไม่ใช่ที่อยู่ที่คุณพิมพ์ใน Terraria เพื่อเข้าโลก เกมจะใช้ IP และ game port จาก panel ส่วน REST จะใช้ host และ port คนละชุด ซึ่งแสดงอยู่ใน panel เช่นกัน
- คัดลอก host และ port ของ REST จาก panel อย่าสมมุติขึ้นเอง
- คงค่า RestApiPort ใน config ของ TShock ไว้ตามที่ panel ตั้งให้ การเปลี่ยนค่านี้จะทำให้การแมปของ panel ใช้งานไม่ได้ public port กับ port ใน config จะไม่ตรงกันอีกต่อไป
- API token คือ user ของ TShock ที่มีสิทธิ์ของกลุ่มเพียงพอ ให้สร้างผู้ใช้นั้น ใส่เข้ากลุ่มที่สามารถใช้คำสั่งตามที่สคริปต์ต้องการ จากนั้นจึงขอ token ด้วยชื่อผู้ใช้และรหัสผ่านนั้น กลุ่ม guest หรือกลุ่ม vip ว่าง ๆ จะไม่เพียงพอสำหรับคำสั่งระดับแอดมิน
หากสคริปต์เชื่อมต่อไม่ได้ ให้ตรวจสอบ REST port ใน panel ก่อน จากนั้นยืนยันว่าผู้ใช้ TShock สามารถล็อกอินบนเซิร์ฟเวอร์ได้ อย่าเปิด REST port ที่สองด้วยตนเอง
ไม่รู้จักคำสั่ง
หาก Console ตอบกลับว่าไม่รู้จัก /group หรือ /user แสดงว่าโปรเซสยังไม่ได้รัน TShock หรือปลั๊กอินของมันโหลดไม่สำเร็จ
- ยืนยันว่าเซิร์ฟเวอร์นี้ใช้ซอฟต์แวร์ TShock สำหรับ Terraria ไม่ใช่ vanilla และไม่ใช่ tModLoader
- รีบูตจาก panel แล้วรอจนกว่าเซิร์ฟเวอร์จะออนไลน์
- เปิด Console อีกครั้ง แล้วลองใช้ /group list ใหม่
Vanilla Terraria ไม่มีกลุ่ม tModLoader mods จะไม่โหลดบนซอฟต์แวร์นี้ หากคุณต้องการใช้ mods นั่นเป็นคนละผลิตภัณฑ์