Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for TotalCarnage767

Core MMO System for creators and developers , updated frequently

Report RunestoneMMO?

RunestoneCore is configuration-first: every major subsystem ships with sane defaults, uses human-readable YAML, and reports load status at startup. Most configuration changes can be applied live using /runestone reload (recommended) β€” no risky /reload required.

πŸ“ Where configs live

All configuration + persistent data is stored under:

plugins/RunestoneCore/

RunestoneCore generates missing files on first boot and does not overwrite files that already exist.


πŸ—‚οΈ File Map (what each file controls)

plugins/RunestoneCore/

  • config.yml # Core hub config (engine, performance, UI bars, resources, HUD, teleport, scoreboard, messaging, moderation hooks, world/dev settings)
  • economy.yml # Economy + currencies + bank + exchange + taxes + auction house + player shops + treasury + market dashboard
  • combat.yml # Combat XP rewards, combat tuning, scaling, crits, biome/world multipliers, mob/player attribute profiles
  • daily_rewards.yml # Daily rewards system (timezone, cycle, streaks, loot-table mode, combat XP bottle value)
  • attribute-config.yml # Attribute rules, caps, cleanup timing, persistence behavior
  • cooldown-config.yml # Cooldown engine tuning (cleanup, limits, tracking behavior)
  • mob-health-config.yml # Mob health bossbar settings (range, interval, bar behavior, formatting)
  • moderation.yml # Moderation system toggles/messages (mute/chat enforcement, jail, staff tools, punishment messaging)
  • messages.yml # Central message templates / formatting
  • worldrules.yml # Region/world rule enforcement template (PvP, regen, hunger, fire spread, explosions, sleep behavior, etc.)
  • territories.yml # Personal claims + towns/territories tuning
  • items.yml # Item definitions (config-driven RunestoneCore items)
  • rarities.yml # Rarity tiers used by item/drop systems
  • droptables.yml # Drop tables (config-driven loot)
  • playerdata.yml # Per-player persistent core state (YAML backend)
  • plugin.yml # Plugin manifest (commands, aliases, permissions) β€” shipped with the jar, not a normal runtime config

plugins/RunestoneCore/data/

  • cooldowns.yml # Cooldown persistence
  • treasury.yml # Treasury balances persistence
  • auction/listings.yml # Auction listings persistence (generated if auction is used)
  • shops/shops.yml # Player shop persistence (generated if shops are used)

Other runtime/generated paths:

  • plugins/RunestoneCore/logs/economy/ # Economy logs (transactions, taxes, interest, exchange, etc.)
  • plugins/RunestoneCore/backups/ # Timestamped backups
  • plugins/RunestoneCore/runestonecore.db# SQLite database file when SQLite backend is enabled
  • plugins/RunestoneCore/holograms.yml # Generated hologram placement data when the hologram system is used

πŸ”§ config.yml (Core Hub)

This is the main orchestrator config. It wires the engine-level behavior for most core systems.

🧠 Core Engine

  • Prefix + debug logging
  • Storage backend selection: YAML or SQLite
  • Autosave / backup cadence
  • Performance monitoring
  • Data retention / maintenance settings

πŸͺ“ Head Drops

  • Player + mob head drop subsystem
  • Per-mob rates
  • Optional Looting scaling
  • Optional custom texture hooks

πŸ› οΈ Performance Tooling

  • LagControl: junk entity cleanup with safety filters
  • SpawnLimiter: per-chunk and per-player caps
  • AFK system: AFK detection + optional anti-spawn radius

🧾 Messaging

  • Prefix category controls
  • Shared message formatting behavior
  • Server/system message consistency

πŸ–₯️ UI Bars / HUD

  • Unified ActionBar + BossBar hub
  • Channel-based bar handling
  • Priorities / throttling
  • Shared UI system used by resources, info bars, mob health, and announcements

✨ Resources + HUD - in development not 100%

  • Mana + Stamina regen, caps, drain, spend/fail messaging
  • HUD modes: BOSSBAR, ACTIONBAR, or BOTH
  • Per-player HUD state persistence
  • Optional combat resource display integrations

🧭 Teleport Suite + Costs

  • TPA request rules, cooldowns, warmups, toggles
  • Spawn / Back / Home settings
  • Teleport cost hooks tied to resources like mana/stamina

🏷️ Holograms

  • Hologram subsystem tuning
  • Dynamic refresh intervals
  • Player placement limits/costs
  • PlaceholderAPI usage
  • Leaderboard support

🧩 Context Gates

  • Central MMO-rule gating layer
  • Restrict commands/actions by state, world, jail/freeze, maintenance, etc.

⏱️ Cooldowns

  • Global cooldown service behavior
  • Cleanup schedule
  • Limits/debug settings
  • Optional clear-on-logout behavior

❀️ Mob Health

  • Baseline mob health HUD behavior
  • Range/update settings
  • Shared integration with bossbar systems

🧬 Attributes

  • Attribute enable/disable
  • Caps, cleanup, persistence, autosave, debug

πŸ›‘οΈ Moderation Hooks

  • Broadcast formatting
  • Staff chat config
  • Chat control behavior
  • Dev/staff utility world options such as creative_flat
  • World/dev safety toggles like fire spread control

