Skip to main content

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:

SectionOptionsPurpose
faction5Faction naming and member limits
power7Power system mechanics
claims7Territory claiming rules
combat10Combat and spawn protection
relations2Ally and enemy limits
invites2Invitation expiration
stuck2Stuck command timing
teleport4Home teleport settings
updates3Update checking
autoSave2Auto-save settings
messages4Message formatting
gui2GUI settings
territoryNotifications1Enter/exit notifications
permissions2Permission behavior

faction

Settings for faction names and member limits.

KeyTypeDefaultRangeDescription
maxMembersint50≥1Maximum members per faction
maxMembershipHistoryint101-100Number of past faction memberships to track per player
maxNameLengthint241-64Maximum faction name length
minNameLengthint31-maxMinimum faction name length
allowColorsbooltrue-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.

KeyTypeDefaultRangeDescription
maxPlayerPowerdouble20.0≥0Maximum power per player
startingPowerdouble10.00-maxInitial power for new players
powerPerClaimdouble2.0≥0Power required per claim
deathPenaltydouble1.0≥0Power lost on death
regenPerMinutedouble0.1≥0Power regenerated per minute
killRewarddouble0.0≥0Power gained on player kill
regenWhenOfflineboolfalse-Regenerate power while offline

Power Calculations

Regeneration rate examples:

regenPerMinutePer HourFull Recovery (0→20)
0.053 power~6.7 hours
0.1 (default)6 power~3.3 hours
0.212 power~1.7 hours

Max claims formula:

maxClaims = min(floor(totalFactionPower / powerPerClaim), claims.maxClaims)

claims

Territory claiming rules and restrictions.

KeyTypeDefaultRangeDescription
maxClaimsint100≥0Hard cap on claims per faction
onlyAdjacentboolfalse-Require claims to be adjacent
decayEnabledbooltrue-Enable inactive claim decay
decayDaysInactiveint30≥1Days before decay starts
worldWhitelistarray[]-Only allow claims in these worlds
preventDisconnectboolfalse-Prevent disconnect while in enemy territory
worldBlacklistarray[]-Block claims in these worlds

World Filtering

World filtering follows these rules:

  1. If worldWhitelist is not empty, only listed worlds allow claims
  2. If worldWhitelist is empty but worldBlacklist is not, all worlds except listed ones allow claims
  3. If both are empty, all worlds allow claims
{
  "claims": {
    "worldWhitelist": ["default", "dungeon_realm"],
    "worldBlacklist": []
  }
}

combat

Combat settings including PvP rules and spawn protection.

KeyTypeDefaultRangeDescription
tagDurationSecondsint15≥0Combat tag duration in seconds
allyDamageboolfalse-Allow damage to allies
factionDamageboolfalse-Allow damage to faction members
taggedLogoutPenaltybooltrue-Penalize logout while combat tagged
logoutPowerLossdouble1.0≥0Power lost on combat logout
neutralAttackPenaltydouble0.0≥0Power penalty for attacking neutral players

Spawn Protection (nested)

KeyTypeDefaultRangeDescription
spawnProtection.enabledbooltrue-Enable spawn protection
spawnProtection.durationSecondsint5≥0Protection duration
spawnProtection.breakOnAttackbooltrue-Remove protection on attack
spawnProtection.breakOnMovebooltrue-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.

KeyTypeDefaultRangeDescription
maxAlliesint10≥-1Maximum ally factions (-1 = unlimited)
maxEnemiesint-1≥-1Maximum 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.

KeyTypeDefaultRangeDescription
inviteExpirationMinutesint5≥1Minutes before invite expires
joinRequestExpirationHoursint24≥1Hours before join request expires

stuck

Stuck command settings for escaping enemy territory.

KeyTypeDefaultRangeDescription
warmupSecondsint30≥0Warmup before teleport
cooldownSecondsint300≥0Cooldown 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.

KeyTypeDefaultRangeDescription
warmupSecondsint5≥0Warmup before teleport
cooldownSecondsint300≥0Cooldown between uses (5 minutes)
cancelOnMovebooltrue-Cancel warmup on movement
cancelOnDamagebooltrue-Cancel warmup on taking damage

updates

Automatic update checking.

KeyTypeDefaultDescription
enabledbooltrueEnable update checks
urlstringGitHub APIUpdate check URL
releaseChannelstring"stable"Release channel ("stable" or "prerelease")

autoSave

Automatic data saving.

KeyTypeDefaultRangeDescription
enabledbooltrue-Enable auto-save
intervalMinutesint5≥1Minutes between saves

messages

Message formatting.

KeyTypeDefaultDescription
prefixTextstring"HyperFactions"Text displayed in message prefix
prefixColorhex#55FFFFColor of the prefix text
prefixBracketColorhex#AAAAAAColor of the prefix brackets
primaryColorhex#00FFFFPrimary accent color

gui

GUI settings.

KeyTypeDefaultDescription
titlestring"HyperFactions"Main GUI title
terrainMapEnabledbooltrueEnable terrain imagery on chunk map

territoryNotifications

Territory enter/exit notifications.

KeyTypeDefaultDescription
enabledbooltrueShow notifications when entering/leaving territory

permissions

Permission system behavior.

KeyTypeDefaultDescription
adminRequiresOpbooltrueAdmin commands require OP if no permission system
allowWithoutPermissionModboolfalseAllow commands without a permission plugin installed

Permission Behavior

When HyperPerms is not installed:

  • allowWithoutPermissionMod = false (default): Players cannot use commands without a permission plugin
  • allowWithoutPermissionMod = 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 FileDescription
AnnouncementsServer-wide faction event broadcasts
BackupAutomatic backup with GFS rotation
ChatChat formatting, relation colors, faction chat, history
DebugDebug logging by category
EconomyTreasury, fees, upkeep (requires VaultUnlocked)
Faction PermissionsDefault territory permissions and server locks
GravestonesGravestone protection by territory and relation
World MapMap display, player visibility, refresh modes