Releases: HyperSystemsDev/HyperFactions
HyperFactions v0.8.1
[0.8.1] - 2026-02-17
Server Version: 2026.02.17-255364b8e
Fixed
- Map GUI crash: Fixed
NoSuchMethodErroronPacketHandler.write(Packet[])— changed toToClientPacket[]for server compatibility - World map generator: Fixed generator not being set on live worlds added after startup
- Server version warning: Manifest now specifies target server version (prevents PluginManager "does not specify a target server version" warning)
Added
- Centralized player resolution (
PlayerResolver): Unified player name lookup used across all commands and GUIs — resolves online players, then faction member records, then PlayerDB API as fallback - Offline player support: Treasury transfer search,
/f who,/f power, and admin commands now resolve offline players via faction member records and PlayerDB - Search debounce: Treasury transfer search waits 500ms after last keystroke before searching to avoid spamming PlayerDB API
- PlayerDB integration: New
PlayerDBServiceutility for looking up any Hytale player by username (5-minute TTL cache, min 3-char query for API calls) - Debug logging: Added diagnostic logging to player connection, online player search, world map setup, and world map generation
Changed
- Target-aware build: Compile against release or prerelease server JAR via
-PhytaleTargetGradle flag
HyperFactions v0.8.0
Closes: #30, #31, #32, #34, #36
Added
Help Center Redesign
- Guide-first help GUI: Complete rewrite of the help system from command-dump format to conceptual guides with commands woven in contextually
- Wide sidebar layout (750x650): Colored category sidebar with 7 topic categories, scrollable card-based content area replacing the old flat list
- 7 help categories: Welcome (cyan), Your Faction (green), Power & Land (gold), Diplomacy (blue), Combat & Safety (red), Economy (orange), Quick Reference (gray) — each with unique accent color on sidebar
- 22 guide-first topics: Organized into conceptual guides that teach game mechanics with commands referenced in context, rather than raw command lists
- Typed content entries: New
HelpEntryrecord with 5 entry types (TEXT, COMMAND, TIP, HEADING, SPACER) replacing fragile string-based line type detection - i18n foundation (
HelpMessages.java): All help content uses message key lookups (HelpMessages.get("help.welcome.title")) — hardcoded English now, locale file loading in the future - Deep-linking support:
/f <command> helpopens directly to the relevant category (e.g.,/f claim helpopens Power & Land) - Card-based topic rendering: Dark background cards with teal titles, body text, yellow command callouts, green tips, and teal sub-headings
- All 43 commands verified: Quick Reference section verified against actual command implementations with correct syntax and permission requirements
- Deleted 8 obsolete UI templates, added 5 new templates (topic card, line text, line tip, line heading, spacer)
Faction Treasury & Economy System (#36)
- Treasury page (
/f treasury): Full GUI with balance display, deposit/withdraw buttons, transfer system, transaction log, and treasury settings — accessible from the faction nav bar - Deposit/Withdraw modals: Amount input with live preview, fee calculation display, and balance validation via VaultUnlocked player wallets
- Transfer system: Search factions by name, confirm transfer with fee preview, complete inter-faction treasury transfers
- Treasury settings page: Officers can configure deposit/withdraw limits, toggle auto-pay upkeep, and view fee rates
- Transaction log: Scrollable history of all treasury activity (deposits, withdrawals, transfers, admin adjustments) with timestamps and actor names
- Economy CLI commands:
/f balance,/f deposit <amount>,/f withdraw <amount>,/f moneyfor quick treasury access without GUI - Admin economy page (
/f admin economy): Server economy overview with total balance, faction count, average balance stats, and sortable/searchable faction treasury list with per-row Adjust and Info buttons - Admin economy adjust modal: Set exact balance or add/deduct amounts with live preview, faction info card, and error display
- Admin economy CLI (
/f admin economy <balance|set|add|take|total|reset> ...): Full console-compatible treasury management - Economy stats on admin dashboard: Total economy, wealthiest faction, and average balance cards (conditionally visible when economy enabled)
- Economy stats on faction dashboard: Treasury balance, next upkeep, and personal wallet cards (conditionally visible)
- Treasury info on admin faction info page: Balance display in stats grid, "Adjust Balance" and "View Treasury" quick action buttons in Economy Management section
- Treasury balance on faction info page: Gold-colored treasury card visible to all players when economy is enabled
- Economy configuration (
economy.json): Starting balance, treasury limits (deposit/withdraw min/max/daily), transfer fees, upkeep settings, fee rates - VaultUnlocked integration: Player wallet operations (balance check, deposit, withdraw) via VaultUnlocked economy API
- Faction permissions for economy:
DEPOSIT,WITHDRAW,TRANSFER,MANAGE_TREASURYpermission flags per role hyperfactions.admin.economypermission node for admin economy operationsECONOMYdebug category withLogger.debugEconomy()— togglable via/f admin debug toggle economyanddebug.jsonconfigUiUtilshared utility class for CustomUI text sanitization and amount parsing
Player Info & Membership History (#32)
- Player info page (
/f who [player]): Full GUI page with faction membership, power stats, combat stats (kills/deaths/KDR), and membership history - Membership history tracking: Records all faction joins, leaves, kicks, and disbands with timestamps, highest role achieved, and leave reason
- Player data expansion: New
PlayerDatamodel withfirstJoined,lastOnline, kills, deaths, username caching, and membership history — backwards-compatible with existing player JSON files - "View Profile" button on members page to navigate to player info
/f admin clearhistory <player>command to clear a player's membership history- Upgrade migration: Existing faction members automatically get an active membership record on first startup, using their actual faction join date and current role
- First joined / last online tracking displayed on the player info page header
maxMembershipHistoryconfig option (default: 10) to cap history records per player
Admin Power Management (#34)
- Admin power command (
/f admin power): Full admin control over player power — set, adjust, reset, per-player max override, power loss bypass, claim decay exemption - Admin Player Info page: GUI page accessible from admin member list with power controls, bypass toggles, and kick/promote/demote actions
- Faction bulk power operations: Reset All / +/-1/5 All buttons on AdminFactionInfoPage
ADMIN_POWERlog type for faction activity logshyperfactions.admin.powerpermission node
Terrain Map Mode (#30)
- Terrain map mode for territory GUI: Territory map now renders actual terrain imagery behind claim overlays using
ChunkWorldMap, making it much easier to orient yourself and identify terrain features when claiming (rivers, biomes, elevation) - Dynamic terrain image asset delivery via
ChunkMapAsset— generates a composite PNG from chunk world map data and sends it to the player's client at runtime - Static placeholder
Map.pngsent immediately on page open, with terrain loading asynchronously in the background - Semi-transparent claim color overlays on top of terrain: own (green), ally (blue), enemy (red), other (gold), safe zone (teal), war zone (purple), wilderness (transparent)
- Clickable cells for claim/unclaim actions in terrain mode (officers only)
- Centered "+" player marker via dedicated
chunk_map_marker.uitemplate - Compact 2-row legend showing all territory types and player marker
terrainMapEnabledconfig toggle in GUI section (default:true) — set tofalseto revert to the flat colored grid
Admin GUI Improvements
- Admin players page (
/f admin players): New admin page for browsing all known server players with search, sort (Name/Faction/Power/Last Online), expandable entries with power stats, faction membership, and quick actions (View Profile, View Faction, Teleport) - Admin search on all list pages: Added search bars to admin factions, admin faction members, and admin zones pages matching the faction browser search pattern
- Admin zone sort dropdown: Zones can now be sorted by Name, Type, Chunks, or World (previously name-only)
- Admin faction members overhaul: Upgraded from read-only list to full admin tool with search, sort dropdown (Role/Online/Name/Power), pagination (8 per page), and 700x500 container matching the admin factions page layout
getAllPlayerUuids()storage method for admin player list enumeration
Relations Redesign
- Relations page redesign: Merged three tabs (Allies/Enemies/Pending) into two tabs (Relations/Pending) with collapsible row entries showing faction name, leader, relation badge, member count, power stats, and inline quick actions (View, Set Neutral, Set Enemy, Request Ally, Accept, Decline, Cancel)
Faction-Aware Map & Compass Visibility (#31)
- Player visibility filtering on world map and compass: Only faction members and allies are visible by default — enemies, neutrals, and factionless players are hidden from the map and compass
- Configurable per-relation visibility:
showOwnFaction,showAllies,showNeutrals,showEnemies,showFactionlessPlayers,showFactionlessToFactionlessinworldmap.jsonunderplayerVisibility - Master toggle (
playerVisibility.enabled) to disable filtering entirely (vanilla behavior: all players visible) hyperfactions.bypass.mapfilterpermission — player can see all others on map regardless of faction filterhyperfactions.bypass.mapvisibilitypermission — player is always visible to everyone on the map- Filters update automatically on faction join/leave/kick/disband and relation changes
Fixed
- Zone power loss flag ignored on death —
PlayerDeathSystempassed already-converted chunk coordinates togetZoneAt()(which expects world coordinates), causing a double conversion that looked up the wrong chunk. Zone flags likepower_loss=falsewere never applied. Changed togetZone()which accepts chunk coordinates directly. - Zone flags reset on server restart: WarZone migration code ran on every startup and unc...
HyperFactions v0.7.4
Added
power_losszone flag: Controls whether players lose faction power on death in a zone (default:falsefor both SafeZone and WarZone — no power loss in admin zones)- Config migration v4→v5: Removes deprecated
warzonePowerLossconfig option (replaced by per-zonepower_lossflag) - Zone settings GUI now shows Power Loss toggle in the Death category
- HytaleNative permission provider: Automatic compatibility with any permission plugin that registers with Hytale's native PermissionsModule (LuckPerms, PermissionsPlus, etc.)
- LuckPerms permission discovery: All 53 HyperFactions permission nodes register with LuckPerms' PermissionRegistry on boot for web editor autocomplete
- Lazy initialization for permission providers: LuckPerms and VaultUnlocked providers now retry initialization on first use if they failed at startup
- Integration detail commands:
/f admin integration luckperms,vaultunlocked, andnativenow provide detailed status - Console support for admin commands: All admin commands that don't require player context now work from the server console
- LuckPerms and VaultUnlocked declared as SoftDependencies in manifest.json
Fixed
- Fluid protection via interaction codecs: Liquid placement and fluid pickup now blocked in protected zones and faction territory via
PlaceFluidandRefillContainercodec replacements (no mixin dependency) - WarZone denial message: Zone-denied actions in WarZones now show "You cannot do that in a WarZone." instead of the generic fallback
- LuckPerms prefix/suffix not showing in chat: Lazy init ensures the LuckPerms provider retries on first chat message when LuckPerms is loaded
- VaultUnlocked provider using wrong class paths: Corrected class paths, method names, and Optional unwrapping
- Admin commands crashing on world thread assertion: Restructured to dispatch player commands back to world thread
- WiFlow PlaceholderAPI NoClassDefFoundError: Wrapped in try-catch for NoClassDefFoundError
- PermissionRegistrar silent failure: Changed to private field access for LuckPerms plugin field
- World-specific permissions not working with HyperPerms: HyperPermsProviderAdapter now calls context-aware hasPermission with auto-resolved player contexts
Full Changelog: https://github.com/HyperSystemsDev/HyperFactions/blob/main/CHANGELOG.md
HyperFactions v0.7.3
Fixed
- Startup crash when GravestonePlugin is outdated:
GravestoneIntegration.init()threwNoSuchMethodErrorwhen an older Gravestones version was installed without the v2 API (getInstance()). Now catchesLinkageError(covers both missing plugin and missing methods) so HyperFactions starts cleanly regardless of Gravestones version.
HyperFactions v0.7.2
[0.7.2] - 2026-02-11
Added
Integration Flags GUI Sub-Page
- New Admin Zone Integration Flags page for configuring integration-specific zone flags
- Accessible via "Integration Flags" button in Zone Settings footer
- Shows
gravestone_accessflag with clear description - Dedicated Reset to Defaults button (only clears integration flags)
- Integration flags disabled with "(no plugin)" indicator when not installed
Expanded Admin Integrations Command
/f admin integrationsnow shows all 7 integrations organized by category/f admin integration <name>detail views for all integrations
Fixed
- GUI crash on promotion: Players with the faction GUI open would crash when another player promoted/demoted a member, due to stale ActivePageTracker entries
- World map empty after teleport: Batch refresh was using nuclear wipe instead of surgical chunk invalidation
- Placeholders not resolving for factionless players: Both PAPI and WiFlow expansions returned null instead of empty defaults
- Set Relation search interrupting typing: Modal reopened on every keystroke instead of using partial updates
GravestonePlugin Integration
Note: The gravestone integration requires a new release of GravestonePlugin that includes the v2 API with AccessChecker and events. This is pending review in zurkubusiness/gravestones#2. Until that PR is merged and released, the integration will detect the plugin but the AccessChecker will not be registered.
- Reflection-based soft dependency on Zurku's GravestonePlugin for faction-aware gravestone protection
- Faction-aware access control for gravestone break and collection events
- Admin bypass and
hyperfactions.gravestone.bypasspermission support - Death location announcements for faction members
- New
/f admin gravestonecommand andconfig/gravestones.jsonmodule config
Changed
- Zone flag
gravestone_accessdisplay name changed to "Others Loot Graves" for clarity - Placeholder expansions (PAPI + WiFlow) now return empty strings/defaults for factionless players instead of null
HyperFactions v0.7.1
What's New in 0.7.0 → 0.7.1
Added
Faction & Alliance Chat Overhaul (0.7.1)
- Persistent chat history with per-faction JSON storage and debounced disk writes
- Chat history GUI page with Faction/Ally tabs, scrollable message list, and send-from-GUI input
- Toggle-only chat command:
/f ccycles modes,/f c f,/f c a,/f c off - Configurable colors and prefixes per channel in
config/chat.json - Ally tab merges all allied faction messages into a chronological timeline
- Automatic retention cleanup and real-time GUI push for new messages
Dashboard Chat Mode Button (0.7.1)
- Unified chat toggle replacing separate F-Chat/A-Chat buttons
- Cycles Public → Faction → Ally with color-coded labels
Server-Wide Faction Announcements (0.7.0)
- Broadcasts for faction creation, disbands, leadership transfers, overclaims, wars, and alliances
- Per-event toggles in
announcements.json
Create Faction Page Redesign (0.7.0)
- Single two-column wizard with preview, color picker, and permission defaults
Permission-Based GUI Filtering (0.7.0)
- Nav bar, dashboard buttons, and action buttons auto-hide when the player lacks permission
Real-Time GUI Updates (0.7.0)
- All GUI pages refresh automatically when data changes (claims, members, relations, invites)
PlaceholderAPI & WiFlow Integration (0.7.0 + 0.7.1)
- 30+ placeholders for scoreboards, holograms, and menus
- Refactored for cleaner resolution and consistent null handling
Other Additions
- GUI map player position now shows "+" marker instead of solid white cell
- Configurable
allowWithoutPermissionModfor servers without a permission plugin - Backup retention with automatic cleanup
- Admin faction list quick-action buttons (Members, Settings)
Changed
- Chat command no longer supports one-shot
/f c <message>(use toggle mode) - War zone color changed from red to purple on GUI maps
- Non-faction players now see the correct new player nav bar
- Admin faction settings unified with normal settings layout
- GUI button styles migrated to custom
$S.@ButtonStyle, ALL CAPS → Title Case
Fixed
- Shadow JAR clobbering in multi-project builds
- Overclaim/teleport messages now use configured prefix
- Faction member events properly published for promote/demote
- Non-faction nav bar routing
Full Changelog: https://github.com/HyperSystemsDev/HyperFactions/blob/main/CHANGELOG.md
HyperFactions v0.7.0
Closes Issues
- #7 — Announcement system for major faction events
- #16 — Add data import from ElbaphFactions
- #18 — Integrate with Better Scoreboard for faction placeholders
- #22 — Hide GUI buttons when player lacks permission
- #23 — Add Placeholders for scoreboards, holograms, and menus
Added
Server-Wide Faction Announcements
- New
announcements.jsonmodule config with master toggle and per-event toggles - Broadcasts to all online players for: faction created/disbanded, leadership transfer, overclaim, war declared, alliance formed/broken
- Admin actions and auto-disbands do not trigger announcements
Create Faction Page Redesign
- Single two-column page with preview card, name/tag/description inputs, color picker, territory permission toggles, and PvP toggle
Permission-Based GUI Filtering
- Nav bar entries and action buttons respect server permissions
Real-Time GUI Updates
- GUI pages refresh automatically when data changes (members, relations, claims, invites)
PlaceholderAPI Integration
- Soft dependency on PlaceholderAPI and WiFlow PlaceholderAPI for scoreboards and chat
ElbaphFactions Data Importer
- Import factions, claims, and zones from ElbaphFactions
Configuration
allowWithoutPermissionModboolean for servers without a permission mod- Configurable faction permissions with lock/override support (config v3→v4 migration)
- Configurable backup retention, combat tag duration, power gain/loss
GUI Map Improvements
- Player position shows white "+" marker overlaid on chunk color
Changed
- Admin faction settings layout unified with boxed sections
- GUI Native UI Audit: custom button styles, Title Case text, cleaned up styles.ui
- War zone color changed from red to purple on all GUI maps
- Non-faction players now see the new player nav bar on shared pages
Fixed
- Overclaim notification and teleport messages use configured prefix instead of hardcoded "HyperFactions"
- Faction member events properly published for promote/demote
- Non-faction players seeing wrong nav bar
Full Changelog: https://github.com/HyperSystemsDev/HyperFactions/blob/main/CHANGELOG.md
HyperFactions v0.6.2
Delete Faction Home
- New
/f delhomecommand to delete faction home location - New
hyperfactions.teleport.delhomepermission node - DELETE button in faction settings GUI (General tab, Home Location section)
- Button automatically disabled when no home is set (same for TELEPORT button)
World Map Configuration
New options in config/worldmap.json:
showFactionTags- Hide faction tags on the in-game world map while keeping faction color overlays visible (closes #6)refreshMode- Control when world map tiles are regenerated:proximity(default) - Only refreshes for players within range of claim changes. Best for most servers.incremental- Refreshes specific chunks for all players. Good balance of performance and consistency.debounced- Full map refresh after a quiet period (5s default). Use if incremental causes issues.immediate- Full map refresh on every claim change. Original behavior, not recommended for busy servers.manual- No automatic refresh. Use/f admin map refreshto update manually.
- Configurable batch intervals and chunk limits per mode
- Auto-fallback option if reflection errors occur
Configuration
- Configurable message prefix via
messagePrefixin config.json (default: "[HyperFactions]") - Migration backups now use ZIP format for better compression and organization
Removed
- Removed dead code:
FactionSettingsPage.java,FactionSettingsData.java,faction_settings.ui(replaced by tabbed settings system)
Full Changelog: https://github.com/HyperSystemsDev/HyperFactions/blob/main/CHANGELOG.md
HyperFactions v0.6.1
What's New
Update System Enhancements
- Pre-update data backup: Automatically creates a full backup of configs and data before downloading updates
- Old JAR cleanup: Removes old
.jar.backupfiles during updates, keeping only the version being upgraded from for rollback - New
/f admin rollbackcommand to revert to previous version before server restart - Rollback safety detection: Blocks automatic rollback after server restart (when migrations may have run)
Bug Fixes
Zone Protection
- Factions can no longer claim SafeZone or WarZone chunks (security fix)
Permission System
- Fixed wildcard permission expansion:
hyperfactions.teleport.*now properly grantshome,sethome,stuck - Fixed root wildcard:
hyperfactions.*now grants all faction permissions hyperfactions.useno longer grants all user-level actions (now only grants/fcommand and GUI access)- Fixed documentation:
fallbackBehaviordefault is"deny", not"allow"
Changes
- ClaimManager now receives ZoneManager reference for zone protection checks
- PermissionManager checks category wildcards before falling back to defaults
Full Changelog: https://github.com/HyperSystemsDev/HyperFactions/blob/main/CHANGELOG.md
HyperFactions v0.6.0
Breaking Changes
New Optional Dependencies for Full Protection
HyperFactions now integrates with OrbisGuard-Mixins for enhanced protection coverage. While HyperFactions works without these, some zone protections require the mixin system:
- Hyxin - Mixin loader (enables protection hooks)
- OrbisGuard-Mixins - F-key pickup, keep inventory, invincible items
Installation for Hyxin + OrbisGuard-Mixins:
- Create an
earlyplugins/folder in your server directory - Place Hyxin and OrbisGuard-Mixins JARs in
earlyplugins/(NOT mods/) - Add
--accept-early-pluginsto your server start script
Additional Recommended Dependencies:
- HyperPerms - Permission-based limits
- VaultUnlocked - Chat, economy compatibility
Added
- OrbisGuard-Mixins Integration - F-key pickup, keep inventory, invincible items protection
- New Zone Flags -
item_pickup_manual,invincible_items,keep_inventory,npc_spawning - Zone Type Change - Convert SafeZones to WarZones and vice versa
- Redesigned Create Zone Wizard - 5 claiming methods, radius presets, live preview
- Mob Spawn Suppression - Native integration with Hytale's SpawnSuppressionController
- Overclaim Alerts - Real-time notifications when territory is overclaimed
Changed
- WarZone color changed to red for better visual distinction
- SafeZone defaults: auto pickup ON, F-key pickup OFF, keep inventory ON
- Zone flag categories reorganized for better UI organization
Full Changelog: https://github.com/HyperSystemsDev/HyperFactions/blob/main/CHANGELOG.md