TH
เพิ่มเซิร์ฟเวอร์

MineList API สำหรับเจ้าของเซิร์ฟเวอร์

MineList API ให้เซิร์ฟเวอร์ของคุณเช็กได้ว่าผู้เล่นโหวตแล้วหรือยัง มอบรางวัลได้ครั้งเดียวพอดี และอ่านสถิติสาธารณะได้ ทุก endpoint ตอบกลับเป็น JSON และใช้คำขอ HTTPS GET ธรรมดา จึงใช้ได้กับทุกภาษา

รับ API key

เพิ่มเซิร์ฟเวอร์ ยืนยันความเป็นเจ้าของ แล้วเปิดแผงเจ้าของ API key จะอยู่ในหน้าตั้งค่าเซิร์ฟเวอร์ เก็บไว้เป็นความลับ เพราะมันใช้ระบุเซิร์ฟเวอร์ของคุณ ถ้ารั่วไหล ให้สร้างอันใหม่ในแผงแล้วอัปเดตปลั๊กอินหรือสคริปต์

ที่อยู่หลักของทุก endpoint คือ https://minelist.eu

เช็กโหวต

GET /api/v1/vote?key=API_KEY&username=NICK

บอกว่าผู้เล่นโหวตวันนี้หรือยัง และรับรางวัลไปแล้วหรือไม่

{"voted":true,"claimed":false,"next_vote_utc":"2026-10-31T00:00:00Z"}

ทำเครื่องหมายรับรางวัล

GET /api/v1/vote/claim?key=API_KEY&username=NICK

ทำเครื่องหมายว่าโหวตของวันนี้รับรางวัลแล้ว เรียกก่อนมอบรางวัลทันที เพื่อไม่ให้ผู้เล่นรับซ้ำสองครั้ง คำตอบที่เป็นไปได้

การตอบกลับความหมาย
{"voted":true,"claimed":true}โหวตถูกต้องและตอนนี้ถูกทำเครื่องหมายรับแล้ว มอบรางวัลได้เลย
{"voted":true,"claimed":false,"already_claimed":true}โหวตนี้รับรางวัลไปก่อนหน้าแล้ว อย่ามอบอะไรอีก
{"voted":false,"claimed":false}ผู้เล่นยังไม่ได้โหวตวันนี้

รายการโหวตของเดือนนี้

GET /api/v1/votes?key=API_KEY

ส่งคืนโหวตทั้งหมดที่เซิร์ฟเวอร์ของคุณได้รับในเดือนปัจจุบัน เหมาะกับรางวัลผู้โหวตสูงสุดประจำเดือนและกระดานอันดับบนเว็บของคุณเอง

สถิติสาธารณะของเซิร์ฟเวอร์

GET /api/v1/server/<slug>

endpoint นี้ไม่ต้องใช้ key ส่วน slug คือส่วนท้ายของที่อยู่เซิร์ฟเวอร์บน MineList ตัวอย่างฟิลด์ในคำตอบ

ฟิลด์คำอธิบาย
nameชื่อเซิร์ฟเวอร์
urlเว็บไซต์ของเซิร์ฟเวอร์
ipที่อยู่สำหรับเชื่อมต่อ
onlineการเช็กครั้งล่าสุดสำเร็จหรือไม่
playersผู้เล่นออนไลน์ตอนเช็กครั้งล่าสุด
max_playersจำนวนช่องผู้เล่น
versionเวอร์ชันของเซิร์ฟเวอร์
votes_monthโหวตของเดือนนี้
votes_totalโหวตรวมตั้งแต่เพิ่มเซิร์ฟเวอร์
uptime_30อัตราออนไลน์ใน 30 วันล่าสุดเป็นเปอร์เซ็นต์
ratingคะแนนเฉลี่ย
last_checkเวลาของการเช็กครั้งล่าสุด

ตัวอย่างด้วย curl

นี่คือตรรกะทั้งหมดในรูปแบบ shell ภาษาใดก็ตามที่ส่งคำขอ HTTP ได้ เช่น Java, PHP, Python หรือ Node.js ก็ทำแบบเดียวกัน

curl -s "https://minelist.eu/api/v1/vote/claim?key=API_KEY&username=Steve"

แปลง JSON แล้วถ้า claimed เป็น true ให้รันคำสั่งมอบรางวัล เช่น give Steve diamond 3

รองรับ NuVotifier

ถ้าอยากได้รางวัลทันทีโดยไม่ต้องคอยเช็ก MineList ส่งโหวตไปยังเซิร์ฟเวอร์ของคุณผ่าน NuVotifier ได้ รองรับโปรโตคอลทั้งสองเวอร์ชัน เวอร์ชัน 1 ใช้คีย์สาธารณะ RSA เวอร์ชัน 2 ใช้โทเค็น

  1. ติดตั้ง NuVotifier บนเซิร์ฟเวอร์แล้วรีสตาร์ต
  2. ในแผงเจ้าของ กรอกโฮสต์ พอร์ต (ค่าเริ่มต้น 8192) และคีย์สาธารณะ (v1) หรือโทเค็น (v2)
  3. กด ส่งโหวตทดสอบ แล้วดูว่าเซิร์ฟเวอร์บันทึกโหวตลงล็อกหรือไม่

ถ้าทดสอบไม่ผ่าน ให้เช็กว่าเปิดพอร์ต Votifier ในไฟร์วอลล์แล้ว และคัดลอกคีย์มาโดยไม่มีช่องว่างหรือขึ้นบรรทัดใหม่แทรก

แบนเนอร์สด

ทุกเซิร์ฟเวอร์มีแบนเนอร์สดขนาด 468x60 พิกเซล แสดงสถานะและจำนวนผู้เล่นปัจจุบัน

https://minelist.eu/banner/<slug>.png

ตัวอย่างโค้ด HTML สำหรับฝัง

<a href="https://minelist.eu/th/server/your-slug">
  <img src="https://minelist.eu/banner/your-slug.png" width="468" height="60" alt="โหวตให้เราบน MineList">
</a>

แนวทางที่ดี