General Server Config

From DragonMineZ Wiki
Revision as of 01:12, 22 October 2026 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

general-server.json controls the server-wide and world-wide behavior of DragonMineZ: progression and Training Points, world generation, the story, racial skills, world bosses, player data storage and more. It matters for dedicated servers, LAN worlds and singleplayer saves alike, whenever you want tighter control over how a world plays.

The file lives at config/dragonminez/general-server.json. The server sends it to every client that joins (and again after /dmzreload config), so clients always use the server's values. This page explains every setting in the file, what each value does, and the ranges DMZ enforces when it reads them.

Combat lives in its own file Stamina, blocking and parrying, damage mitigation, combat flight and ki weapon tuning are not part of this file. They live in config/dragonminez/combat.json, documented on Combat Config.

Comments in the file

See also: How to JSON

The file DMZ generates is plain JSON without comments. DMZ's parser tolerates // comments and ignores keys that start with _, $ or //, but every time DMZ rewrites the file (a version upgrade, /dmzconfig, the in-game config editor) those comments and notes are removed. Keep your notes outside the file.

File overview

The file is split into these top-level sections:

Section Purpose
configVersion Version stamp used for config upgrades. Do not hand-edit it.
worldGen Structures, Dragon Ball generation, the Otherworld toggle and structure distances.
gameplay Progression, TP gain and cost, story and side-quest toggles, the Otherworld revive, food recovery, relic items, fusion, parties, difficulty multipliers and capsules.
racialSkills Enables and tunes each race's racial skill (one sub-object per race).
dynamicGrowth Practice-based stat growth, documented on Dynamic Growth.
gravity Gravity per dimension, gravity training and the Gravity Device, documented on Gravity Config.
mutant The Mutant lottery and its rage meter.
falseSuperSaiyan The hidden False Super Saiyan form for Saiyans.
kiTransfer Ki Transfer between players: rate, bonus, penalty, ranges and timings.
superSaiyanGodRitual The Super Saiyan God Ritual: participants, circle, timings, power, duration and cooldowns.
worldBoss World boss contribution, knockouts, revives and rewards.
crafting What Dr. Kikono's Station copies from the template item.
storage The player data storage backend (NBT, JSON or database).
developer The in-chat JSON problem report.
hair Limits for the hair editor.

Config version

See also: How to JSON
Key Default What it does
configVersion A semantic version string, for example "2.2.0" Do not change it. DMZ compares it with the mod's config version to decide whether the file must be upgraded.

World generation

The worldGen block controls DMZ structures, Dragon Balls and the Otherworld.

Key Default What it does
generateCustomStructures true Enables DMZ structures in world generation.
generateDragonBalls true Enables Dragon Ball generation and re-scattering after a wish.
otherworldActive true Keeps the Otherworld gameplay systems active. If false, the Otherworld isn't used and vanilla respawn applies instead.
dbSpawnRange 1000 Spawn radius of the built-in Earth and Namek Dragon Balls around world spawn. Clamped to 100–6000.
dragonBallSets 1 How many copies of each built-in Earth and Namek Dragon Ball are scattered (1–10; 0 counts as 1).
structureMinDistanceFromSpawn 500 Minimum distance DMZ structures spawn from the world origin (always at least 16 blocks below the maximum).
structureMaxDistanceFromSpawn 10000 Maximum distance DMZ structures spawn from the world origin (enforced minimum of 3000).
structureMinDistanceBetween 500 Minimum distance kept between individual DMZ structures.
structureSpacing 6000 Spacing in blocks (minimum 256) for structure sets that use the dragonminez:wide_random_spread placement type. None of DMZ's built-in structures use it; it is there for datapacks.
structureSeparation 2000 Minimum separation in blocks for the same placement type (always below the spacing).

Gameplay

The gameplay block is the largest section of the file: progression, TP, the story, the Otherworld, food, relics, fusion, parties and difficulty tuning.

Core progression

Key Default What it does
forceCharacterCreation true Forces new players through character creation on their first login.
commandOutputOnConsole true Also logs DMZ command output to the server console.
maxLevelValueInsteadOfStats true true: maxValue is the level cap, and stat points can be spread freely as long as the total stays under maxValue × 6. false: each individual stat is also capped at maxValue.
maxValue 1000000 The cap read together with maxLevelValueInsteadOfStats (minimum 1000). The total of all six stats can never exceed maxValue × 6, and the player level runs from 1 to maxValue across that range.
vitCurveKnee 16000.0 VIT value at which health per VIT point reaches the class VIT_scaling_max. Below it, the per-point scaling rises quadratically from the class minimum; above it, it stays at the maximum.
defCurveKnee 20000.0 The same curve for DEF (DEF_scaling_max), used for flat damage mitigation.
levelFormRequisiteEnabled true Enforces the minimum player level a form can require.
sagaFormRequisiteEnabled true Enforces the saga quest a form can require before it unlocks. Ignored when storyModeEnabled is false.
multiplicationInsteadOfAdditionForMultipliers false false: form, stack form and effect multipliers stack additively (easier to balance). true: they multiply each other (weaker at low values, synergy-heavy at high progression).
ultimateFormFixedValue false false: the Ultimate stack form adds its bonus on top of the best base form the player owns. true: Ultimate only uses the multiplier written in its own form file.

TP gain

