Docs menu

Hytale.

How SCRIPT//GO scripts run on Hytale: setup, capabilities, protection, limits and the real runs behind its status.

SDK scriptgo_version 0.1Source: scriptgo-sdk/docs/site/platforms/hytale.md
On this page

Scripts on Hytale servers, through one server plugin. Players install nothing.

This page is generated from the SDK's platform registry (sdk/environments.json) and the adapter's SETUP.md. The Hytale page on the site is the short version.

Status Planned: not usable yet
Runs on Server only
Languages Lua 5.2
Protection Code escrow, planned
Runtime Hytale server (Java, JDK 25) with Cobalt 0.9.9 (Lua 5.2)

How it runs

A Java server plugin that embeds Cobalt, a Lua 5.2 VM written in Java, and runs the core on its own host thread, never on a world thread. Players install nothing.

The adapter's code and README: sdk/adapters/hytale.

Set up

Planned: there are no setup steps for it.

Capabilities

What the adapter provides. See SDK and capabilities for what each one is.

Capability Support Note
events Partial Server side only: Hytale plugins run on the server and players install nothing.
logging Supported The server log, through the plugin's logger.
storage Supported JSON files in the plugin's data folder (mods/ScriptGo_ScriptGo/storage/<key>.json).
players Supported Connect and disconnect events; session ids, names, identifier hytale:<uuid>.
permissions Supported Hytale permission nodes scriptgo.admin or scriptgo.<privilege>, then the grants in scriptgo.json.
commands Partial Commands known when the server starts become /commands; any command also runs as /sg <command>.
config Supported Per-resource values and convars from scriptgo.json in the plugin's data folder.
ui Fallback Notifications are sent as chat messages.
http Partial java.net.http, off until the operator lists hosts in scriptgo.json http.allowedHosts; redirects are never followed.
licensing Partial Available exactly when http is.
perks Not available Not switched on: the core implements perks over http and the player identifier, which this adapter has, but it has not been wired or run here.
presence Not available The adapter has no player address to read, and perks are not switched on.

Protection

Code escrow is planned: a JVM plugin with a native library would hold the key. Until it exists, licence check and signed releases only.

See Protect your work for what protection does and does not do.

Assets

Maps, models, textures, sounds and other files players download. See Selling assets.

Support Partial
environment_asset an asset pack (.zip with manifest.json, Common/ and Server/) installed in the server's mods/ folder; the server sends its assets to players. Validated, not packed or run yet

Validated and packed (mods/); not loaded by a Hytale server yet.

Asset escrow: Not feasible today: the official client.

The platform's own rules

The game's terms allow paid mods and plugins.

This is the platform's rule, shown as information: whoever runs a script there answers for following it. It does not change what can be sold on SCRIPT//GO. See the rules.

Limits

  • Not run on a real Hytale server yet: the bridge passes the conformance probe on a plain JVM only (Cobalt, Lua 5.2).
  • No client side.
  • Lua 5.2 in the JVM (Cobalt): no io library and no C modules; os has time, clock, date and difftime.
  • Commands a resource registers after the server has started are reached through /sg <command>.
  • HTTP, and so online license checks, only to hosts the operator allows.

Real runs

No real run yet. Waiting for the Hytale server files, which come with a Hytale account, and for a JDK 25 to build the plugin against them.