← All plugins
GlymeraRaces icon

GlymeraRaces

RPG race system: pick from 16 races / 119 humanoid mob variants on first join and physically morph into your chosen form. Per-race HP, damage, speed, stamina, defense, mana and four elemental resistances. Switch after a cooldown.

v5.0.0 Hytale 0.6.x ArmorMiscellaneousGameplay

Gallery

Description

GlymeraRaces - Choose Your Race, Become Your Race

An RP race system with a full RPG progression layer for Hytale. Every player picks a race on first join and physically morphs into the chosen mob model. 16 race groups, 119 humanoid mob variants, full stat profile per race - HP, damage, speed, stamina pool, defense, mana, and four damage resistances. Then level up, spend skill points, and ascend your race into stronger evolved forms as you play. Switch races again after a configurable cooldown.

New in v4.0.0: account-wide levels & XP from hunting, per-race stat growth, a seven-attribute skill tree with respec, and a linear race ascension system that unlocks prestige forms through play. All account-wide, all config-tunable, existing worlds migrate automatically.


What is GlymeraRaces?

When a new player joins, a non-dismissable selection page opens. They pick a race - say Trork, Skeleton, or Wraith - and from then on their player model is replaced by the chosen mob model. Other players see them as that mob. Their HP, stamina, damage output, movement speed, defense, and elemental resistances scale according to that race's stat profile. After a configurable cooldown (default 7 real-time days), the next login offers the chance to keep the current race ("Stay as you are") or switch.

Roleplay-friendly. Mechanical. Reversible.


How It Works

  1. First join - the race-selection page opens automatically and cannot be closed
  2. Pick a race group (Trork, Goblin, Skeleton, etc.)
  3. Pick a variant within that group (e.g. Skeleton_Knight vs Skeleton_Burnt_Praetorian)
  4. Optional preview - click "Preview (5s)" to morph temporarily, see yourself in the inventory avatar render, then auto-revert
  5. Confirm with "Become this" - the morph and stats apply permanently
  6. After cooldown the page reopens on next login with "Stay as you are" highlighted - keep or switch

RPG Progression (v4.0.0)

GlymeraRaces is no longer just a one-time choice - your race grows with you. Progression is account-wide (kept when you switch race) and everything is tunable in config.json.

Levels & XP

  • Account-wide levels with a configurable cap (default 50). Smooth XP curve (xpToNext = xpBase * level^xpCurveExp).
  • XP comes from hunting mobs, scaled by the target's max HP - tougher kills are worth more. Granted on the killing blow.
  • /grace info shows your level and XP; you get a level-up notice and skill points each level.

Per-race stat growth

  • Each race levels up its own way: Trork stacks HP, Goblin gets faster, Skeleton and Wraith gain mana, Zombie and Tuluk harden their defense, and so on. Your starting race profile is just level 1 - it scales as you play.

Skill tree

  • Earn skill points (default 10 at level 1, +4 per level) and spend them across seven attributes: Vitality (HP), Power (damage), Defense (all incoming damage), Agility (speed), Endurance (stamina), Arcane (mana), Warding (Fire/Ice/Poison resistance).
  • An allocation cap (default 80% of your total points on any one attribute) keeps builds varied.
  • Full respec any time. Open it all with /grace progress - a clean UI with + / - buttons per attribute.

Race Ascension (evolution)

  • Every race has a linear ascension ladder (base -> Ascended -> Exalted), gated by level.
  • Ascending grants an escalating stat tier and a title - and unlocks extra "prestige" forms of your race that aren't available at the start. Earn new looks through play.
  • Most variants are available immediately; only a few prestige forms sit behind ascension, so early variety is unchanged. Ascension progress is per-race and kept across switches.

Race Pool

16 race groups, 119 individually choosable humanoid variants. All variants are real Hytale ModelAsset keys (validated at server start).