Key Default What it does
tpGainMultiplier 1.0 Global TP multiplier (the GLOBAL boost below).
increaseTPGainRelativeToTPCost 0.75 Extra TP gain that grows as stat costs rise: 1 + value × √(current stat cost / stat cost at progressionReferenceLevel), capped at 1 + value. 0 disables it. Applies to every TP source except training minigames (TRAINING). Not applied when manual TP purchases are disabled in Dynamic Growth.
progressionReferenceLevel 10000 Player level whose stat cost gives the full increaseTPGainRelativeToTPCost bonus (minimum 2, never above maxValue).
attributeRewardPointRatio 0.5 Share of an Attributes reward (quests, Power Boost wishes, world bosses) given as Attribute Points, rounded down; the rest is given as the TP those stat points cost the player at that moment. Clamped to 0–1.
tpHealthRatio 0.25 TP earned from a kill, scaled by the target's max health.
tpPerHit 2 Flat TP per successful hit.
passiveTpGain 1 Flat TP gained passively over time.
tpPer20BlocksTraveled 1 TP gained per 20 blocks traveled.
tpPerBlockMined 1 TP gained per block mined.
tpPerItemCrafted 1 TP gained per item crafted.
gravityBonusEnabled true Enables the gravity TP bonus (see Gravity Config).
HTCTpMultiplier 1.75 TP multiplier inside the Hyperbolic Time Chamber (minimum 1.0).
otherworldDeadTpMultiplier 2.0 TP multiplier for dead players inside the Otherworld (minimum 1.0).
storyResetTPMultiplier 0.5 Story quest TP rewards after a story reset wish: run 1 gives 100%, run 2 gives 50%, run 3 gives 25%, and so on. Clamped to 0–1; 1.0 disables the decay.
kamiBlessTpMultiplier 1.2 TP multiplier while under Kami's Blessing (minimum 1.0). Counts as a POTION boost.
kamiBlessDurationSeconds 300 Duration of Kami's Blessing, which Dende gives to players with good alignment.
kamiBlessCooldownSeconds 1800 Cooldown before Dende can bless the same player again.

TP cost formula

The TP cost of the next stat point is calculated like this:

TotalStats = STR + SKP + RES + VIT + PWR + ENE
StatCap    = maxValue × 6
Knee       = StatCap × 0.05
Multiplier = globalTPCostMultiplier × race tpCost multiplier

Variable   = TotalStats × 1.25                                                    (TotalStats ≤ Knee)
           = Knee × 1.25 + (Knee × 1.25 / 0.7) × ((TotalStats / Knee)^0.7 − 1)   (above the knee)
BaseCost   = minTPCost + Variable
Discount   = maxTPDiscount − TotalStats      (only while TotalStats < maxTPDiscount)

FinalCost  = max(minTPCost, BaseCost × Multiplier − Discount)

If dynamicGrowth.attributeTpCostMultiplier is above 1.0, the final cost is multiplied by it (rounded up). When dynamicGrowth.manualTpPurchasesEnabled is false, stats can't be bought with TP at all. Stat points earned through Dynamic Growth are left out of TotalStats unless dynamicGrowth.growthStatsCountForTpCost is true.

Key Default What it does
globalTPCostMultiplier 1.0 Global multiplier on stat TP costs (minimum 0.01).
minTPCost 16 Base and minimum TP cost of one stat point.
maxTPDiscount 140 Early-game TP discount threshold; the discount fades out as total stats rise.

TP gain boosts

tpGainBoosts controls which multiplier sources apply to each TP-gain source. Its keys are TP sources (STORY, PASSIVE, TRAVEL, MINED, CRAFTED, KILL, HIT, TRAINING); its values are lists of boosts. DMZ writes them in upper case; lower-case names are accepted too.

Boost Multiplier it applies
CLASS The player class TP multiplier.
RACIALSKILL The Frost Demon racial TP boost (racialSkills.frostdemon.tpBoost).
HTC HTCTpMultiplier inside the Hyperbolic Time Chamber.
OTHERWORLD otherworldDeadTpMultiplier for dead players in the Otherworld.
GRAVITY The gravity training bonus (only if gravityBonusEnabled).
WEIGHTS The weighted equipment bonus.
GLOBAL tpGainMultiplier.
POTION TP effects, including Kami's Blessing.
MUTANT mutant.tpGainMultiplier for Mutant players.
DIFFICULTY The Easy or Hard TP multiplier of the player's story difficulty.

The generated default gives every source every boost except DIFFICULTY, which only applies to STORY (quest rewards):

"tpGainBoosts": {
  "STORY":    ["CLASS", "RACIALSKILL", "HTC", "OTHERWORLD", "GRAVITY", "WEIGHTS", "GLOBAL", "POTION", "MUTANT", "DIFFICULTY"],
  "PASSIVE":  ["CLASS", "RACIALSKILL", "HTC", "OTHERWORLD", "GRAVITY", "WEIGHTS", "GLOBAL", "POTION", "MUTANT"],
  "TRAVEL":   ["CLASS", "RACIALSKILL", "HTC", "OTHERWORLD", "GRAVITY", "WEIGHTS", "GLOBAL", "POTION", "MUTANT"],
  "MINED":    ["CLASS", "RACIALSKILL", "HTC", "OTHERWORLD", "GRAVITY", "WEIGHTS", "GLOBAL", "POTION", "MUTANT"],
  "CRAFTED":  ["CLASS", "RACIALSKILL", "HTC", "OTHERWORLD", "GRAVITY", "WEIGHTS", "GLOBAL", "POTION", "MUTANT"],
  "KILL":     ["CLASS", "RACIALSKILL", "HTC", "OTHERWORLD", "GRAVITY", "WEIGHTS", "GLOBAL", "POTION", "MUTANT"],
  "HIT":      ["CLASS", "RACIALSKILL", "HTC", "OTHERWORLD", "GRAVITY", "WEIGHTS", "GLOBAL", "POTION", "MUTANT"],
  "TRAINING": ["CLASS", "RACIALSKILL", "HTC", "OTHERWORLD", "GRAVITY", "WEIGHTS", "GLOBAL", "POTION", "MUTANT"]
}

Boosts stack additively: 1 + Σ(boost − 1), plus the increaseTPGainRelativeToTPCost bonus, which applies to every source except TRAINING. Each TP gain is boosted once.

STORY covers TP that doesn't come from one of the other sources: TPS quest rewards, raid and tournament rewards, TP wishes and similar lump sums. The TP half of an ATTRIBUTES reward or wish is computed from the player's stat cost and is never boosted.

