Skip to content
Hosting · Sunucu kurulumu

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.

MetotNe yaparGerekli izin
GET /serverSunucu kartıconsole
GET /statusDurum ve çevrimiçiconsole
POST /startBaşlatstart
POST /stopDurdurstart
POST /restartYeniden başlatstart
POST /commandKonsola komutconsole
GET /consoleCanlı günlük (SSE)console
GET /files?path=Dosyaları listelefiles
GET /files/configsForm tarafından hangi yapılandırmaların okunduğufiles
GET /files/config?path=Türleriyle dosya ayarlarıfiles
POST /files/configDosya ayarlarını değiştirfiles
GET /backupsYedekleri listelebackups
POST /backupsYedek oluşturbackups
GET /antibotAnti-bot ayarları, arka uçlar ve güvenlik duvarı kurallarıprotection
PUT /antibotKoruma ayarlarını değiştirprotection
GET /antibot/overview?range=hour, day veya week için bağlantılar ve reddetmelerprotection
POST /antibot/backendsBir arka uç ekle {"address":"host:port","label":"..."}protection
DELETE /antibot/backends/{id}Bir arka ucu kaldırprotection
POST /antibot/rulesGüvenlik duvarı kuralı {"kind":"allow"|"deny","cidr":"1.2.3.0/24"}protection
DELETE /antibot/rules/{id}Bir kuralı kaldırprotection
POST /antibot/verify-domain/checkDoğrulama sayfası alan adın için DNS'i kontrol etprotection

Ö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.

Minecraft hostingSen çevrimdışıyken de sunucun çalışırSunucu oluştur