Group Variants Theme
Human 1 Vanilla baseline
Kweebec 15 Plant-folk, life stages and colours
Trork 10 Grey-green ork warriors
Outlander 10 Hardened humans, bandits, cultists
Goblin 10 Small, sneaky, scrappy
Feran 7 Winged demon-kin
Skeleton 40 Standard / Burnt / Frost / Sand / Pirate / Incandescent
Werewolf 1 Lycanthrope
Zombie 8 Standard, Burnt, Frost, Sand, Aberrant...
Ghoul 1 Pale flesh-eating undead
Shadow Knight 1 Dark armored knight
Wraith 2 Ghostly specters
Hedera 1 Vine-bound humanoid
Tuluk 2 Ancient stone-folk
Klops 4 One-eyed brutes (Gentleman, Merchant, Miner)
Scarak 7 Insectoid raiders

Stat Profile Per Race

Each race has a stats block in config.json with these multipliers / bonuses:

Stat Type Effect
hpMultiplier Multiplicative on Max HP 1.30 = +30% max HP
damageMultiplier Multiplicative on outgoing damage 1.20 = deal 20% more
speedMultiplier Multiplicative on movement BaseSpeed 1.10 = 10% faster
staminaPoolMultiplier Multiplicative on Stamina max 1.10 = larger stamina pool (regen rate stays Hytale-default)
defenseMultiplier Multiplicative on incoming damage 0.85 = take 15% less
manaBonus Additive on Mana max +50 means race gets 50 max mana
resistances.fire/ice/poison/physical Damage-type-specific 0.5 = take half from that type, 1.5 = take 50% more

The HP and Stamina multipliers wrap the final value including armor bonuses (e.g. Trork at 1.30x with a +9 iron helm gets (100+9)*1.30 = 142 max HP). Defense stacks multiplicatively with armor and effect resistances. Damage-out is applied as the final scaling step before final apply.

Default Profiles

Race HP DMG SPD STA DEF Mana+ Fire Ice Poison Phys
Human 1.00 1.00 1.00 1.00 1.00 0 1.00 1.00 1.00 1.00
Kweebec 0.85 1.05 1.10 1.10 1.00 20 1.00 0.85 0.90 1.10
Trork 1.30 1.20 0.90 0.95 0.85 0 1.00 1.10 1.00 1.00
Outlander 1.10 1.10 1.00 1.00 1.00 10 1.00 1.00 1.00 1.00
Goblin 0.70 0.90 1.20 1.10 1.10 0 1.00 1.00 0.90 1.00
Feran 1.00 1.20 1.10 1.00 0.95 50 0.80 1.00 1.00 1.00
Skeleton 0.90 1.00 1.00 1.00 1.00 40 1.30 0.50 0.30 1.00
Werewolf 1.20 1.30 1.20 1.10 0.90 0 1.00 1.00 1.00 1.00
Zombie 1.40 0.90 0.75 0.80 0.85 0 1.00 0.70 0.50 1.00
Ghoul 1.10 1.10 1.10 1.00 0.95 20 1.00 0.80 0.60 1.00
ShadowKnight 1.30 1.20 0.95 1.00 0.80 30 1.00 1.00 1.00 0.80
Wraith 0.80 1.10 1.20 1.20 0.85 80 1.00 0.50 0.50 0.50
Hedera 1.00 1.00 1.00 1.00 1.00 40 0.80 1.00 1.20 1.00
Tuluk 1.20 1.10 0.90 1.00 0.85 0 1.00 1.20 1.00 1.00
Klops 1.40 1.20 0.80 0.90 0.85 0 1.00 1.00 1.00 1.00
Scarak 0.90 1.10 1.20 1.10 1.00 0 1.00 1.00 0.80 1.00

All values are tunable in config.json.


Armor Hide Layer

For non-Human races, equipped armor is automatically hidden visually so the mob model is not covered in mismatched plate. The armor remains in the inventory and all defensive stats stay active (HP bonus, damage resistances, durability loss). Only the visual rendering is suppressed. Three enforcement layers ensure the player cannot toggle armor visibility back on through the inventory UI:

  1. PlayerSettings record fields hideHelmet/Cuirass/Gauntlets/Pants set to true
  2. Periodic 2-second task re-clamps any drift
  3. Inbound SyncPlayerPreferences packet filter rewrites client toggle attempts before they reach the server

Equipped weapons stay visible because hand items only render when actively drawn from the hotbar.


Live Preview Workflow

Each variant card has two buttons:

  • Preview (5s) - applies the morph and stats temporarily, opens the native Hytale inventory page so the player sees themselves in the avatar render area, then auto-restores after 5 seconds and reopens the variant list
  • Become this - confirms and saves the choice

