Rone Arena API mengubah data Mobile Legends: Bang Bang yang dapat diakses publik menjadi antarmuka REST yang bisa dibangun pengembang: statistik hero, peringkat, counter, build, materi rujukan academy, dan endpoint pemain yang terautentikasi. Empat puluh tujuh operasi tersebar di empat kelompok, dalam tujuh belas bahasa konten, di balik satu amplop respons dan satu set konvensi. Ia tidak resmi dan dikelola komunitas, tanpa afiliasi dengan Moonton.
Gimnya menerbitkan banyak sekali data — tingkat kemenangan hero per rank dan per lane, counter dan sinergi, tabel perlengkapan dan emblem, riwayat patch, profil pemain — tetapi menerbitkannya untuk kliennya sendiri, bukan untuk siapa pun yang ingin membangun di atasnya. Rone Arena API berdiri di antaranya: ia membaca sumber-sumber publik itu dan menyajikannya ulang sebagai kontrak HTTP yang stabil dan terdokumentasi.
Permukaannya terbagi empat kelompok. Heroes mencakup analitik dan relasi; academy mencakup data rujukan, build, dan penilaian; user mencakup autentikasi dan riwayat pemain; addon mencakup utilitas kecil seperti kalkulator tingkat kemenangan. Data yang sama tersedia dalam tujuh belas bahasa lewat satu parameter kueri.
Ini proyek komunitas. Mobile Legends: Bang Bang dan asetnya adalah merek dagang Shanghai Moonton Technology, dan API-nya menyatakan hal itu di deskripsinya sendiri, bukan di cetakan kecil.
Setiap respons memakai amplop yang sama, endpoint hero menerima id angka maupun nama pada posisi jalur yang sama, dan galat dinormalkan menjadi satu bentuk payload oleh segelintir exception handler alih-alih diformat per rute.
Dokumen OpenAPI-nya melewati dua tahap pemrosesan sebelum disajikan. Parameter enum yang memiliki nilai bawaan disisipkan langsung, karena kerangka kerjanya jika tidak akan memancarkan referensi skema kosong sehingga dokumentasi yang dirender menampilkan nama yang tak berarti di tempat pemanggil justru membutuhkan daftar nilai yang diterima. Contoh respons kemudian diurutkan ulang agar cocok dengan urutan properti skema yang diilustrasikannya, sehingga contohnya terbaca dalam urutan yang sama dengan tabel kolom di sebelahnya.
Tidak ada yang dihapus begitu saja. Tiga belas operasi saat ini ditandai usang di dalam skemanya: semuanya masih menjawab, tidak lagi dikembangkan, dan pemanggilnya mendapat sinyal yang terbaca mesin untuk berpindah alih-alih integrasi yang tiba-tiba rusak.
Layanan ini membedakan dua alasan ia bisa dibatasi, karena keduanya menuntut perilaku klien yang berbeda. Pemeliharaan berarti pekerjaannya ada di sini dan tidak ada tempat lain untuk dituju. Lalu lintas tinggi berarti host ini sedang melepas beban dan ada host cadangan, yang namanya disebut di dalam badan respons supaya logika percobaan ulang bisa membacanya alih-alih menebak. Satu middleware menegakkan keadaan mana pun yang aktif, sambil membiarkan halaman depan dan blog tetap terjangkau supaya pemanggil bisa mencari tahu apa yang sedang terjadi.
Rentang pengenal hero diselesaikan dengan menanyakan id valid tertinggi ke sumber hulu, dan itu panggilan yang boros untuk diulang, sehingga jawabannya disimpan dalam proses selama satu jam per sumber dan per bahasa. Alamat pemanggil sendiri diekstraksi sekali per permintaan lalu diteruskan ke hulu, sehingga pembatasan laju berlaku pada orang yang mengirim permintaan, bukan pada deployment-nya.
Mengekstraksi alamat itu lebih rumit daripada kelihatannya. Resolvernya membaca x-forwarded-for, lalu header Forwarded sesuai RFC 7239, lalu x-real-ip, lalu soketnya, sambil membersihkan tanda kutip, kurung siku, dan nomor porta di sepanjang jalan, dan ia bisa diminta melewatkan apa pun yang tidak dapat dirutekan secara publik — meneruskan alamat rentang privat ke hulu lebih buruk daripada tidak meneruskan apa pun.
Repositorinya publik. Jalur hulu yang dibacanya bukan rahasia besar, tetapi juga tidak ada alasan untuk membagikan daftarnya secara cuma-cuma, dan menuliskannya langsung di kode persis akan melakukan itu.
Jalur-jalur itu disimpan sebagai ciphertext Fernet dan didekripsi saat runtime dengan secret deployment. Mengkloning repositorinya memberi Anda seluruh aplikasinya; menjalankannya terhadap data sungguhan memerlukan kunci. Ini langkah yang sengaja dibuat sederhana — siapa pun yang bertekad bisa mengamati lalu lintasnya — tetapi ia menjaga kodenya jujur tentang apa dirinya: antarmuka ke data publik, bukan direktori endpoint untuk digempur.
Proyek ini menghabiskan sebagian besar hidupnya dengan nama MLBB Public Data API, lengkap dengan hostname dan nama paket yang serupa. Itu menempatkan merek dagang orang lain pada posisi yang menandakan siapa pembuat perangkat lunaknya, yang justru merupakan penggunaan yang dibatasi hukum merek, dan tidak pernah menjadi hak proyek ini.
Penggantian nama menjadi Rone Arena memindahkan empat nama publik — host API, paket Python, dan dua situs pendampingnya — tanpa mengubah satu pun jalur endpoint, parameter, atau bentuk respons. Cakupan datanya tidak berubah: ia masih API untuk data Mobile Legends: Bang Bang, dan masih menyatakannya. Yang berpindah adalah nama siapa yang tertera di atasnya.
“Thank you for your API for MLBB, it has been very helpful and supports the community.”
CEO G4 Club
“Ridwaan’s [Rone Arena API] is clean and easy to use, it made building MLBB Nexus effortless and supports developers.”
Pendiri MLBB Nexus
“The updated [Rone Arena API] gave me exactly what I needed, fetching all hero details at once and saving effort.”
Pengembang dan kontributor MLBB
“Ridwaan’s [Rone Arena API] is clean and reliable, it made my Telegram bot integration smooth and effortless.”
Pengembang bot Telegram
“Ridwan was responsive and helpful in clarifying how MLBB data is sourced, giving me clear direction.”
Penggemar rekayasa balik
Semuanya bernilai lima penuh. Tidak seorang pun disodori skala penilaian — masukan ini datang dalam bentuk kalimat, dan tidak ada satu pun yang bersyarat, sehingga tidak ada yang dinilai di bawah lima. Kalau suatu saat ada yang datang dengan nada campuran, angkanya akan ditulis apa adanya.