Remove a boost from a source's list to stop that multiplier from applying to it (for example, remove GRAVITY from MINED if you don't want mining TP boosted by gravity training). A source that is present with an empty list ("MINED": []) gets no boosts at all; a source missing from the map uses its default list.

Story and side quests

Key Default What it does
storyModeEnabled true Master toggle for sagas.
createDefaultSagas true Generates DMZ's default sagas and saga quests in the world save if they're missing (needs storyModeEnabled).
sideQuestsEnabled true Master toggle for side quests.
createDefaultSideQuests true Generates DMZ's default side quests if they're missing.
autoUpdateQuests true Upgrades DMZ's default quest, saga and side-quest files in the world save when a new DMZ version changes them, keeping your edits. false: default files are only written when they are missing.
defaultQuestPartyMultiplier 1.45 Party-size difficulty multiplier for quest objectives (clamped to 1.0–5.0).

Otherworld and Baba's revive

With the Otherworld active, a dead player is sent to the Otherworld. Fortuneteller Baba can send them back to the living world for a limited time (a temporary revive); King Yemma teleports them back when they are alive or temporarily revived.

Key Default What it does
reviveCooldownSeconds 180 Time after death before Baba can revive the player.
babaTemporaryRevive true true: Baba grants a timed return; the player keeps the halo and walks the living world until the timer runs out. false: Baba fully revives the player.
babaTempReturnSeconds 3600 Length of a temporary return (minimum 1). The timer pauses in the Otherworld and while knocked out, and each new temporary return drains faster (up to 5×). Lethal hits during a temporary return knock the player out and cut the timer instead of killing them.
babaTimeMultiplierPerWorld See below A map of dimension id to number: how fast the temporary-return timer drains in each dimension. Active forms also drain it faster.
defaultBabaTimeMultiplier 1.0 Drain speed for dimensions not listed in babaTimeMultiplierPerWorld.
babaHardcoreEnabled false If true, each death makes the next revive cooldown longer.
babaHardcoreCooldownGrowth 0.5 With hardcore on, the cooldown is reviveCooldownSeconds × (1 + growth × (deaths − 1)).

Default babaTimeMultiplierPerWorld:

"babaTimeMultiplierPerWorld": {
  "minecraft:overworld": 1.0,
  "minecraft:the_nether": 2.0,
  "minecraft:the_end": 3.0,
  "dragonminez:namek": 1.0,
  "dragonminez:time_chamber": 5.0,
  "dragonminez:sacredkaiplanet": 1.0
}

Senzu Beans

See also: Senzu Bean
Key Default What it does
senzuCooldownTicks 240 Cooldown between Senzu Bean uses (also used by the Medi-Bug ant).
senzuGiftCooldownTicks 18000 Cooldown for the periodic Senzu "gift".
senzuGiftAmount 5 How many Senzu Beans are gifted per cycle.

Food restoration

With the food block, any food item's normal hunger and saturation restoration also restores a proportional slice of health, ki and stamina. Default value:

"food": {
  "minHungerPoints": 2,
  "maxHungerPoints": 20,
  "minSaturationPoints": 0.4,
  "maxSaturationPoints": 2.0,
  "healthPercentageRecoveredPerHungerPoint": 0.01,
  "kiPercentageRecoveredPerHungerPoint": 0.01,
  "staminaPercentageRecoveredPerHungerPoint": 0.02,
  "healthPercentageRecoveredPerSaturationPoint": 0.001,
  "kiPercentageRecoveredPerSaturationPoint": 0.001,
  "staminaPercentageRecoveredPerSaturationPoint": 0.004,
  "blacklistedNamespaces": [],
  "blacklistedItems": []
}
Key Default What it does
minHungerPoints / maxHungerPoints 2 / 20 Food that restores fewer hunger points than the minimum gives no hunger-based recovery; anything above the maximum counts as the maximum.
minSaturationPoints / maxSaturationPoints 0.4 / 2.0 The same rule for the food's saturation modifier.
healthPercentageRecoveredPerHungerPoint 0.01 Fraction of max health restored per hunger point.
kiPercentageRecoveredPerHungerPoint 0.01 Fraction of max ki restored per hunger point.
staminaPercentageRecoveredPerHungerPoint 0.02 Fraction of max stamina restored per hunger point.
healthPercentageRecoveredPerSaturationPoint 0.001 Fraction of max health restored per saturation point.
kiPercentageRecoveredPerSaturationPoint 0.001 Fraction of max ki restored per saturation point.
staminaPercentageRecoveredPerSaturationPoint 0.004 Fraction of max stamina restored per saturation point.
blacklistedNamespaces [] List of mod namespaces (for example "farmersdelight") whose food is excluded from this recovery.
blacklistedItems [] List of specific item ids (for example "minecraft:golden_apple") excluded from this recovery.

Relic items

See also: Items, Effects

These keys tune the Might Fruit, the Majin power effect, Sacred Water and the Demon Eye.

Key Default What it does
mightFruitPower 1.2 Might Fruit effect multiplier.
majinPower 1.3 Majin power-effect multiplier.
sacredWaterMultiplier 1.1 Permanent all-stats multiplier from drinking Sacred Water (once per character). Clamped to 1.0–100.0.
demonEyeMultiplier 1.5 All-stats multiplier while wearing the Demon Eye. Clamped to 1.0–100.0.
demonEyeKiDrainPercent 0.02 Fraction of max ki drained per second while the Demon Eye is worn.
demonEyeHealthDrainPercent 0.02 Fraction of max health drained per second once ki runs out (never below 1 health).
demonEyeAlignmentLossIntervalSeconds 10 Every this many seconds the wearer loses 1 alignment. 0 disables it.
demonEyeMaxGrowth 0.5 How much the wearer grows in size (0.5 means up to 50% bigger).
demonEyeGrowthSeconds 300 Time to reach the full size while wearing it.
demonEyeBackHitsToRemove 3 Melee hits from behind that knock the Demon Eye off. 0 disables it.
demonEyeBackHitWindowSeconds 10 Time window in which those hits must land.

