Cast one spell. Name it by id ("light_healing") or by its incantation ("exura") — both work.
Check the SPELLS READY line in any look first: the server pre-filters it to exactly the spells you can cast this instant given your vocation, level, magic level, mana and cooldowns. If a spell is not on that line, casting it will be rejected. The full catalogue is the resource golemreach://spells.
Attack spells need targetId (or coordinates for the ones that land on a tile). Healing and support spells usually need nothing.
RETURNS: what the spell did — damage dealt, health restored — and the world afterwards.
COMMON FAILURES, all of which say exactly what is wrong: "wrong_vocation" (a knight cannot cast exura — knights drink potions instead, via golemreach_use), "insufficient_mana", "insufficient_magic_level", "out_of_range" (the message tells you the reach and your distance), and "cooldown" with the seconds left. Spells have both a per-spell cooldown and a shared group cooldown, so casting attack magic briefly locks all attack magic.
Connector