Create and manage scripts
JavaScript editing, local metadata and dependable cleanup.
Contract 1.0.0 · JavaScript executor documentation
JavaScript execution context
Scripts run in an asynchronous function with the scorpionScript lifecycle helper. Top-level await and return are supported. TypeScript source, imports and npm modules are not compiled by the executor. Save compiled JavaScript instead. Syntax diagnostics validate JavaScript; they are not a TypeScript type checker.
await Promise.resolve();
console.log("Ready");
return 42;Supported userscript metadata
Metadata can set a name, version, exact supported game match, run timing and grant none. Remote dependencies, resources, broader hosts and privileged grants are rejected. Without metadata, the source defaults to both supported game origins and document-idle.
// ==UserScript==
// @name Scorpion example
// @version 1.0.0
// @match https://diep.io/*
// @run-at document-idle
// @grant none
// ==/UserScript==
console.log("Example loaded");Library, tabs and drafts
Save persists a script in the local extension library. Open imports a local .js, .user.js or .txt file; Export downloads the active buffer as JavaScript. Each editor tab preserves its selection, scroll position and undo history while the dashboard remains open. Drafts and saved scripts survive browser restarts.
The library supports 64 scripts, 16 open editor tabs and 512 KiB per source. Total stored source is bounded. Conflicting edits from separate dashboards are reported rather than silently overwriting your work. Export your buffer before resolving a conflict.
Enable, autostart and Stop
Enabled controls whether a script may run. Autostart registers it for a new supported game document at its declared timing. Stopping one script releases its tracked resources and leaves other scripts running. Disabling or editing a running script stops the prior instance. Reloading the game fully removes document side effects.