Fusion

Main article: Fusions
Key Default What it does
metamoruFusionThreshold 0.5 Stat threshold used by Metamoru fusion eligibility.
fusionBoosts ["STR", "SKP", "PWR"] List of the stats boosted by fusion.
fusionDurationSeconds 900 Fusion duration.
fusionCooldownSeconds 1800 Cooldown before fusing again.

Capsules

See also: Capsules

Stat capsule items grant stat points to the stat or stats configured in the capsules block:

"capsules": {
  "statSeparator": ", ",
  "values": {
    "<CAPSULE_TYPE>": { "stats": "STR, PWR", "points": 5 }
  }
}
Key Default What it does
statSeparator ", " Separator used when a capsule lists several stats.
values One entry per capsule type A map of capsule type to { stats, points }: which stat or stats each capsule type boosts, and how many points it grants (default 5).

Party

See also: Commands
Key Default What it does
partyMaxMembers -1 Maximum party size (-1 means unlimited).
partyMaxLevelGap 500 Maximum level difference allowed between party members (-1 means unlimited).
partyTpShareRatio 0.5 Fraction of TP shared with party members (clamped to 0–10). Members only receive it in the same dimension and within the earner's Instant Transmission range.
enemyHealthPerPartyPlayer 1.25 Enemy health multiplier per additional party member.
enemyDamagePerPartyPlayer 1.1 Enemy damage multiplier per additional party member.
partyMarkerRange 2000 Maximum distance (in blocks, same dimension) at which party members' on-screen markers are shown.

Teleportation

See also: Skills
Key Default What it does
instantTransmissionPlayerRangePerLevel 200 Instant Transmission range (in blocks) granted per Instant Transmission skill level. Also limits party TP sharing.

Difficulty multipliers

See also: Sagas
Key Default What it does
easyModeHPMultiplier 0.75 Enemy health multiplier on Easy.
easyModeDamageMultiplier 0.5 Enemy damage multiplier on Easy.
easyModeTPMultiplier 1.25 TP gain multiplier on Easy (the DIFFICULTY boost).
easyModeQuestRewardMultiplier 1.0 Quest reward multiplier on Easy.
hardModeHPMultiplier 2.0 Enemy health multiplier on Hard. World bosses always use it (times 4).
hardModeDamageMultiplier 1.5 Enemy damage multiplier on Hard. World bosses always use it.
hardModeTPMultiplier 1.25 TP gain multiplier on Hard.
hardModeQuestRewardMultiplier 1.25 Quest reward multiplier on Hard.

Normal difficulty always uses 1.0. These multipliers apply to the story difficulty each player chooses, and to the enemies spawned for that player's quests.

Cosmetics

Key Default What it does
helmetsThatKeepHair ["dragonminez:invencible_armor_helmet", "dragonminez:invencible_blue_armor_helmet", "dragonminez:broly_z_armor_helmet"] List of helmet item ids that don't hide the player's hair when worn.
pixelTattooPaintingEnabled true Allows custom painted tattoos. false hides the custom tattoo option in character customization, stops painted tattoos from being drawn and keeps players from uploading new ones; the shipped tattoos still work.

Racial skills

Main article: Racial Skills

The racialSkills block enables and tunes each race's racial skill. Each race has its own sub-object. Files from older versions that still use the old flat keys (saiyanZenkaiAmount, majinAbsoprtionSkill, …) are converted to this layout automatically when the file is upgraded.

Key Default What it does
enableRacialSkills true Global on/off switch for every racial skill.

Ratios in the tables below are fractions (0.25 means 25%).

Human

See also: Human, Android

Sub-object human. It also holds the Absorption Barrier of Androids (Humans upgraded by Dr. Gero).

Key Default What it does
enabled true Enables the Human racial skill.
techniqueXpBonus 0.35 Fast Learner: techniques gain this much more experience.
adrenalineThreshold 0.25 Adrenaline triggers when health drops to this fraction or below (it re-arms once health is back above it).
adrenalineSeconds 15 Adrenaline duration.
adrenalineDamageReduction 0.30 Damage reduction during Adrenaline.
adrenalineAttackSpeed 0.25 Attack speed bonus during Adrenaline.
adrenalineMoveSpeed 0.25 Movement speed bonus during Adrenaline.
adrenalineCooldownSeconds 180 Adrenaline cooldown.
androidBarrierEnabled true Enables the Absorption Barrier for Androids.
androidBarrierMaxSeconds 10 Maximum time the barrier can be held.
androidBarrierCooldownSeconds 30 Cooldown after releasing the barrier.
androidBarrierBrokenCooldownSeconds 180 Cooldown after the barrier shatters.
androidBarrierKiConversion 0.50 Fraction of an absorbed ki blast's damage restored as ki.
androidBarrierSurgeOverflow 0.50 Overflowing max ki by this fraction triggers a Ki Surge.
androidBarrierBreakOverflow 0.75 Overflowing max ki beyond this fraction shatters the barrier; the excess backfires as damage.
androidBarrierSize 2.6 Barrier size.
androidKiRegenMultiplier 2.0 Ki regeneration multiplier for Androids.

Saiyan: Zenkai

See also: Saiyan

Sub-object saiyan.

