premium banner
AscendRPG is a server-side RPG framework for Hytale with WoW-inspired classes, leveling, perks, and custom UI. Mage staff visuals are provided via a separate required asset download.

Description

AscendRPG

⚠️ Additional Compatibility Notice

AscendRPG is a server-side RPG progression framework that already modifies core gameplay systems such as:

  • XP and leveling
  • combat calculations
  • stamina, mana, and health regeneration
  • damage handling and stat scaling

Because of this, it is NOT recommended to use AscendRPG together with other mods that:

  • overhaul RPG systems
  • change leveling or stats
  • modify combat mechanics
  • add alternative skill trees or progression frameworks

Mixing multiple mods that affect the same core systems (combat, stats, progression, or damage logic) can lead to:

  • conflicts
  • desync issues
  • unexpected behavior
  • player disconnects or instability

For best stability and intended gameplay balance, AscendRPG should be used as the primary (and only) RPG/combat progression mod in your server.


Overview

AscendRPG focuses on combat decisions, class identity, and long-term character growth without turning the game into an MMO or ability-spam system.

The goal is not to replace vanilla combat, but to add meaningful progression, risk, and specialization on top of it.


Design Philosophy

  • Progression over power creep
    Strength comes primarily from perks and player decisions, not item rarity.

  • Classes define playstyle, not hard restrictions
    Any weapon can be used, but classes strongly favor specific combat styles.

  • Risk-based combat
    Blocking, stamina, guard breaks, and positioning matter more than raw DPS.


Core Features

  • Class-based characters: Warrior, Hunter, Mage, Rogue
  • Level-based progression up to level 100
  • Health, Stamina, and Mana scaling
  • Perk-driven character growth
  • Server-side class identity and stat handling
  • In-game UI for:
    • class selection
    • character stats
    • perk overview

Combat & RPG Systems

  • Advanced stamina & blocking

    • Blocking never negates 100% damage
    • Guard break when stamina reaches zero
    • Different weapons interact with stamina differently
  • Perk-driven damage calculation
    Damage is calculated through a unified system combining perks, class modifiers, crits, and reductions.

Class Passives & Weapon Use

Each class has simple passive traits and preferred weapons. Using non-preferred weapons results in reduced effectiveness.

Warrior

  • Preferred weapons: Swords, Spears
  • Passive: −4% movement speed
  • Role: Durable melee fighter

Hunter

  • Preferred weapons: Bows
  • Secondary weapons: Daggers (smaller penalty)
  • Passive: Reduced fall damage
  • Role: Ranged combat and mobility

Mage

  • Preferred weapons: Staffs only
  • Starts with a basic staff
  • Role: Magic and resource-based combat

Rogue

  • Preferred weapons: Daggers
  • Passive: Faster sneaking
  • Role: Precision and positioning

Professions System Added

A new professions system has been added. Each profession has its own perks that unlock various bonuses as you progress. For example, you can gain extra luck while mining, have a chance to craft higher-quality items, and receive other profession-specific advantages.

Known Issues

Due to the way the game handles XP events, there are some limitations. In certain cases, you may receive XP from items that were not directly crafted by you (for example, picking up arrows dropped by skeletons). Unfortunately, this cannot currently be handled more accurately because the game does not properly expose the necessary event hooks (such as reliable workbench or crafting events).

In other words, the system sometimes treats item acquisition similarly to crafting-related actions. It’s not perfect, but it’s a technical limitation of the current event handling and honestly, it’s not entirely a bad thing (for example, getting a bit of XP as an Alchemist for collecting mushrooms kind of makes sense anyway).

Language Support

Basic language support has been added. Some translations are already included and the game should automatically load available language files.

You can also create your own translation by adding a language file (for example: en-us, cs-cz, etc.) while keeping the same internal file structure. The mod should detect and load it automatically.

Known Issues

I tried to add a proper language settings option, but unfortunately it does not work correctly right after login. This is most likely caused by the UI being overlapped during the profession selection screen, which prevents accessing the settings menu and changing the language at that moment.

Because of this, the language may only be changed after the initial profession selection. I may revisit this later and try to implement a more reliable solution.

Magic & Staff System (Mage)

AscendRPG introduces a custom staff-based magic system for the Mage class.

Existing in-game staff models are reused and extended with additional gameplay mechanics and behavior.

Core Principles

  • Staffs are functional weapons, not spell hotbars
  • Magic usage is resource-driven, not spam-based
  • Power comes from perks and class progression, not staff rarity

Essence-Based Casting

  • Each staff requires a specific magical essence
  • Casting consumes essence on use
  • When essence or mana runs out:
  • spellcasting is disabled
  • the staff behaves as a melee weapon (spear-like attacks)

