Configuration Reference
Complete reference for all HyperFactions configuration options.
Configuration Reference
This page provides a complete reference for all HyperFactions configuration options. For a guide-style walkthrough, see Configuration.
For Server Owners
This reference documents all available configuration options. Most servers can use the defaults - only customize what you need.
Configuration File Location
mods/com.hyperfactions_HyperFactions/config.json
Reload Required
Changes require /f admin reload or a server restart to take effect.
Configuration Sections
The config is organized into 13 sections:
| Section | Options | Purpose |
|---|---|---|
faction | 5 | Faction naming and member limits |
power | 7 | Power system mechanics |
claims | 7 | Territory claiming rules |
combat | 10 | Combat and spawn protection |
relations | 2 | Ally and enemy limits |
invites | 2 | Invitation expiration |
stuck | 2 | Stuck command timing |
teleport | 4 | Home teleport settings |
updates | 3 | Update checking |
autoSave | 2 | Auto-save settings |
messages | 4 | Message formatting |
gui | 2 | GUI settings |
territoryNotifications | 1 | Enter/exit notifications |
permissions | 2 | Permission behavior |
faction
Settings for faction names and member limits.
| Key | Type | Default | Range | Description |
|---|---|---|---|---|
maxMembers | int | 50 | ≥1 | Maximum members per faction |
maxMembershipHistory | int | 10 | 1-100 | Number of past faction memberships to track per player |
maxNameLength | int | 24 | 1-64 | Maximum faction name length |
minNameLength | int | 3 | 1-max | Minimum faction name length |
allowColors | bool | true | - | Allow color codes in faction names |
Name Validation
Faction names must be between minNameLength and maxNameLength characters. If allowColors is true, color codes don't count toward the length.
power
Power system settings that govern territory capacity and warfare.
| Key | Type | Default | Range | Description |
|---|---|---|---|---|
maxPlayerPower | double | 20.0 | ≥0 | Maximum power per player |
startingPower | double | 10.0 | 0-max | Initial power for new players |
powerPerClaim | double | 2.0 | ≥0 | Power required per claim |
deathPenalty | double | 1.0 | ≥0 | Power lost on death |
regenPerMinute | double | 0.1 | ≥0 | Power regenerated per minute |
killReward | double | 0.0 | ≥0 | Power gained on player kill |
regenWhenOffline | bool | false | - | Regenerate power while offline |
Power Calculations
Regeneration rate examples:
regenPerMinute | Per Hour | Full Recovery (0→20) |
|---|---|---|
| 0.05 | 3 power | ~6.7 hours |
| 0.1 (default) | 6 power | ~3.3 hours |
| 0.2 | 12 power | ~1.7 hours |
Max claims formula:
maxClaims = min(floor(totalFactionPower / powerPerClaim), claims.maxClaims)
claims
Territory claiming rules and restrictions.
| Key | Type | Default | Range | Description |
|---|---|---|---|---|
maxClaims | int | 100 | ≥0 | Hard cap on claims per faction |
onlyAdjacent | bool | false | - | Require claims to be adjacent |
decayEnabled | bool | true | - | Enable inactive claim decay |
decayDaysInactive | int | 30 | ≥1 | Days before decay starts |
worldWhitelist | array | [] | - | Only allow claims in these worlds |
preventDisconnect | bool | false | - | Prevent disconnect while in enemy territory |
worldBlacklist | array | [] | - | Block claims in these worlds |
World Filtering
World filtering follows these rules:
- If
worldWhitelistis not empty, only listed worlds allow claims - If
worldWhitelistis empty butworldBlacklistis not, all worlds except listed ones allow claims - If both are empty, all worlds allow claims
{
"claims": {
"worldWhitelist": ["default", "dungeon_realm"],
"worldBlacklist": []
}
}
combat
Combat settings including PvP rules and spawn protection.
| Key | Type | Default | Range | Description |
|---|---|---|---|---|
tagDurationSeconds | int | 15 | ≥0 | Combat tag duration in seconds |
allyDamage | bool | false | - | Allow damage to allies |
factionDamage | bool | false | - | Allow damage to faction members |
taggedLogoutPenalty | bool | true | - | Penalize logout while combat tagged |
logoutPowerLoss | double | 1.0 | ≥0 | Power lost on combat logout |
neutralAttackPenalty | double | 0.0 | ≥0 | Power penalty for attacking neutral players |
Spawn Protection (nested)
| Key | Type | Default | Range | Description |
|---|---|---|---|---|
spawnProtection.enabled | bool | true | - | Enable spawn protection |
spawnProtection.durationSeconds | int | 5 | ≥0 | Protection duration |
spawnProtection.breakOnAttack | bool | true | - | Remove protection on attack |
spawnProtection.breakOnMove | bool | true | - | Remove protection on movement |
Combat Tagging
When a player is combat tagged, they cannot teleport or use /f stuck. If they log out while tagged and taggedLogoutPenalty is true, they lose logoutPowerLoss power.
relations
Diplomatic relationship limits.
| Key | Type | Default | Range | Description |
|---|---|---|---|---|
maxAllies | int | 10 | ≥-1 | Maximum ally factions (-1 = unlimited) |
maxEnemies | int | -1 | ≥-1 | Maximum enemy factions (-1 = unlimited) |
Balancing Alliances
Limiting allies encourages faction conflict and prevents server-wide alliance networks. A value of 3-5 allies creates interesting diplomacy.
invites
Invitation and join request expiration.
| Key | Type | Default | Range | Description |
|---|---|---|---|---|
inviteExpirationMinutes | int | 5 | ≥1 | Minutes before invite expires |
joinRequestExpirationHours | int | 24 | ≥1 | Hours before join request expires |
stuck
Stuck command settings for escaping enemy territory.
| Key | Type | Default | Range | Description |
|---|---|---|---|---|
warmupSeconds | int | 30 | ≥0 | Warmup before teleport |
cooldownSeconds | int | 300 | ≥0 | Cooldown between uses |
Stuck Command
The /f stuck command teleports players to the nearest safe (unclaimed) chunk. The long warmup prevents combat exploitation.
teleport
Faction home teleportation settings.
| Key | Type | Default | Range | Description |
|---|---|---|---|---|
warmupSeconds | int | 5 | ≥0 | Warmup before teleport |
cooldownSeconds | int | 300 | ≥0 | Cooldown between uses (5 minutes) |
cancelOnMove | bool | true | - | Cancel warmup on movement |
cancelOnDamage | bool | true | - | Cancel warmup on taking damage |
updates
Automatic update checking.
| Key | Type | Default | Description |
|---|---|---|---|
enabled | bool | true | Enable update checks |
url | string | GitHub API | Update check URL |
releaseChannel | string | "stable" | Release channel ("stable" or "prerelease") |
autoSave
Automatic data saving.
| Key | Type | Default | Range | Description |
|---|---|---|---|---|
enabled | bool | true | - | Enable auto-save |
intervalMinutes | int | 5 | ≥1 | Minutes between saves |
messages
Message formatting.
| Key | Type | Default | Description |
|---|---|---|---|
prefixText | string | "HyperFactions" | Text displayed in message prefix |
prefixColor | hex | #55FFFF | Color of the prefix text |
prefixBracketColor | hex | #AAAAAA | Color of the prefix brackets |
primaryColor | hex | #00FFFF | Primary accent color |
gui
GUI settings.
| Key | Type | Default | Description |
|---|---|---|---|
title | string | "HyperFactions" | Main GUI title |
terrainMapEnabled | bool | true | Enable terrain imagery on chunk map |
territoryNotifications
Territory enter/exit notifications.
| Key | Type | Default | Description |
|---|---|---|---|
enabled | bool | true | Show notifications when entering/leaving territory |
permissions
Permission system behavior.
| Key | Type | Default | Description |
|---|---|---|---|
adminRequiresOp | bool | true | Admin commands require OP if no permission system |
allowWithoutPermissionMod | bool | false | Allow commands without a permission plugin installed |
Permission Behavior
When HyperPerms is not installed:
allowWithoutPermissionMod = false(default): Players cannot use commands without a permission pluginallowWithoutPermissionMod = true: All players can use basic commands (not recommended)adminRequiresOp = true: Admin commands always require OP when no permission system is present
Default Configuration
This is the complete default configuration file:
{
"configVersion": 4,
"faction": {
"maxMembers": 50,
"maxMembershipHistory": 10,
"maxNameLength": 24,
"minNameLength": 3,
"allowColors": true
},
"power": {
"maxPlayerPower": 20.0,
"startingPower": 10.0,
"powerPerClaim": 2.0,
"deathPenalty": 1.0,
"killReward": 0.0,
"regenPerMinute": 0.1,
"regenWhenOffline": false
},
"claims": {
"maxClaims": 100,
"onlyAdjacent": false,
"decayEnabled": true,
"decayDaysInactive": 30,
"preventDisconnect": false,
"worldWhitelist": [],
"worldBlacklist": []
},
"combat": {
"tagDurationSeconds": 15,
"allyDamage": false,
"factionDamage": false,
"taggedLogoutPenalty": true,
"logoutPowerLoss": 1.0,
"neutralAttackPenalty": 0.0,
"spawnProtection": {
"enabled": true,
"durationSeconds": 5,
"breakOnAttack": true,
"breakOnMove": true
}
},
"relations": {
"maxAllies": 10,
"maxEnemies": -1
},
"invites": {
"inviteExpirationMinutes": 5,
"joinRequestExpirationHours": 24
},
"stuck": {
"warmupSeconds": 30,
"cooldownSeconds": 300
},
"teleport": {
"warmupSeconds": 5,
"cooldownSeconds": 300,
"cancelOnMove": true,
"cancelOnDamage": true
},
"updates": {
"enabled": true,
"url": "https://api.github.com/repos/ZenithDevHQ/HyperFactions/releases/latest",
"releaseChannel": "stable"
},
"autoSave": {
"enabled": true,
"intervalMinutes": 5
},
"messages": {
"prefixText": "HyperFactions",
"prefixColor": "#55FFFF",
"prefixBracketColor": "#AAAAAA",
"primaryColor": "#00FFFF"
},
"gui": {
"title": "HyperFactions",
"terrainMapEnabled": true
},
"territoryNotifications": {
"enabled": true
},
"permissions": {
"adminRequiresOp": true,
"allowWithoutPermissionMod": false
}
}
Configuration Profiles
PvP-Focused Server
High-stakes combat with meaningful consequences:
{
"power": {
"maxPlayerPower": 15,
"startingPower": 10,
"deathPenalty": 2.0,
"regenPerMinute": 0.15,
"powerPerClaim": 1.5
},
"combat": {
"tagDurationSeconds": 20,
"taggedLogoutPenalty": true,
"logoutPowerLoss": 2.0
},
"relations": {
"maxAllies": 3,
"maxEnemies": -1
}
}
Casual/Building Server
Relaxed settings for creative communities:
{
"power": {
"maxPlayerPower": 50,
"startingPower": 25,
"deathPenalty": 0,
"regenPerMinute": 0.05,
"powerPerClaim": 5
},
"combat": {
"tagDurationSeconds": 0,
"factionDamage": false,
"allyDamage": false
},
"relations": {
"maxAllies": -1,
"maxEnemies": 0
}
}
Roleplay Server
Balanced settings encouraging diplomacy:
{
"power": {
"maxPlayerPower": 30,
"startingPower": 15,
"deathPenalty": 0.5,
"regenPerMinute": 0.1,
"powerPerClaim": 3
},
"relations": {
"maxAllies": 5,
"maxEnemies": 5
},
"claims": {
"onlyAdjacent": true,
"decayDaysInactive": 14
}
}
Module Configuration Files
In addition to the main config.json, HyperFactions uses module configuration files stored in the config/ subdirectory. Each module can be enabled/disabled independently.
mods/com.hyperfactions_HyperFactions/
├── config.json ← Main configuration (documented above)
└── config/
├── announcements.json ← Announcement system settings
├── backup.json ← Backup system settings
├── chat.json ← Chat formatting and relation colors
├── debug.json ← Debug logging options
├── economy.json ← Economy integration
├── faction-permissions.json ← Default territory permissions
├── gravestones.json ← Gravestone integration settings
└── worldmap.json ← World map settings
| Config File | Description |
|---|---|
| Announcements | Server-wide faction event broadcasts |
| Backup | Automatic backup with GFS rotation |
| Chat | Chat formatting, relation colors, faction chat, history |
| Debug | Debug logging by category |
| Economy | Treasury, fees, upkeep (requires VaultUnlocked) |
| Faction Permissions | Default territory permissions and server locks |
| Gravestones | Gravestone protection by territory and relation |
| World Map | Map display, player visibility, refresh modes |
Related Topics
- Configuration Guide - Walkthrough and examples
- Power System - Power mechanics explained
- Permissions - Permission nodes
- Admin Commands - Reload command