Key Default What it does
enabled true Enables Zenkai.
minLevel 100 Minimum player level for Zenkai to trigger.
cooldownSeconds 900 Zenkai cooldown.
knockoutSeconds 10 Time the Saiyan stays down (invulnerable) after a Zenkai.
knockoutHealthRegen 0.40 Health recovered over the knockout.
knockoutStaminaRegen 0.80 Stamina recovered over the knockout.
knockoutEnergyRegen 0.80 Ki recovered over the knockout.
overkillThreshold 1.0 A lethal blow that dealt more than this fraction of max health doesn't trigger Zenkai.
peakWindowSeconds 10 Window in which the hardest hit taken is remembered for the boost size.
maxBuffHitRatio 0.25 Hits of at least this fraction of max health give the full boost.
minBuffPct / maxBuffPct 0.01 / 0.10 Stat boost range, scaled by the hardest hit.
permanentMaxBuffs 3 How many full-strength boosts are permanent. Any other boost is temporary.
tempBuffMinSeconds / tempBuffMaxSeconds 120 / 240 Duration range of a temporary boost.
releaseBonusPerZenkai 0.05 Limitless Power: each full-strength Zenkai raises the Power Release limit by this much.
releaseBonusCap 0.15 Maximum total Power Release bonus.
buffStats ["STR", "SKP", "PWR"] Stats boosted by Zenkai.

Namekian

See also: Namekian

Sub-object namekian.

Key Default What it does
enabled true Enables Assimilation and Regeneration.
assimilationAmount 4 Maximum number of assimilations. The latest one is lost on death.
assimilationCooldownSeconds 600 Assimilation cooldown.
assimilationHealthRegen 0.35 Health healed when assimilating.
assimilationStatBoost 0.075 Fraction of the Namekian's own stats permanently gained per assimilation.
assimilationBoosts ["STR", "SKP", "PWR"] Stats boosted by assimilation.
assimilationOnNamekNpcs true Also allows assimilating Namekian warriors, traders and Piccolo (otherwise only Namekian players).
assimilationRequestTimeoutSeconds 30 Time a target player has to accept the request (knocked-down players are assimilated without asking).
regenChannelSeconds 3 Regeneration channel time.
regenHealthRatio 0.25 Health recovered over the channel.
regenEnergyCost / regenStaminaCost 0.30 / 0.20 Ki and stamina spent by Regeneration.
regenCooldownSeconds 45 Regeneration cooldown (half if interrupted by damage).
waterRegenBonus 0.25 Water Affinity: regeneration bonus while underwater or after drinking a potion.
waterRegenSeconds 5 Duration of that bonus.

Frost Demon

See also: Frost Demon

Sub-object frostdemon.

Key Default What it does
enabled true Enables the Frost Demon racial skill.
tpBoost 1.25 Prodigious Strength TP multiplier (the RACIALSKILL boost).
masteryGainBonus 0.25 Forms gain this much more mastery.
kiTechniqueResistance 0.125 Damage reduction against ki techniques.
strikeTechniqueResistance 0.05 Damage reduction against strike techniques.
reserveChargeReleaseThreshold 25 Power Reserve charges only while Power Release is at or below this value.
reserveMaxRatio 0.50 Reserve size as a fraction of max ki.
reserveFullChargeSeconds 30 Time to fill the reserve.
reserveDurationSeconds 10 How long a full reserve feeds a form (transformed at 100% Power Release): no ki upkeep and stronger form bonuses.
reserveFormBonus 0.15 Form bonus increase while the reserve feeds the form.
reserveChargeForms ["second", "third", "final"] Forms (besides base) in which the reserve can charge.

Bio-Android

See also: Bio-Android

Sub-object bioandroid.

Key Default What it does
enabled true Enables the Bio-Android racial skill.
cooldownSeconds 180 Vital Drain cooldown.
drainRatio 0.25 Total fraction of the target's max health drained by Vital Drain.
drainTpRatio 0.50 TP gained (Imperfect form) when Vital Drain kills the target, relative to the drained health.
explodeChargeSeconds 5 Self-Destruct hold time (Semi-Perfect form).
explodeRevertSeconds 4 Time the swelling takes to revert when the charge is released early.
explodeDamageRatio 5.0 Explosion damage at the center, as a multiple of the user's max health (less farther away).
explodeRadius 36 Explosion radius in blocks.
explodeKillsUser false true: the explosion kills the user. false: the user survives, knocked down.
explodeKnockdownSeconds 30 Knockdown duration when the user survives.
explodeCooldownSeconds 600 Self-Destruct cooldown.
cellJrMax 3 Cell Jr. per player at a time (Perfect form).
cellJrStatRatio 0.20 Cell Jr. health and damage relative to the owner.
cellJrOwnerPenalty 0.10 Owner stat reduction per living Cell Jr.
cellJrChargeCooldownSeconds 240 Recharge time of a destroyed Cell Jr.'s slot.
cellJrLeashRange 64 A Cell Jr. farther than this from its owner disappears.
cellJrGlobalCap 30 Maximum Cell Jr. alive on the whole server.

Majin

See also: Majin

Sub-object majin.

Key Default What it does
enabled true Enables Absorption.
absorptionAmount 3 Maximum number of absorptions. All are lost on death.
absorptionCooldownSeconds 600 Absorption cooldown.
absorptionHealthRegen 0.30 Health healed when absorbing.
absorptionStatCopy 0.04 Fraction of the target's stats gained (mobs use their max health).
absorptionBoosts ["STR", "SKP", "PWR"] Stats boosted by absorption.
absorptionOnMobs true Also allows absorbing mobs (otherwise only players).
slotEjectCooldownSeconds 300 Ejecting an absorption locks its slot for this long.
foodHealBonus 0.25 Sweet Tooth: food heals this much more.
kiHealDealtBonus 0.25 Healing ki techniques used by a Majin heal this much more.
kiHealReceivedBonus 0.25 Majins receive this much more healing from ki techniques.
healTechniqueCostReduction 0.10 Healing techniques cost this much less ki.
healTechniqueCooldownReduction 0.10 Healing techniques recharge this much faster.

Glind

See also: Glind, Alignment

Sub-object glind.

