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
| Key | Type | Default | Description |
|---|---|---|---|
Version | string | "1" | Configuration file version (for migrations) |
DebugMode | boolean | false | Enable verbose debug logging |
Language | string | "en-US" | Default server language (en-US, es-PY, pt-BR) |
MaxGroupSize | int | 16 | Maximum number of members per group |
FriendlyFire | boolean | false | Whether group members can damage each other |
CanLeaderEnablePvp | boolean | false | Allow group leaders to toggle PvP between members from the group settings UI |
EnableTP | boolean | false | Enable teleport-to-member feature in the Group UI |
TpDelay | int | 5 | Teleport countdown in seconds. Set to 0 for instant teleport |
ShowHudWhenAlone | boolean | false | Show the group HUD when the player is the only member in the group |
DefaultHudPosition | object | {"X": 0, "Y": 0} | Default HUD position offset for new players. X moves horizontally and Y moves vertically (range: ±2000) |
EndlessLeveling | object | (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
| Key | Type | Default | Description |
|---|---|---|---|
ShareExpEnabled | boolean | true | Enable or disable XP sharing between nearby group members |
ShareExpPercent | double | 80.0 | Percentage of earned XP placed into the shared pool (0–100) |
ShareExpRange | double | 30.0 | Maximum 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
| Key | Type | Default | Description |
|---|---|---|---|
PassiveBuffsEnabled | boolean | true | Enable or disable the passive damage reduction buff |
PassiveBuffRange | double | 30.0 | Radius in blocks to count nearby group allies |
DefenseReductionPerMember | double | 5.0 | Damage reduction % added per nearby ally |
MaxDefenseReduction | double | 20.0 | Maximum 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.