The Inventory page blocks player movement and actions while open (Hytale-native behaviour), so the player cannot do anything during preview. Auto-restoration is triggered server-side - no commands needed to exit.


Death and Respawn

When a player dies, Hytale strips active effects. GlymeraRaces detects this within 2 seconds (periodic enforcer task) and re-applies the morph + stats + speed + hide-flags automatically. The player respawns and stays in their chosen race form.


Disconnect During Selection

If a player closes the client while the first-join page is open (or in the middle of a preview), the next login sees a clean state - any leftover preview morph effects are stripped before the selection UI opens again.


Commands

Command Who Description
/grace Everyone Open the race-selection UI (or shows remaining cooldown)
/grace info Everyone Show your current race, variant, cooldown, level and XP
/grace progress Everyone Open the progression UI (level, XP, skill allocation, ascension, respec)
/grace set <player> <race> <variant> OP Set a player's race directly (use - for default variant)
/grace reload OP Reload config.json and re-apply to all online players
/grace cooldownReset <player> OP Reset a player's race-change cooldown
/grace addxp <player> <amount> OP Give a player XP
/grace setlevel <player> <level> OP Set a player's level

Configuration

File: mods/Glymera_GlymeraRaces/config.json (created on first start with sensible defaults).

Setting Default Description
cooldownDays 7 Real-time days a player must keep their race before being offered a change again on join
races.<RaceName>.enabled true Whether this race appears in the selection UI
races.<RaceName>.description string Short one-line description shown in the UI
races.<RaceName>.variants[] list Variant entries - each has id (mob model key) and displayName
races.<RaceName>.stats object The stat profile (see table above)

After editing, run /grace reload to apply without a server restart. Online players are re-applied automatically.


Installation

  1. Place GlymeraRaces-1.0.0.jar in your server's mods/ folder
  2. Start (or restart) the server
  3. Done

Good to Know

  • All 119 variants use real Hytale ModelAsset keys - validated at server startup. Any reference error halts loading, so you cannot deploy a broken setup unnoticed.
  • Damage-out scaling fires for both melee and projectiles (any EntitySource damage event from a player).
  • Hytale has no "Magic" damage cause - the four resistances are Fire / Ice / Poison / Physical. "Frost" is internally called Ice in Hytale.
  • Stamina-regen rate is asset-fixed and cannot be modified - only the pool size is scaled by staminaPoolMultiplier.
  • Race choice is persistent across server restarts - per-player JSON in mods/Glymera_GlymeraRaces/data/<uuid>.json.
  • The "Skipping pack at Glymera_GlymeraRaces: missing or invalid manifest.json" warning at startup is benign - effects and UI are still loaded (consistent with other Glymera plugins).

Made with care by Glymera for the Hytale community

Changelog

GlymeraRaces Changelog

v5.0.0 (2026-08-28) — Hytale 0.6.0 (Update 6)

  • Rebuilt for Hytale 0.6.0 (Update 6). Requires server 0.6.0 or newer; this version does not run on 0.5.x, and older versions of this plugin do not run on 0.6.0.
  • Migrated to the 0.6.0 APIs (network protocol hytale/3, new command-permission API, block/chunk/entity API changes). Everything that was open to players before is open to players again.
  • Upgrade: delete the old jar from mods/, drop in the new one and keep the plugin's data folder — configs and saved data carry over unchanged. Restart the server.

v4.0.0 (2026-06-15)

Big one: GlymeraRaces grows from a static race-morph system into a full RPG progression layer, while keeping everything that was already there. Driven by a CurseForge request ("add more races and a more in-depth levelling RPG system").

Everything new is account-wide (kept when you switch race) and config-tunable (/grace reload). Existing players and existing config.json files are migrated automatically on first boot — nothing is lost.

New: Levels & XP

  • Account-wide levels with a configurable cap (default 50). XP curve: xpToNext(level) = round(xpBase * level^xpCurveExp) (defaults 100, 1.5).
  • XP is earned from mob kills only, scaled by the victim's max HP (xpPerVictimMaxHp) plus a flat amount (xpFlatPerKill). Granted on the killing blow, detected inside the existing damage-filter system (no new ECS systems, no polling).
  • Level-up message + automatic stat re-apply. /grace info now shows your level and XP.