Key Default What it does
enabled true Enables the Glind racial skill.
divineKi true Ki Sense, Scouters and Instant Transmission can't find a Glind unless the seeker has god ki (an unlocked or active God Form, or Divine Ki of their own) or is under Kami's Blessing. Divine Ki also counts as god ki, so Glinds can sense, lock on to and Instant Transmission to players in a God Form.
meditationDodgeMultiplier 1.5 Multiplier on the Meditation dodge chance against melee.
regenMultiplier 1.25 Health, ki and stamina regeneration multiplier.
healingReductionBase 0.20 Healing reduction applied for 6 seconds to players the Glind hits.
healingReductionStackEfficiency 0.5 Effectiveness of the Glind's Healing Reduction skill and enchantment on top of the base (the total is capped at 40%).
evilAttackerMaxAlignment 25 A Glind at or below this alignment…
goodTargetMinAlignment 60 …deals bonus damage to players at or above this alignment.
goodAttackerMinAlignment 75 A Glind at or above this alignment…
evilTargetMaxAlignment 40 …deals bonus damage to players at or below this alignment.
playerDamageBonus 0.10 Bonus damage against players of the opposite alignment.
frostDemonDamageBonus 0.15 The same bonus against Frost Demons (replaces playerDamageBonus).
majinDamageBonus 0.05 The same bonus against Majins (replaces playerDamageBonus).
npcDamageBonus 0.075 Bonus damage against any non-player target.

Dynamic growth

Main article: Dynamic Growth

The dynamicGrowth block configures practice-based stat growth. It has more than 20 fields and its own anti-farming logic, so it is documented on its own page.

Gravity

Main article: Gravity Config

The gravity block configures dimension gravity, the Gravity Device and weight-based training zones. With more than 60 fields, it is documented on its own page.

Mutant

The mutant block controls a periodic server-wide lottery: every interval, a handful of players are rolled for a chance to become a Mutant. Mutants get TP and mastery multipliers and a rage meter that lets them use the forms of the legendaryGroupName group, even without owning them, while the meter is full or active.

Key Default What it does
enabled true Master toggle.
rollIntervalMinutes 30 Minutes between lottery rolls (minimum 1).
playersPerRoll 1 Players considered per roll.
chance 0.20 Chance (0–1) that a considered player becomes a Mutant.
maxHolders 1 Maximum concurrent Mutant holders server-wide.
legendaryGroupName "legendaryforms" The form group the rage meter gives access to (see Custom Forms).
tpGainMultiplier 1.25 TP multiplier while Mutant (the MUTANT boost).
masteryGainMultiplier 1.50 Form mastery gain multiplier while Mutant.
rageBorrowedFormBonus 0.5 A legendary form the Mutant doesn't own (borrowed through the rage meter) is worth the player's best unlocked non-legendary form (with its mastery) plus this much on each stat bonus (scaled per stat like the legendary form), capped at the legendary form at full mastery. Minimum 0.
powerBonusBoostWithSkill 0.33 An owned legendary form gets its bonus raised by this fraction while rage is active.
keepMutantOnDeath false If false, dying removes Mutant status.
rage See below Rage meter tuning (an object).

Rage meter

The mutant.rage object tunes the rage meter. The meter fills from damage dealt to worthy targets and damage taken. A full meter while in a legendary-group form starts the active phase, which drains it; when it empties, a borrowed form is reverted. Out of combat it drains on its own. Death resets it.

Key Default What it does
gainPerDealtHealthFraction 60.0 Rage gained per full health bar of damage dealt (proportional to the fraction removed).
gainPerReceivedHealthFraction 150.0 Rage gained per full health bar of damage taken.
maxGainPerHit 25.0 Maximum rage from a single hit.
significantTargetHealthRatio 0.10 Damage dealt only counts against players or mobs whose max health is at least this fraction of the attacker's.
significantDamageTakenRatio 0.01 Damage taken only counts when it is at least this fraction of max health.
varietyBonusPerStep 0.25 Extra gain for each change of attack type (melee, strike, ki).
varietyMaxSteps 4 Maximum variety steps.
varietyWindowSeconds 4.0 Time window for an attack-type change to count.
activeDurationSeconds 10.0 How long a full meter lasts once active.
activeGainMultiplier 0.35 Gain multiplier while active.
fullIdleSeconds 15.0 Out-of-combat time before a full meter starts draining.
partialIdleSeconds 8.0 Out-of-combat time before a partial meter starts draining.
idleDrainSeconds 3.0 Time for an idle meter to drain completely.

False Super Saiyan

See also: Saiyan

The falseSuperSaiyan block controls a hidden Saiyan form that can't be bought or selected: it is granted by a rage meter that charges while a Saiyan without Super Saiyan is badly hurt, and it ends when the meter empties. Mutants never get it (the Mutant rage meter takes priority).

Key Default What it does
enabled true Master toggle.
groupName "falseform" Form group of the False Super Saiyan form.
formName "falsesupersaiyan" Form name inside that group.
minLevel 100 Minimum player level to charge it.
maxLevel 200 The player level must be below this value.
healthThreshold 0.25 The meter only charges at or below this fraction of max health.
requireZenkaiSpent false If true, it only charges while Zenkai is on cooldown or after all permanent Zenkai boosts are used.
gainPerDealtHealthFraction 60.0 Meter gained per full health bar of damage dealt to worthy targets.
gainPerReceivedHealthFraction 150.0 Meter gained per full health bar of damage taken.
maxGainPerHit 25.0 Maximum meter from a single hit.
significantTargetHealthRatio 0.10 Worthy-target rule, as in mutant.rage.
significantDamageTakenRatio 0.01 Minimum damage taken that counts.
activeGainMultiplier 0.5 Gain multiplier once transformed.
idleGainPerSecond 10.0 Meter gained per second while the requirements are met (0 means only hits fill it).
combatGraceSeconds 2.0 Time after the last hit before the meter can drain.
drainSeconds 8.0 Time to drain a full meter when the requirements are no longer met.
activeDrainSeconds 12.0 Time to drain a full meter once transformed.

Ki Transfer

See also: Ki Transfer

