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.