Konsep
Beberapa istilah sering muncul di dokumen ini — sebaiknya dipaku duluan biar baca halaman lain enak.
Bot
Satu koneksi ke server game Pixel Worlds. Tiap bot punya:
- state auth-nya sendiri (PlayFab session, JWT sclfrst, device ID),
- snapshot world (tile grid, entitas, collectable, AI),
- antrian packet outbound (scheduler nge-drain ke TCP socket sambil hormatin pacing per-packet),
- runtime (VM Luau
mlua, fresh per script).
Bot dibuat lewat dashboard atau via HTTP API. Setelah dibuat, mereka persist lintas restart — Seraph auto re-auth dan reconnect.
State machine:
[Dibuat] → connecting → authenticating → MenuReady
↓ (warp)
InWorld
↓ (leave / kick / disconnect)
MenuReady
↓ (disconnect)
Disconnected
↑ (connect)
Script
Source Lua yang dijalankan terhadap satu bot (lewat panel) atau semua bot connected secara paralel (lewat halaman Scripts). Script jalan di VM Luau-nya sendiri dengan kumpulan binding kurated; bisa spawn coroutine background, panggil HTTP, baca JSON, dan simpan state scoped.
Tiap script punya scope key — (client_id, script_id) — buat
identifikasi panggilan stop / status / console-clear. script_id
yang sama bisa jalan independen di banyak bot; mereka gak share state
VM.
Modul
Namespace binding Lua yang di-inject runtime pas script mulai. Yang paling umum:
| Modul | Coverage |
|---|---|
bot | Handle client per-bot: connect, warp, walk, hit, place, chat. |
world | Snapshot world live: tile grid, path, NPC, entitas. |
inventory | Backpack baca + tulis (drop / trash / equip / wear). |
info | Catalog static — block database, recipe pool, achievement defs. |
task | Scheduling cooperative — wait, spawn, hook cancellation. |
http | HTTPS outbound — GET / POST / form / multipart, helper JSON. |
json | Encode + decode. |
regex | Matching ala PCRE. |
storage | KV persisten scoped per-bot, survive restart. |
console | Append / clear / read buffer log script-nya sendiri. |
Set lengkap ada di API Reference.
Method
Fungsi yang di-expose ke Lua oleh runtime. Method-nya dilist di
API Reference, auto-extract dari src/seraph/*.rs waktu
build. Reference adalah single source of truth — kalo method-nya gak
ada di sana, binary yang lagi jalan gak nge-expose.
Job
Instance script yang lagi jalan, identifikasi-nya (client_id, script_id).
View Jobs + endpoint /api/jobs lapor setiap job
hidup di setiap bot. Berguna buat dashboard "apa yang lagi jalan di
mana".
Edge relay
Hop server-side yang Seraph pake pas PlayFab anti-fraud udah flag IP
lokal kamu. Bot fetch URL relay terenkripsi XChaCha20-Poly1305 dari
licensing server, route HTTPS auth call lewat itu, lalu drop relay
— socket game beneran connect direct. Lihat
catatan /api/edge/relay (kamu gak perlu panggil
manual; bot lakuin otomatis kalo butuh).
Lease
Bukti license valid yang di-cache lokal, signed pake Ed25519. Klien verify signature lawan public key embedded, jadi walau server licensing mati (atau compromised), lease yang ada tetep jalan di window grace. Artinya Seraph tetep usable ~24 jam offline sebelum re-auth dipaksa.
Snapshot
Pemerataan read-only state lengkap bot di satu instant — world saat
ini, posisi, status, inventory, gems, byte-coins, state fishing,
proxy assignment, dsb. Dashboard subscribe snapshot lewat
stream SSE; script dapet sinkronus via method
kayak bot:snapshot().