Color theme

Architecture & Overview

Eranio

Architecture & Overview

HytaleAdminAPI (current version 1.15.0, built against Hytale Server 0.7.0) is a server mod that runs inside the Hytale server and exposes a JSON REST API over HTTP. The Pelican plugin Hytale Admin uses it, but any client with the token can call it.

  • Port: default 5550, configurable
  • Bind address: default 0.0.0.0, set 127.0.0.1 to allow local access only
  • Auth: X-Admin-Token header on every request
  • Format: JSON in and out, CORS open (Access-Control-Allow-Origin: *)

Handlers

Every area has its own handler, registered as an HTTP context:

Context Handler Area
/api/status StatusHandler Server state, resources
/api/stats StatsHandler JVM figures
/api/version VersionHandler Version and protocol
/api/players PlayersHandler Players, actions, inventory
/api/bans BansHandler Bans
/api/mutes MutesHandler Mutes
/api/chat ChatHandler Chat, event logs, broadcast
/api/world WorldHandler Time and weather
/api/warps WarpsHandler Hytale warps (TeleportPlugin)
/api/items ItemsHandler Item catalogue
/api/icons IconsHandler Item icons
/api/permissions PermissionsHandler Users, groups, OP
/api/whitelist WhitelistHandler Whitelist
/api/serverconfig ServerConfigHandler Hytale config.json
/api/deaths DeathTrackerHandler Deaths
/api/memories MemoriesHandler Memories
/api/backup BackupHandler Backups
/api/adventure AdventureHandler World events, portals, instances, player tools
/api/worlds WorldsHandler World management
/api/playerworlds PlayerWorldsHandler Player world settings and overview

Threads

Hytale keeps every world on its own thread. Handlers that read or change entities (players, inventory, teleports, world settings) run that part as a task on the world thread and wait for it (usually up to 5 seconds). Reads that need no world access (status, known players, config files) run directly on the HTTP thread.

In-game commands

Besides the API the mod registers these commands:

Command Alias Purpose
/gamemode /gm Replaces Hytale's command and logs every use
/myworld /meinewelt Player world window
/tpa <player> /tpanfrage Teleport request
/tpaccept /tpannehmen Accept request
/tpdeny /tpablehnen Deny request