The kiTransfer block controls Ki Transfer: holding Ctrl + Alt + Right Mouse on another player sends them a share of your Ki and boosts their STR, SKP, DEF and PWR, while the giver is slowed, locked out of combat and weakened by Ki Exhaustion. The link is also how the Super Saiyan God Ritual gathers its givers. Negative or invalid numbers fall back to the default.

Key Default What it does
enabled true Master toggle. Turning it off also ends every active link.
kiPercentPerSecond 0.025 Fraction of the giver's max Ki sent every second (at most 1).
boostDelaySeconds 1.0 How long a giver must hold the link before boosting the receiver and counting as a giver for the Super Saiyan God Ritual.
boostPerDonor 0.05 STR, SKP, DEF and PWR bonus per giver, applied on top of the receiver's other multipliers.
maxBoostDonors 5 Maximum number of givers that count for the bonus (minimum 0).
donorSpeedMultiplier 0.4 Walking and flying speed multiplier while giving (0–1).
interruptDamageRatio 0.10 The link breaks once the giver has taken damage adding up to this fraction of their max health since it started (minimum 0.01).
startRange 8.0 Range in blocks to start a link (minimum 1). The server allows 2 extra blocks for movement and needs line of sight.
maxLinkDistance 32.0 The link breaks when the players are farther apart than this (never less than startRange).
attackChargeCreditRatio 1.0 Ki that overflows the receiver's bar while they charge a ki attack is stored for that attack, up to this fraction of the receiver's max Ki.
intervalSeconds 3.0 Length of a transfer interval. Each completed interval adds a stack of Ki Exhaustion to the giver and lingering time to both players.
retainSecondsPerInterval 5.0 Seconds per completed interval that the receiver keeps that giver's bonus after the link ends; the giver's Ki Exhaustion lasts the same time.
donorPenaltyPerInterval 0.05 STR, SKP, DEF and PWR penalty the giver takes per completed interval (at most 1).
donorPenaltyMax 0.25 Maximum giver penalty (at most 0.95).
restartCooldownSeconds 2.0 Wait after a link ends before the same player can start a new one.

Super Saiyan God Ritual

The superSaiyanGodRitual block controls the Super Saiyan God Ritual: when enough pure-hearted Saiyans in the right forms give their Ki to another Saiyan with Ki Transfer, they gather into a ring and channel, and the receiver rises and turns into a hidden form that lasts a limited time. The form itself (colors, aura, drain) is defined in the Saiyan form group named by groupName, whose formType must stay godritual (see Custom Forms). Negative or invalid numbers fall back to the default.

Key Default What it does
enabled true Master toggle.
groupName "godritual" Saiyan form group of the ritual form.
formName "supersaiyangodritual" Form name inside that group.
donorForms ["ssgrades.supersaiyan", "supersaiyan.supersaiyanmastered"] Forms a giver can be in, as "group.form". A giver with a stack form active never counts.
recipientForms ["supersaiyan.supersaiyanmastered"] Forms the receiver must be in, as "group.form".
requiredDonors 5 Givers needed. A fusion of two Saiyans counts as two (minimum 1).
pureGoodMinAlignment 90 A participant is pure-hearted at or above this alignment (0–100)…
pureEvilMaxAlignment 10 …or at or below this one (0–100).
ritualRadius 5.0 Horizontal distance from the receiver within which a giver counts (minimum 1).
ritualVerticalRange 3.0 Maximum height difference between a giver and the receiver.
ringRadius 2.5 Radius of the ring the givers glide into when the ritual starts (between 1 and ritualRadius).
channelSeconds 10.0 Length of the channel, while the receiver's action bar fills (minimum 1 second).
liftHeight 6.0 How many blocks the receiver rises after the channel (less if something is in the way).
liftSeconds 2.0 Duration of the rise.
glowInSeconds 1.0 Time the shell of light takes to build before the transformation.
glowOutSeconds 1.5 Time the shell takes to fade after it.
shellColor "#6FD8FF" Color of the shell and of the transformation flash, as #RRGGBB.
interruptDamageRatio 0.25 The ritual is cancelled when any participant takes damage adding up to more than this fraction of their max health (minimum 0.01).
interruptCooldownSeconds 30.0 Ritual cooldown given to every participant (fusion partners included) when the ritual is cancelled.
cooldownMinutes 30.0 Ritual cooldown after a success: the givers get it when the receiver transforms, the receiver when the form ends.
durationMinutes 5.0 How long the form lasts before the receiver returns to base form (minimum 1 second).
powerBonus 0.30 The form is worth the receiver's strongest unlocked form (with its mastery) with each stat bonus raised by this fraction. The multipliers written in the form file act as a minimum.
mutantPowerBonus 0.45 The same bonus for receivers who are Mutants.

World bosses

Main article: World Bosses

The worldBoss block tunes the world boss fights. Contribution points are the four totals (damage dealt, damage mitigated, damage received, healing) multiplied by their weights. Healing counts more when the healed player's defense and blocking soak a lot of damage (up to 10 times).

World boss health and damage aren't keys of this block: they follow the Hard difficulty multipliers. Each boss has its saga fight's Normal health × hardModeHPMultiplier × 4 and its Normal damage × hardModeDamageMultiplier (both in the difficulty multipliers of the gameplay section above). The values on the World Bosses pages use the defaults.

