File Details
Orbis_and_Dungeons-2026.1.20-81168.jar
- R
- Jan 20, 2026
- 15.41 KB
- 319
- Early Access
File Name
Orbis_and_Dungeons-2026.1.20-81608.jar
Supported Versions
- Early Access
Orbis and Dungeons - Version 2026.1.20 Release Notes
๐ What's New
This release focuses on fixing critical multiplayer issues and improving overall stability and user experience.
๐ Critical Fixes
Fixed: Race Selection Prompt on Every Server Reconnection
Issue: On dedicated servers, the race selection UI appeared every time a player reconnected, even after already choosing a race.
Root Cause: The mod was using an in-memory Set<PlayerRef> to track players who had selected races. In dedicated server environments, PlayerRef instances are recreated on each connection, causing the system to "forget" that the player had already chosen.
Solution Implemented: The mod now checks if race stat modifiers are already applied to the player instead of relying on memory-based tracking.
Please note for older worlds: if you are already wearing armor at login, the class selection screen will not appear, or if you are using a different stat mod that changes your stats from the start.
Technical Details
Old Method (Memory-Based):
// Problem: PlayerRef changes on reconnect in dedicated servers
private static final Set<PlayerRef> playersWithRace = new HashSet<>();
// This fails when player reconnects
if (playersWithRace.contains(playerRef)) {
return; // Never worked reliably
}
New Method (Stat-Based Persistence):
public static boolean hasRaceApplied(Player player) {
EntityStatMap stats = EntityStatsModule.get(player);
// Check if Health or Stamina differ from base values
var healthStat = stats.get("Health");
var staminaStat = stats.get("Stamina");
// Base values: Health=100, Stamina=10
if (healthStat != null && healthStat.getMax() != 100f) {
return true; // Orc or Human race applied
}
if (staminaStat != null && staminaStat.getMax() != 10f) {
return true; // Elf or Human race applied
}
return false;
}
Why This Works
Persistence: Stat modifiers are saved with player data by Hytale's system. They persist:
- โ Between player reconnections
- โ Between server restarts
- โ Across dimension changes
- โ Through all game sessions
Detection Logic:
- Elf: Stamina max = 25 (base 10 + 15 bonus)
- Orc: Health max = 175 (base 100 + 75 bonus)
- Human: Both stats modified (Health 135, Stamina 15)
If either stat differs from base (100 HP or 10 Stamina), a race has been selected.
โ ๏ธ Important Notes - Temporary Solution
This is a provisional detection method. It works by comparing current stat values against known base values.
Limitations:
- Assumption-based: Assumes base stats are always 100 HP / 10 Stamina
- Fragile: If another mod modifies these stats, detection may fail
- No direct tracking: Doesn't store which specific race was chosen, only that something was applied
Future Improvements Planned:
- Implement proper persistent data storage (NBT tags or similar)
- Store race choice explicitly in player data
- Add race metadata for better tracking
- Support for stat modifications from other mods
Current Status: โ Works reliably for vanilla game and single-mod environments
๐ง Other Improvements
Removed Spellbook Dependency
The mod no longer requires Spellbook as a dependency. It now uses only native Hytale APIs, making it:
- โ Lighter weight
- โ Easier to install
- โ More compatible with other mods
- โ Fewer potential conflicts
Full English Localization
All UI text has been translated to English for broader accessibility:
- Title: "Select Your Race"
- Button labels: "ELF", "ORC", "HUMAN"
- Section headers: "STRENGTHS", "WEAKNESSES"
- Confirm button: "Confirm Selection"
๐ Race Balance (Unchanged)
Races remain balanced as in previous version:
| Race | Health | Stamina | Playstyle |
|---|---|---|---|
| Elf | 100 (base) | 25 (+15) | High mobility, agile combat |
| Orc | 175 (+75) | 10 (base) | Tank, frontline warrior |
| Human | 135 (+35) | 15 (+5) | Balanced, all-rounder |
๐ Testing Recommendations
For server administrators and mod testers:
Test Cases
- First-time selection: Verify UI appears on first world join
- Reconnection: Disconnect and reconnect - UI should NOT reappear
- Server restart: Restart server, rejoin - UI should NOT reappear
- Dimension travel: Travel through portals - UI should NOT reappear
- Stat persistence: Verify race bonuses remain after reconnect
Known Working Scenarios
- โ Single player
- โ Local multiplayer
- โ Dedicated servers
- โ Server restarts
- โ Player reconnections
Debug Verification
To verify race is applied, check in-game:
- Elf: Press F3 or check stats - should show 25 Stamina
- Orc: Should show 175 Health
- Human: Should show 135 Health, 15 Stamina
๐ Bug Reports
If you encounter issues:
- Verify you're using the latest version (2026.1.20+)
- Check if race selection reappears after reconnection
- Verify stats are correctly applied (use F3/debug mode)
- Report with server type (dedicated/local), Hytale version, and any other mods installed
๐ Technical Notes for Developers
Race Detection Implementation
The race detection system in RaceManager.hasRaceApplied() is designed to be lightweight and compatible with Hytale's save system.
How it works:
Player connects โ Check stats โ Compare to base values โ Decision
โ
โโ Base (100/10) โ Show UI
โโ Modified โ Skip UI
Reliability Factors:
- Uses deprecated but functional
EntityStatsModule.get() - Exception-safe with try-catch fallback
- Returns
falseon any error (safe default = show UI)
Future Migration Path: When Hytale provides stable persistent player data APIs, this system should be migrated to:
- Store race choice in player NBT/persistent data
- Read choice directly instead of inferring from stats
- Support arbitrary stat modifications from any source
๐ฎ Compatibility Matrix
| Component | Status | Notes |
|---|---|---|
| Hytale Server | โ Compatible | Tested on latest |
| Dedicated Servers | โ Fixed | Main focus of this release |
| Custom Armor Mods | โ Compatible | Only modifies MAX stats |
| Other Stat Mods | โ ๏ธ Caution | May interfere with detection |
| Dimension Mods | โ Compatible | No conflicts |
๐ฅ Installation
- Download
Orbis_and_Dungeons-2026.1.20-*.jar - Remove old version if upgrading
- Place in
UserData/mods/ - Restart Hytale/Server
- Existing players: Stats persist automatically
- New players: Will see race selection on first join
๐ฌ Support
- Report issues on the mod page
- Provide logs when reporting bugs
- Join community Discord for help
Enjoy your adventures! Choose your race wisely - it's permanent! โ๏ธ๐นโ๏ธ

