Lewati ke konten utama

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:

ModulCoverage
botHandle client per-bot: connect, warp, walk, hit, place, chat.
worldSnapshot world live: tile grid, path, NPC, entitas.
inventoryBackpack baca + tulis (drop / trash / equip / wear).
infoCatalog static — block database, recipe pool, achievement defs.
taskScheduling cooperative — wait, spawn, hook cancellation.
httpHTTPS outbound — GET / POST / form / multipart, helper JSON.
jsonEncode + decode.
regexMatching ala PCRE.
storageKV persisten scoped per-bot, survive restart.
consoleAppend / 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().