راهنمای استفاده از API لیست سرورها
با API ندکسکو میتوانید فهرست بازیها و برنامهها، آمار کلی و اطلاعات سرورهای هر آیتم را بهصورت JSON دریافت کنید. تمام درخواستها فقط خواندنی هستند و برای استفاده به API Token نیاز دارند.
دریافت API Tokenشروع سریع
آدرس پایه API:
https://nedxco.com/serverlist/api/v1
برای هر درخواست، توکن خود را در Header با روش Bearer ارسال کنید.
curl "https://nedxco.com/serverlist/api/v1/items" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
در تمام نمونهها مقدار
YOUR_API_TOKEN را با توکنی که دریافت کردهاید جایگزین کنید.احراز هویت با Token
توکن باید در Header درخواست ارسال شود:
Authorization: Bearer YOUR_API_TOKEN
اگر Token اشتباه، غیرفعال یا منقضی شده باشد، API پاسخ 401 برمیگرداند.
توکن را داخل JavaScript سمت مرورگر، سورس HTML یا مخزن عمومی قرار ندهید. بهتر است درخواست API از Backend سایت یا برنامه شما ارسال شود.
دریافت لیست بازیها و برنامهها
GEThttps://nedxco.com/serverlist/api/v1/items
این Endpoint همه آیتمهای فعال را همراه با اطلاعات عمومی، تگها و آمار خلاصه سرورها برمیگرداند.
نمونه پاسخ
{
"success": true,
"data": {
"games": [
{
"id": 1,
"name": "Counter-Strike: Source",
"name_fa": "کانتر استرایک سورس",
"slug": "counter-source",
"short_name": "CS:S",
"description": "لیست سرورهای ایرانی کانتر سورس",
"theme_color": "#ff6a00",
"server_count": 4,
"player_count": 88,
"min_ping": 19,
"tags": ["کلاسیک", "زامبی", "دثمچ"]
}
]
}
}
| فیلد | توضیح |
|---|---|
| server_count | تعداد سرورهای فعال آیتم |
| player_count | مجموع بازیکنان آنلاین سرورهای فعال |
| min_ping | کمترین پینگ ثبتشده بین سرورهای آنلاین |
| tags | تگهای ثبتشده برای بازی یا برنامه |
دریافت اطلاعات یک بازی و سرورهای آن
GEThttps://nedxco.com/serverlist/api/v1/items/{slug}
بهجای {slug} اسلاگ بازی یا برنامه را قرار دهید. برای مثال:
GEThttps://nedxco.com/serverlist/api/v1/items/counter-source
این درخواست اطلاعات همان آیتم، آمار کلی، سرور پیشنهادی و لیست تمام سرورهای فعال را برمیگرداند.
نمونه پاسخ
{
"success": true,
"data": {
"game": {
"id": 1,
"name": "Counter-Strike: Source",
"slug": "counter-source",
"stats": {
"servers": 4,
"players": 88,
"min_ping": 19
},
"recommended_server": {
"id": 1,
"name": "Nedxco Public #1",
"address": "play.example.com:27015",
"online": true,
"players": 28,
"max_players": 32,
"ping": 19,
"map": "de_dust2"
},
"servers": [
{
"id": 1,
"name": "Nedxco Public #1",
"host": "play.example.com",
"port": 27015,
"address": "play.example.com:27015",
"join_url": "steam://connect/play.example.com:27015",
"online": true,
"players": 28,
"max_players": 32,
"bots": 2,
"ping": 19,
"map": "de_dust2",
"boost": 100,
"is_pinned": true,
"is_recommended": true,
"display_status": "online",
"tags": ["پابلیک", "کلاسیک"]
}
]
}
}
}
| فیلد سرور | توضیح |
|---|---|
| online | وضعیت آنلاین یا آفلاین سرور |
| players | تعداد بازیکنان فعلی |
| max_players | حداکثر ظرفیت سرور |
| bots | تعداد Botهای گزارششده توسط Socket |
| ping | پینگ ثبتشده برای سرور |
| map | مپ یا نقشه فعلی، در صورت پشتیبانی Socket |
| boost | مقدار اولویت نمایش سرور |
| is_pinned | مشخص میکند Pin سرور در حال حاضر فعال است یا نه |
| is_recommended | مشخص میکند سرور در بازه فعلی بهعنوان سرور پیشنهادی انتخاب شده یا نه |
| join_url | لینک ورود مستقیم، در صورتی که برای آیتم تعریف شده باشد |
ترتیب آرایه
servers همان ترتیب نمایش پیشنهادی است: ابتدا سرورهای Pin شده و سپس سرورها بر اساس Boost بیشتر.نمونه استفاده با PHP
پیشنهاد میشود Token در Backend نگهداری شود و درخواست از سمت سرور شما به API ارسال شود.
<?php
$token = 'YOUR_API_TOKEN';
$url = 'https://nedxco.com/serverlist/api/v1/items/counter-source';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Accept: application/json',
'Authorization: Bearer ' . $token,
],
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
if (!empty($data['success'])) {
foreach ($data['data']['game']['servers'] as $server) {
echo $server['name'] . ' - ';
echo $server['players'] . '/' . $server['max_players'];
echo '<br>';
}
}
کدهای پاسخ و خطاها
| کد | معنی |
|---|---|
| 200 | درخواست با موفقیت انجام شده است. |
| 401 | Token معتبر نیست، غیرفعال شده یا منقضی شده است. |
| 404 | Endpoint یا آیتم موردنظر پیدا نشده است. |
| 405 | متد درخواست مجاز نیست. API فعلی فقط GET را قبول میکند. |
| 500 | خطای داخلی در API رخ داده است. |
نمونه خطای Token
{
"success": false,
"error": "توکن API معتبر نیست یا منقضی شده است."
}