This ensures the Mage is never completely defenseless.

Staff Identity

  • Each staff represents one spell archetype
  • Staffs do not scale damage through rarity
  • Spell effectiveness is influenced mainly by:
  • perks
  • class bonuses
  • player decisions

The system is designed around controlled magic usage and clear risk vs reward.


Progression & XP System

  • Maximum level: 100
  • Custom XP curve for long-term progression
  • Entity-based XP rewards with tier scaling
  • Automatic detection of unknown entities for balancing

Progression rewards:

  • Passive stat scaling per class
  • Perk unlocks and specialization
  • Improved combat efficiency, not raw power

Perks

  • Perks unlock naturally through progression
  • No random rolls or loot-based stat inflation
  • Perks affect:
    • damage behavior
    • stamina usage
    • blocking efficiency
    • regeneration and movement

Perks are designed to change how you fight, not just how hard you hit.


Commands

  • /rpg — Opens the main RPG menu
  • /rpg perks — Opens the perks menu
  • /rpg status — Opens character stats
  • /rpg level set <value>
  • /rpg level add <value>

(Admin permissions required for modifying other players.)

Professions Commands

Player:

/rpg professions
/rpg professions toggle <profession_id>
/rpg reset professions

Admin :

/rpg professionlevel set <profession_id> <level> [player_name] [--resetxp]
/rpg professionlevel add <profession_id> <amount> [player_name] [--resetxp]
/rpg reset professions --player <player_name>
/rpg reset professions <player_name>

Configuration & Data Files

On server startup, AscendRPG generates editable configuration files:

  • classes.csv — class base stats and per-level scaling
  • perks.csv — perk definitions (auto-generated from built-in defaults if missing)
  • entities.csv — player XP rewards per NPC/entity kill
  • entities_missing.csv — auto-generated unknown entity IDs seen at runtime
  • ui_settings.json — global HUD/UI offsets and defaults
  • players/*.json — per-player RPG save data (class, level, perks, professions, language, UI offsets)

Language files

  • language/<code>.csv — localization overrides (e.g. en-us.csv, cs-cz.csv, de-de.csv, etc.)
  • Any new language/*.csv file is auto-discovered as a selectable language.
  • Fallback chain: selected language key -> en-us key -> hardcoded fallback text.

Profession files

All profession configs are stored in:

  • professions/profession_blocks.csv
  • professions/profession_blocks_bridge.csv
  • professions/profession_items.csv
  • professions/profession_items_bridge.csv
  • professions/profession_entities.csv
  • professions/profession_entities_bridge.csv
  • professions/profession_block_drops.csv
  • professions/profession_craft_rules.csv
  • professions/profession_craft_upgrades.csv
  • professions/profession_craft_bonus.csv
  • professions/profession_item_xp_tiers.csv

Base vs Bridge CSVs

Use this rule:

  • Base files (profession_*.csv): vanilla/default mappings.
  • Bridge files (*_bridge.csv): modpack/server-specific overrides and additions.

Bridge files are loaded after base files, so they are the right place for custom mod IDs (NoCube, custom assets, etc.).

ID Matching (for profession source tables)

sourceId supports:

  • exact ID: Food_Kebab
  • exact:<id>
  • prefix:<text>
  • contains:<text>

Pattern rows can include optional priority (higher wins).

Example (profession_items_bridge.csv):

sourceId,professionId,xp,priority

prefix:nocube_food,cooking,10,420 exact:Food_Fishing_Raw,cooking,12,450 contains:fish,fishing,8,300

Quests — Quest Master Setup

The Quest Master is a global NPC used to open the quest board.

Permissions

  • spawn can be used by non-admins only if no Quest Master exists yet.
  • move, respawn, remove, and list require admin permission (ascendrpg.admin).
  • Once a Quest Master already exists, replacing/moving it is admin-only.

Quick spawn (first setup)

  1. Join the world and stand exactly where you want the Quest Master.
  2. Run: /rpg questnpc spawn

This saves the NPC position/world and spawns it immediately.

Management commands

  • /rpg questnpc list — show saved quest NPC placements
  • /rpg questnpc move — move the existing Quest Master to your current position (admin)
  • /rpg questnpc respawn — force respawn from saved placement (admin)
  • /rpg questnpc remove — remove saved + runtime Quest Master (admin)

Notes

  • Only one default global Quest Master is used (main placement).
  • Placement is persistent across restarts/world reloads.
  • If it is missing after changes, run: /rpg questnpc respawn

Backlog Ideas (Community Feedback)

Empty.