πŸ“‹ Scoreboards

  • Core scoreboard toggle
  • Default board
  • Update interval
  • Animation toggle
  • Temporary board support
  • External scoreboard override behavior
  • Layout definitions live under scoreboards.*

config.yml is intentionally the largest file because it acts as the main RunestoneCore hub.


πŸ’° economy.yml (Economy, Market, Vault)

Everything money-related is consolidated here:

Multi-Currency Economy

  • Currency registry
  • Primary/secondary currency setup
  • Symbols / display / decimals / starting balances

Taxes

  • Pay tax
  • Bank-interest tax
  • Auction tax
  • Shop tax

Exchange

  • Configurable conversion rates
  • Fees
  • Rounding rules

Bank System

  • Interest schedule
  • Balance caps
  • Autosave timing
  • Command toggles like baltop

Vault Integration

  • RunestoneCore as the Vault provider

Auction House

  • Legacy economy.auction.* compatibility keys
  • Top-level auction.* settings
  • Listing fees / expiration / GUI tuning / refresh intervals / cooldowns

Player Shops

  • Limits
  • Taxes
  • Pricing rules
  • GUI titles/settings

Treasury

  • Tax routing to treasury
  • Starting balances by currency

Dynamic Pricing

  • Present but optional / disabled by default

Market Dashboard

  • Refresh scheduling and summary display support

Seasonal Resets

  • Optional economy reset controls for later use

βš”οΈ combat.yml

Combat tuning and combat XP are currently combined into a single file.

Includes:

  • Damage scaling rules
  • Crit settings
  • Minimum damage
  • Combat XP rules
  • Per-entity XP rewards
  • Variant multipliers
  • World/biome multipliers
  • Player scaling curves
  • Player attribute defaults
  • Mob attribute profiles
  • Biome difficulty tuning

In this project snapshot, there is no separate combat-config.yml β€” combat tuning lives in combat.yml.


🎁 daily_rewards.yml

RunestoneCore supports a loot-table-driven daily rewards system.

Includes:

  • Timezone handling
  • Cycle length
  • Consecutive streak logic
  • Reward display metadata
  • Daily loot tables by week
  • Combat XP bottle tuning (xp_per_bottle)

The system is designed to avoid double rewarding when loot-table mode is active.


🧬 Attributes / Cooldowns / Mob Health

These are split into dedicated files for cleaner tuning:

  • attribute-config.yml
  • cooldown-config.yml
  • mob-health-config.yml

This keeps the main config smaller and makes ops/admin tuning easier.


πŸ›‘οΈ moderation.yml

Controls moderation-specific rules and message behavior, including:

  • Chat mute enforcement
  • Jail system behavior/messages
  • Staff/admin moderation flow
  • Punishment-related messaging
  • Chat restrictions and command restrictions for moderated players

🌍 worldrules.yml

Controls world/region gameplay rule enforcement.

Examples:

  • PvP
  • Keep inventory
  • Mob grief
  • Mob spawning
  • Hunger
  • Natural regen
  • Explosions
  • Fire spread

This file ships as a template and is intended to be customized for your world/region layout.


🏰 territories.yml

This file is the single source of truth for land/territory tuning.

Personal Claims

  • Creation mode
  • Confirm/preview flow
  • Limits
  • Economy cost
  • Default protection flags
  • Claim protection messages

Towns / Group Territories

  • Invite timing
  • Creation cost
  • Tier rules
  • Radius / member limits
  • Town treasury behavior
  • Claim spacing / overlap rules

In the current project snapshot, claims + towns have been moved into territories.yml.


πŸ“¦ Content Files

items.yml

  • Config-driven item definitions
  • Item display, lore, enchants, attributes, stats, MMO identity, requirements

rarities.yml

  • Rarity tiers
  • Colors
  • Glow rules
  • Prefixes
  • Lore headers
  • Drop colors

droptables.yml

  • Config-driven loot table definitions
  • Used for future/active drop integrations
  • Ships mostly as a template/example structure in this snapshot

πŸ’Ύ playerdata.yml

This stores per-player persistent core state when using the YAML backend.

Used for systems such as:

  • economy-linked player state
  • resources/HUD state
  • progression-related core values
  • moderation state
  • homes and other player-linked core data

If SQLite is enabled, runtime persistence is moved into the database instead.


πŸ” Reloading (safe workflow)

RunestoneCore supports live reload via:

/runestone reload βœ…

This is the recommended safe workflow for most config changes.

It re-applies configuration across major systems such as:

  • messages
  • UI bars / HUD
  • scoreboard settings
  • resources
  • teleport costs
  • world rules
  • economy schedules/settings
  • cooldown / attribute / mob health configs
  • combat tuning
  • drops/items-related config loads
  • moderation formatting/hooks
  • territory tuning where supported

Avoid Bukkit /reload. Use restart or /runestone reload instead.


πŸ“Œ Notes

  • Some files are default shipped configs
  • Some files are generated at runtime only when their subsystem is used
  • Existing config files are not overwritten on startup
  • Backups include the SQLite database and sidecar files when SQLite mode is enabled
  • plugin.yml is part of the jar manifest and is not typically edited like the runtime config files