Key Default What it does
contributionRange 150 Players within this range of the boss take part in the fight (minimum 16).
audienceRefreshSeconds 5 How often the participant list, and with it the boss's group scaling, is refreshed.
meterLingerSeconds 15 How long the contribution HUD stays on screen after the kill.
damageWeight 1.0 Weight of damage dealt to the boss and its minions.
mitigatedWeight 1.0 Weight of damage mitigated (defense, blocks, barriers).
receivedWeight 1.0 Weight of damage received.
healedWeight 1.0 Weight of healing done.
lives 3 Revives each participant can receive per fight.
reviveSlot 4 Technique slot (1–8) that holds the revive technique during the fight.
reviveCastSeconds 15 Cast time to revive a downed ally (several casters stack).
reviveCooldownSeconds 90 Revive cooldown after a successful revive.
reviveInterruptCooldownSeconds 15 Revive cooldown after the cast is interrupted.
reviveInterruptDamageRatio 0.10 A revive cast is interrupted once the caster has taken damage adding up to this fraction of their max health (minimum 0.01).
reviveDecayMultiplier 3.0 While nobody is reviving a downed player, their revive progress drains this many times faster than one caster fills it (minimum 1, rounded to a whole number).
truceGraceSeconds 15 After a fight ends, the players who took part in it can't hurt each other for this many seconds.
reviveRange 6.0 Range to start a revive.
reviveRestoreRatio 0.25 Health, ki and stamina restored by a revive.
knockoutTitleSeconds 5 Duration of the knockout title.
rankChanceBonus [0.25, 0.15, 0.10] List of drop chance bonuses for the 1st, 2nd and 3rd best contributors.
guaranteedRewardMinRatio 0.5 Guaranteed rewards (chance 1.0) scale from this fraction up to 100% with the player's points compared to the best player.
minContributionShare 0.075 Minimum share of total points needed to receive any reward (0.075 = 7.5%). Players below it get nothing.
healthPerExtraMember 0.5 Extra boss max health for each participant after the first, as a fraction of its health: with 0.5, 2 fighters give ×1.5 and 4 give ×2.5. Participants in Creative or Spectator mode don't count. 0 turns it off.
damagePerExtraMember 0.25 The same for the boss's melee and ki damage.
rewards See below A map of boss key to reward list: the rewards of each boss.

Boss rewards

Each reward entry uses the same fields as a quest reward (type, item/count, amount, skill/level, command, formGroup/formName, …) plus chance (0–1, default 1.0). The built-in rewards pay ATTRIBUTES (Janemba 500, Turles 50, Metal Cooler Core 105, Tamagami Number 3, 2 and 1 90, 300 and 360, Gomah 435) instead of TP. A boss missing from the map uses its built-in rewards; write "<boss key>": [] to disable drops for one boss.

Boss key World boss
janemba Janemba
turles Turles
metal_cooler_core Metal Cooler Core
tamagami_3 Tamagami Number 3
tamagami_2 Tamagami Number 2
tamagami_1 Tamagami Number 1
gomah Gomah
"rewards": {
  "janemba": [
    { "type": "ATTRIBUTES", "amount": 500, "chance": 1.0 },
    { "type": "ITEM", "item": "dragonminez:dimensional_sword", "count": 1, "chance": 0.5 },
    { "type": "SKILL", "skill": "dimensional_teleport", "level": 1, "chance": 0.2 }
  ]
}

Crafting

See also: Armor

The crafting block decides what Dr. Kikono's Station copies from the template item into the crafted result.

Key Default What it copies
copyEnchantmentsFromTemplate true Enchantments.
copyWeaponLevelFromTemplate false Weapon level (Weapon Leveling compatibility).
copyWeaponLevelProgressFromTemplate false Weapon level progress (Weapon Leveling compatibility).
copyApotheosisRarityFromTemplate false Apotheosis rarity.
copyApotheosisAffixesFromTemplate false Apotheosis affixes.
copyApotheosisSocketsFromTemplate false Apotheosis sockets.
copyApotheosisGemsFromTemplate false Apotheosis gems (only when sockets are copied too).

Storage

The storage block chooses where player data is saved. Case matters for storageType.

Key Default What it does
storageType "NBT" NBT, JSON or DATABASE.
host "localhost" Database host (DATABASE only).
port 3306 Database port (DATABASE only).
database "dragonminez" Database name.
table "player_data" Table name.
username "root" Database user.
password "password" Database password. Change it in production.
poolSize 10 Database connection pool size (minimum 1).
threadPoolSize 4 Threads used for asynchronous loads and saves (minimum 1).

How the backends work

  • NBT: player data only rides on vanilla's own player save (.dat).
  • JSON: each player is also saved to <world>/dragonminez/playerdata_json/<uuid>.json.
  • DATABASE: each player is also saved to a MariaDB database (jdbc:mariadb), using host, port, database, table, username and password.
  • The vanilla .dat save is always written. With JSON or DATABASE, the extra store is loaded on login and overrides the vanilla values; it is saved on logout and every 5 minutes.
If the database fails If the database connection fails, DMZ does not switch to another backend: it logs the error and player data is only kept in the vanilla .dat save. Check the server log if data doesn't seem to persist.
Switching backends Don't switch storageType on a server with players online. Do it with the server empty, and take a backup first.

Developer

See also: How to JSON
Key Default What it does
reportJsonProblemsInChat true On login, shows every player a summary of the JSON files that failed to load (configs, quests, wishes, Dragon Ball packs) and of the default files that were auto-upgraded. The server log has the full details.

Hair

The hair block sets the limits of the hair editor. The server trims any hair style that exceeds them.

Key Default What it does
maxSegmentsPerStrand 12 Maximum segments per strand (clamped to 1–32).
maxStrandLength 20.0 for base, ssj, ssj2, ssj3 and ssj4 A map of hair slot to number: the maximum strand length per hair slot (clamped to 0.5–128).
maxStrandWidth 8.0 Maximum strand width (clamped to 0.25–16).
maxRootOffset 2.0 Maximum offset of a strand root (clamped to 0–4).
maxTotalSegmentsPerStyle 600 Maximum segments in a whole hair style (clamped to 1–2176).

Reload and validate

  1. Edit config/dragonminez/general-server.json.
  2. Validate the JSON syntax.
  3. Run /dmzreload config (or /dmzreload). Single values can also be changed live with /dmzconfig general-server <section> <key> <value>.
  4. If the file has a syntax error, DMZ keeps running on the default values, leaves your file untouched and reports the file, line and column in the log (and in chat on login, see the developer section above). Fix it and reload again.