ข้ามไปยังเนื้อหาหลัก

วิธีใช้ CLI

หากเอกสารมีข้อผิดพลาดหรือมีข้อเสนอแนะ โปรดฝากข้อความในฟอรัม Mudfish (https://forums.mudfish.net)

ไม่แน่ใจว่าจะมีผู้ใช้ Mudfish กี่คนที่ใช้เมนูนี้ แต่ถ้าคุณใช้ ก็น่าจะเป็นผู้ใช้คอมพิวเตอร์ระดับสูง :-) ยินดีที่ได้รู้จัก

หัวข้อต่อไปนี้อาจมีศัพท์เทคนิคมากขึ้น โปรดอ่านอย่างละเอียด

แนะนำ CLI​

ก่อนมี Mudfish Launcher นั้น CLI (Command Line Interface) เป็นวิธีดีบักเพียงอย่างเดียว แต่ปัจจุบันส่วนใหญ่ตั้งค่า Mudfish ผ่าน UI จึงแทบไม่ใช้ CLI

อย่างไรก็ตาม หากต้องการวิเคราะห์ปัญหา ปรับแต่งการตั้งค่าลึก ๆ หรือดูสถานะภายในที่ UI ไม่แสดง ปัจจุบันมีเพียง CLI เท่านั้น

เข้าถึง CLI​

หากต้องการเข้าถึง CLI ต้องทราบ IP และพอร์ตที่รับการเชื่อมต่อก่อน โดยตรวจสอบได้ดังนี้

  • เข้าสู่ระบบ Mudfish ก่อน

  • เปิด "สถานะ → โปรเซส" แล้วหาส่วนข้อมูลบันทึก ซึ่งเป็นข้อความที่ mudfish.exe แสดงตั้งแต่เริ่มโปรแกรมจนถึงปัจจุบัน

  • ที่ส่วนต้นของบันทึก บรรทัด "[INFO] Listening the mangement console..." ระบุ IP และพอร์ตของ CLI โดย IP จะเป็น 127.0.0.1 ในเครื่องเสมอ ส่วนพอร์ตให้ระบบปฏิบัติการกำหนดอัตโนมัติ

เปิด Command Prompt แล้วใช้ telnet เชื่อมต่อ IP และพอร์ตนั้น เช่น หากระบุ 127.0.0.1:35323 ให้เชื่อมต่อดังนี้

   C:\> telnet 127.0.0.1 35323

-----------------------------
MUDFISH CLI v2.0.8
-----------------------------

Type 'help' for command list.
Type 'quit' to close CLI session.

คำสั่ง CLI​

คำสั่ง CLI ปัจจุบันอาจทำให้ Mudfish หยุดจาก assertion failure ได้แม้ผิดพลาดเพียงเล็กน้อย เพราะผู้พัฒนาออกแบบฟังก์ชันนี้ให้เป็นมิตรกับนักพัฒนาอย่างมากจริง ๆ...

Mudfish Core สร้างบน TCP/IP stack และเฟรมเวิร์กเครือข่ายของ FreeBSD (เพราะผมคุ้นเคยกับ FreeBSD มากที่สุด... แฮ่ม...) คำสั่งใน CLI จึงมีฟังก์ชันและวิธีใช้เกือบเหมือนคำสั่งของ FreeBSD

เมื่อเข้าสู่ CLI แล้ว ลองเรียกคำสั่ง help เพื่อดูรายการคำสั่งที่รองรับ

   help
arp Address resolution display and control
connect Test a connection to the remote
help Show this help message
ifconfig Configure network interface parameters
netstat Show network status
ping send ICMP ECHO_REQUEST packets to network hosts
route Manually manipulate the routing tables
quit Exit CLI interface
sysctl Get or set kernel state

หากต้องการคำอธิบายคำสั่งอย่างครบถ้วน ให้ค้นหาจาก ลิงก์ นี้ คำสั่งทั้งหมดควรทำงานเหมือน FreeBSD 8.0 RELEASE ยกเว้น connect

คำสั่ง connect​

   connect
usage: connect ip port

connect 68.180.206.184 80
connection was good (RTT 0.156 secs)

คำสั่งนี้ลองเชื่อมต่อ TCP connect(2) ผ่านอินเทอร์เฟซเสมือนของ Mudfish เช่น re(4) หรือ msk(4) ใช้ดีบักเพื่อตรวจสอบว่าเชื่อมต่อ IP และพอร์ตที่ต้องการผ่าน Mudfish ได้หรือไม่

หากเชื่อมต่อไม่สำเร็จจะแสดงข้อผิดพลาดหรือข้อความหมดเวลา หากสำเร็จจะแสดงค่า RTT โดยประมาณด้วย