New: Per-race stat growth

  • Each race now grows its own stats per level — Trork piles on HP, Goblin gains speed, Skeleton/Wraith gain mana, Zombie/Tuluk harden their defense, etc. Tunable per race under races.<id>.growth.
  • Growth folds into the existing apply path (HP/Stamina/Mana via EntityStatMap modifiers, speed via MovementManager, damage/defense via the damage filter). No new stat mechanics, just richer values.

New: Skill points & attribute allocation

  • Earn skill points (default 10 at level 1, +4 per level) and spend them across seven attributes: Vitality (HP), Power (damage), Defense (all incoming damage), Agility (speed), Endurance (stamina), Arcane (mana), Warding (Fire/Ice/Poison resistance).
  • Allocation cap (default 80% of total earnable points on any single attribute) forces build variety.
  • Respec supported (refund all points). Points are kept when you switch race.

New: Race Ascension (evolution)

  • Every race group has a linear ascension ladder (default 3 rungs: base → Ascended → Exalted), gated by level (and optionally skill thresholds).
  • Ascending grants an escalating stat tier and a title, and can unlock extra "prestige" forms of that race that aren't selectable at the start — new race content earned through play.
  • Most variants stay available immediately (tier 0); only a few prestige forms sit behind ascension, so early variety is unchanged. Ascension progress is per race group and persists across switches.
  • Locked forms are shown in the variant picker with their unlock level; they cannot be selected until unlocked.

New: Progress UI & commands

  • /grace progress opens a progression page (built from the existing UI templates): level + XP, unspent points, + / - allocation per attribute, an Ascend button when eligible, and a Respec option.
  • /grace addxp <player> <amount> (OP) and /grace setlevel <player> <level> (OP) for testing/administration.

Compatibility & internals

  • config.json gains a leveling block (curve, caps, skill scaling) and per-race growth + ascension; missing pieces are filled in on load, your tuned values are preserved.
  • Per-player data files gain level / xp / totalXp / unspentSkillPoints / skills / ascension; legacy files are upgraded on first load and granted their starting points once.
  • All stat effects are computed once per player ("effective stats" = race base × per-level growth × ascension tier, then + skill allocation) and cached for the hot damage path; recomputed on level/skill/ascension/race change.
  • No new Hytale APIs and no new asset risk: the morph/hide/resistance/preview systems are unchanged.

v3.0.0 / v2.0.0

Maintenance releases (per-release full-major version bump policy).


v1.0.0 (2026-05-02)

Initial release.

Concept

RP race system with mandatory first-join selection. Players pick a race when they first join the server and morph into the chosen mob model. Each race has its own stat profile (HP, damage, speed, stamina pool, defense, mana, four damage resistances). After a configurable real-time cooldown, players are offered the option to switch on next join.

Features

  • 16 race groups, 119 humanoid mob variants (Human, Kweebec, Trork, Outlander, Goblin, Feran, Skeleton, Werewolf, Zombie, Ghoul, ShadowKnight, Wraith, Hedera, Tuluk, Klops, Scarak). All variants are real Hytale ModelAsset keys, validated at server start.
  • First-join enforcement: race selection UI cannot be closed; player picks before they can play.
  • Race-change cooldown (default 7 real-time days). After cooldown, on next join the UI offers "Stay as you are" (highlighted default) plus the race list.
  • Drilldown UI: Race group page → variant page. Each variant card has a Preview and a Choose button.
  • 5-second live preview: clicking Preview applies the morph + stats temporarily, opens the native Inventory page so the player sees themselves in the avatar render area, then auto-restores after 5 seconds and reopens the variant list.
  • Stats per race: HP / Stamina-pool (multiplicative EntityStatMap max modifiers), Mana (additive), Damage-out + Defense (ECS damage filter), Speed (MovementManager), Resistances Fire/Ice/Poison/Physical (per-variant effect assets).
  • Auto armor-hide for non-Human races (3-layer enforcement).
  • Auto re-apply after death (2s enforcer).
  • /grace reload re-applies to online players.

Commands

  • /grace, /grace info, /grace set (OP), /grace reload (OP), /grace cooldownReset (OP)
Public — visible to everyone. No account needed.

Only Marc can read this.