Skip to main content

Configuration File

GroupManager uses a config.json file located in mods/HaporeLab_GroupManager/config.json. The configuration is loaded at startup and uses Hytale's CODEC serialization system.

Configuration Options​

KeyTypeDefaultDescription
Versionstring"1"Configuration file version (for migrations)
DebugModebooleanfalseEnable verbose debug logging
Languagestring"en-US"Default server language (en-US, es-PY, pt-BR)
MaxGroupSizeint16Maximum number of members per group
FriendlyFirebooleanfalseWhether group members can damage each other
CanLeaderEnablePvpbooleanfalseAllow group leaders to toggle PvP between members from the group settings UI
EnableTPbooleanfalseEnable teleport-to-member feature in the Group UI
TpDelayint5Teleport countdown in seconds. Set to 0 for instant teleport
ShowHudWhenAlonebooleanfalseShow the group HUD when the player is the only member in the group
DefaultHudPositionobject{"X": 0, "Y": 0}Default HUD position offset for new players. X moves horizontally and Y moves vertically (range: ±2000)
EndlessLevelingobject(see below)Settings for the EndlessLeveling integration

Example Configuration​

{
"Version": "6",
"DebugMode": false,
"Language": "en-US",
"MaxGroupSize": 16,
"FriendlyFire": false,
"CanLeaderEnablePvp": false,
"EnableTP": false,
"TpDelay": 5,
"ShowHudWhenAlone": false,
"DefaultHudPosition": {
"X": 0,
"Y": 0
},
"EndlessLeveling": {
"ShareExpEnabled": true,
"ShareExpPercent": 80.0,
"ShareExpRange": 30.0,
"PassiveBuffsEnabled": true,
"PassiveBuffRange": 30.0,
"DefenseReductionPerMember": 5.0,
"MaxDefenseReduction": 20.0
}
}

DefaultHudPosition​

This nested object defines the default HUD position offset applied to new players who don't have saved preferences yet. Existing players keep their own saved positions.

  • X — Horizontal offset (positive = right, negative = left)
  • Y — Vertical offset (positive = down, negative = up)
  • Range: -2000 to 2000

When a player uses the Reset button in /group hud, their position resets to these configured defaults.


EndlessLeveling​

This nested object controls the EndlessLeveling integration. It is only active when EndlessLeveling is installed — omitting it uses the defaults below.

XP Sharing​

KeyTypeDefaultDescription
ShareExpEnabledbooleantrueEnable or disable XP sharing between nearby group members
ShareExpPercentdouble80.0Percentage of earned XP placed into the shared pool (0–100)
ShareExpRangedouble30.0Maximum distance in blocks for a member to receive shared XP

When ShareExpEnabled is true and at least one other group member is within ShareExpRange blocks, ShareExpPercent % of the XP earned is split equally among all members in range (including the recipient). If nobody is in range the recipient keeps 100 % of the XP.

Passive Buffs​

KeyTypeDefaultDescription
PassiveBuffsEnabledbooleantrueEnable or disable the passive damage reduction buff
PassiveBuffRangedouble30.0Radius in blocks to count nearby group allies
DefenseReductionPerMemberdouble5.0Damage reduction % added per nearby ally
MaxDefenseReductiondouble20.0Maximum total damage reduction % regardless of ally count

For every group member within PassiveBuffRange blocks of the victim (excluding the victim themselves), DefenseReductionPerMember % is subtracted from incoming damage, up to MaxDefenseReduction %. The buff is applied on every damage event — no permanent status effect is stored.

Reloading Configuration​

Admins with the groupmanager.admin.reload permission can reload the configuration at runtime using:

/group reload

This reloads both the configuration file and all translation files without restarting the server.

Debug Mode​

When DebugMode is enabled, GroupManager logs detailed information about:

  • Group creation/dissolution events
  • Invitation lifecycle (sent, accepted, declined, expired)
  • HUD updates
  • API calls from external plugins
  • Persistence operations (save/load)

This is useful for diagnosing issues during development or server setup.