Botlar için sunucu API'si
Millida Hosting istemci API'si: anahtar verme, izinler, sunucu yönetimi ve kendi botundan veya betiğinden konsol akışı.
13 Ekim 2026 tarihinde güncellendi
Panelin yaptığı her şeyi kendi kodunla yapabilirsin: bir sunucuyu zamanlanmış olarak başlat, durumu Discord'da göster, bir bottan komut gönder.
Anahtar
API'yi her ücretli planda kullanabilirsin — dosyalar, SFTP ve ekip erişiminin olduğu yerde. Ücretsiz planda anahtar verilmez: anahtar aynı paylaşılan erişimdir, sadece bir bot için.
"Oyuncular ve erişim" bölümü → "API anahtarları" → "Oluştur". Anahtarın ne yapmasına izin verildiğini kontrol et — izinler paylaşılan erişimle aynı.
Anahtar bir kez gösterilir: sadece parmak izini saklarız. Kaybedersen, yeni bir tane oluştur ve eskiyi iptal et.
Anahtar Authorization: Bearer mhk_live_... başlığında iletilir.
Metotlar
Temel URL — https://millida.net/v2/hosting/api.
| Metot | Ne yapar | Gerekli izin |
|---|---|---|
GET /server | Sunucu kartı | console |
GET /status | Durum ve çevrimiçi | console |
POST /start | Başlat | start |
POST /stop | Durdur | start |
POST /restart | Yeniden başlat | start |
POST /command | Konsola komut | console |
GET /console | Canlı günlük (SSE) | console |
GET /files?path= | Dosyaları listele | files |
GET /files/configs | Form tarafından hangi yapılandırmaların okunduğu | files |
GET /files/config?path= | Türleriyle dosya ayarları | files |
POST /files/config | Dosya ayarlarını değiştir | files |
GET /backups | Yedekleri listele | backups |
POST /backups | Yedek oluştur | backups |
GET /antibot | Anti-bot ayarları, arka uçlar ve güvenlik duvarı kuralları | protection |
PUT /antibot | Koruma ayarlarını değiştir | protection |
GET /antibot/overview?range= | hour, day veya week için bağlantılar ve reddetmeler | protection |
POST /antibot/backends | Bir arka uç ekle {"address":"host:port","label":"..."} | protection |
DELETE /antibot/backends/{id} | Bir arka ucu kaldır | protection |
POST /antibot/rules | Güvenlik duvarı kuralı {"kind":"allow"|"deny","cidr":"1.2.3.0/24"} | protection |
DELETE /antibot/rules/{id} | Bir kuralı kaldır | protection |
POST /antibot/verify-domain/check | Doğrulama sayfası alan adın için DNS'i kontrol et | protection |
Örnek: bir sunucu başlat ve çevrimiçi olmasını bekle
KEY="mhk_live_xxx"
API="https://millida.net/v2/hosting/api"
curl -sX POST "$API/start" -H "Authorization: Bearer $KEY"
until curl -s "$API/status" -H "Authorization: Bearer $KEY" | grep -q RUNNING; do
sleep 5
done
echo "server online"
Yedekler arka planda oluşturulur
POST /backups hemen {"id":"..."} döndürür, arşivin kendisi düğümde oluşturulur: birkaç gigabaytlık bir dünya dakikalar alır. GET /backups içinde status alanını kullanarak hazır olup olmadığını kontrol et: pending — hâlâ oluşturuluyor, ready — depolamada saklanıyor (gerçek sizeMb o zaman görünür), failed — oluşturulamadı.
ID=$(curl -sX POST "$API/backups" -H "Authorization: Bearer $KEY" | jq -r .id)
until curl -s "$API/backups" -H "Authorization: Bearer $KEY" \
| jq -e --arg id "$ID" '.[] | select(.id==$id) | select(.status=="ready")' >/dev/null; do
sleep 15
done
echo "backup ready"
Bir yedekleme devam ederken, aynı sunucuda ikinci bir tane oluşturamazsın — düğüm bunları tek tek yapar.
Canlı konsol
GET /console bir Server-Sent Events akışı döndürür: her satır data: önekiyle gelir. WebSocket gerekmez — SSE herhangi bir proxy'den geçer.
Bilmen gerekenler
- Her anahtar eylemi günlüğe kaydedilir sunucu günlüğünde "API anahtarı N" yazarıyla. Hem insanların hem de botların sunucu çalıştırdığı durumlarda tam da ihtiyacın olan şey budur.
- Hız sınırı anahtar başına hesaplanır, adres başına değil: IP değiştirmek limiti atlamaz ve ofis ağındaki bir komşu bunu tüketmez. Normal otomasyon için cömerttir, ancak saniyede bir durum sorgulaması limite takılır — 10–15 saniyede bir yeterlidir. Konsol akışı dakikada en fazla on kez açılabilir: her mesaj için yeni bir bağlantı açmak yerine tek bir bağlantı tut.
- Anahtar hemen çalışmayı durdurur sunucu askıya alınırsa veya plan artık ödenmiyorsa. Bunun için manuel olarak iptal etmene gerek yok.
- Sunucu başına en fazla beş anahtar. İhtiyacın olmayanları iptal et.
Anti-bot koruması
GET /antibot ayarları iki alanda döndürür. config — sunucunun kendi ayarları; var olana kadar null'dır ve sunucu varsayılan olarak korunur (default alanı). effective her zaman mevcuttur: bunlar şu anda yürürlükte olan veya sunucunun ilk düzenlemeden sonra çalışmaya başlayacağı ayarlardır — değerleri ondan oku.
PUT /antibot yalnızca değiştirmek istediğin alanları kabul eder:
curl -sX PUT "$API/antibot" -H "Authorization: Bearer $KEY" -H 'Content-Type: application/json' -d '{"preset":"balanced"}'
Seviyeler (preset): off, under_attack, balanced, aggressive, custom. Seviye kendi başına kontrol değerlerine açılır, bu nedenle manuel yapılandırma için custom seç ve kontrolleri gönder: checkCaptcha, checkPhysics, checkKeepAlive, checkTeleport, checkBrand, checkPing, checkTransfer, checkClientSettings — her biri off, under_attack veya always. Adres listeleri (vpnMode, datacenterMode, torMode) — off, log veya block. Coğrafi filtre — geoMode (off, allow, deny) ve geoCountries (ülke kodları, örn. ["RU","BY"]).
Yönlendirme gizli anahtarı API üzerinden verilmez veya değiştirilmez: yalnızca panelde sahibine gösterilir.
Yapılandırma ayarları
GET /files/config?path=server.properties ayrıştırılmış dosyayı döndürür — her giriş türü, geçerli değeri ve bir "yeniden başlatma gerekli" bayrağıyla:
{
"path": "server.properties",
"format": "properties",
"options": [
{ "key": "pvp", "type": "boolean", "value": "true", "owner": "sync", "requiresRestart": false },
{ "key": "difficulty", "type": "select", "value": "normal", "values": ["peaceful", "easy", "normal", "hard"], "owner": "sync", "requiresRestart": false },
{ "key": "server-port", "type": "integer", "value": "25565", "owner": "platform", "requiresRestart": true }
]
}
owner girişle ne yapılabileceğini söyler: platform — değer hosting tarafından ayarlanır, düzenlemeler reddedilir; sync — giriş hem panelde hem de dosyada bulunur; file — yalnızca dosya bunu bilir.
Bir yazma yalnızca gönderdiğin anahtarları değiştirir; dosyadaki diğer her şey dokunulmadan kalır:
curl -sX POST "$API/files/config" -H "Authorization: Bearer $KEY" -H 'Content-Type: application/json' -d '{"path":"server.properties","values":{"pvp":"false","difficulty":"hard"}}'
Form .properties, .yml/.yaml ve .toml dosyalarını okur — panelin hiç bilmediği eklenti yapılandırmaları dahil: alan türü değerden çıkarılır. İç içe anahtarlar nokta ile adreslenir: settings.bungeecord, advanced.compression-threshold.
Dosyanın tamamı hâlâ GET/PUT /files/content?path= aracılığıyla kullanılabilir — her iki yol da aynı yere yazar.
