The config.json file is a central element of your server configuration, allowing you to define crucial parameters for the gaming experience. Whether it concerns general rules, specifics for a world, or mod integration, these JSON files are your dashboard.
Global server settings
The main config.json file, located at the root of your server folder, contains settings that apply to your entire server, or “universe” as Hytale calls it. It is a true server configuration file that influences the experience of all players.
Location: [Your server folder]/config.json
| Setting (Key) | Type | Description & Recommendations |
| I. Information & Access | ||
ServerName | Text | The public name of your server. This is what will appear in the server list. Example: “My Hytale Server FR” |
MOTD | Text | Message Of The Day. The welcome or announcement message displayed under the server name. Tip: Use it to announce maintenance or welcome players. |
Password | Text | Access password. If filled, the server becomes private. Leave the quotes empty "" for a public server. |
MaxPlayers | Integer | Hosting capacity. The maximum number of simultaneous players. Warning: The higher this number, the more RAM and CPU are needed. |
| II. Performance & Technical | ||
MaxViewRadius | Integer | View distance (in chunks). Critical impact: This is the setting that consumes the most RAM. Recommendation: 12 (Standard) to 16 (High). Avoid more than 16 without a very powerful machine. |
LocalCompressionEnabled | Boolean | Bandwidth optimization.true: Enables data compression. Reduces network usage but slightly increases CPU usage. Recommended for public servers. |
Version | Integer | Config file version. Do not touch this number; it allows the game to know if your file is up to date. |
| III. Gameplay (“Defaults” Section) | ||
Defaults > World | Text | Default world name. If this folder does not exist in universe/, the server will create it at launch.Default: “default” |
Defaults > GameMode | Text | Game mode for newcomers. Options: "ADVENTURE" (Classic survival) or "CREATIVE" (Building). |
| IV. Advanced (Network & System) | ||
ConnectionTimeouts | Object | Manages delays before ejecting a player who is no longer responding (lag). Leave empty {} to use engine defaults. |
RateLimit | Object | Protection against packet spam (light DDoS or client bugs). Leave empty {} unless you know how to configure precise limits. |
PlayerStorage | Object | Defines how player data is saved. Default: Type: "Hytale" (Standard local save). |
DisplayTmpTagsInStrings | Boolean | Development tool. Displays raw translation or formatting tags. Leave on false for production. |
Tip: Manual changes made while the server is running are likely to be overwritten. Always remember to stop your server, modify the file, and then restart it for changes to take effect.
World-specific settings
Each world in your Hytale universe has its own configuration file, allowing you to customize unique aspects for different game zones. This is ideal for creating creative worlds dedicated to building or exploration servers with distinct rules.
Location: [Your server folder]/universe/worlds/<world_name>/config.json
Here is an overview of the game rules and world behaviors you can adjust:
| Setting (Key) | Type | Description & Impact |
| I. Identity & Generation | ||
Seed | Long | The world seed. This is the unique code that defines terrain generation. If you want to share your exact map, this is the number to give. Example: 1768666912427 |
WorldGen > Type | Text | The generation engine used. “Hytale” is the standard generator. |
UUID | Binary | Unique Identifier. Do not touch this. It is the world’s internal ID card for the database. |
| II. Gameplay Rules (GameRules) | ||
IsPvpEnabled | Boolean | Player vs Player combat.false: Players cannot hurt each other (Ideal for PvE/Coop).true: Damage between players enabled. |
IsFallDamageEnabled | Boolean | Fall damage.true: Falling from high up hurts.false: Ideal for lobbies or parkour maps without frustration. |
IsGameTimePaused | Boolean | Freeze time.true: The sun no longer moves. Useful for keeping an “Eternal Noon” or “Eternal Midnight” atmosphere. |
GameTimeDate | The current time of the world. Format: 0001-01-01T05:30:00Z indicates it is 5:30 AM (dawn) in-game. | |
| III. Visual Atmosphere (ClientEffects) | Object | These settings force visual rendering on the client (the player). This is very powerful for creating atmospheres without mods. |
SunIntensity | 0.0 – 1.0 | The power of sunlight. |
BloomIntensity | 0.0 – 1.0 | The light halo effect around light sources. |
SunAngleDegrees | Decimal | Allows changing the sun’s axis (the angle of shadows). |
| IV. Life & Entities (NPCs) | ||
IsSpawningNPC | Boolean | Natural spawning.true: Monsters and animals spawn normally.false: The world will be empty (unless you spawn entities manually). |
IsAllNPCFrozen | Boolean | Matrix effect.true: All creatures are frozen in place (AI disabled). Useful for debugging or screenshots. |
| V. System & Saving (Technical) | ||
IsSavingPlayers | Boolean | If false, player inventory and position are not saved upon restart (“Rogue-like” Type). |
IsUnloadingChunks | Boolean | RAM management.true (Recommended): The server unloads memory for areas where no one is present.false: Keeps everything in memory (Dangerous for RAM). |
ChunkStorage | Object | Defines block storage format. Leave on "Type": "Hytale". |
Tip: These settings are essential for defining the atmosphere and rules of a specific world, such as an exploration mode server or a combat arena.
Mod/plugin-specific settings
Mods and plugins bring incredible depth to Hytale, and each can have its own configuration file. Hytale uses a “Codec system” to serialize and deserialize JSON data, which allows developers to create robust custom configuration files.
Location: [Your server folder]/plugins/com.yourgroup_YourPluginName/YourPluginConfig.example.json
These files allow users to customize a plugin’s behavior without modifying its code. If a configuration file is missing, the system will automatically generate it with default values.
Structure of a plugin configuration file (example):
{
"LuckIncreaseChance": 0.40,
"MaxPlayers": 100,
"ServerMessage": "Welcome to the custom server!",
"EnableFeature": true,
"BannedWords": ["swear", "inappropriate"],
"DropRateMultiplier": 1.0,
"DebugMode": false
}
| Parameter | Type | Description | Examples of values |
LuckIncreaseChance | Double | Probability (between 0.0 and 1.0) of a lucky event. (Doc #1) | 0.40 |
MaxPlayers | Integer | Maximum number of players if the plugin manages this. (Doc #1) | 100 |
ServerMessage | String | Welcome message or other text message customized by the plugin. (Doc #1) | "Welcome!" |
EnableFeature | Boolean | Enables or disables a specific feature of the plugin. (Doc #1) | true, false |
BannedWords | List<String> | List of banned words for the plugin’s chat. (Doc #91) | ["stupid", "insult"] |
DropRateMultiplier | Double | Loot rate multiplier for items managed by the plugin. (Doc #1) | 1.5 |
DebugMode | Boolean | Enables or disables the plugin’s debug mode, displaying more information in logs. (Doc #1) | true, false |
primaryCurrency | String | The name of the primary currency used by the plugin for transactions. (Doc #5) | "coins" |
Tip: To avoid conflicts and ensure compatibility, plugin developers use specific “Codecs” and ensure their JSON keys follow a convention (PascalCase, for example
"ServerName"and not"serverName"). If you are an administrator, strictly respect the case of the keys.
Best practices and troubleshooting
- Mods/Plugins: Server plugin configuration files are stored in the
mods/folder (orearlyplugins/for low-level plugins) of your server. - Backups: Before any modification of
config.jsonfiles, always perform a backup of your server and your worlds. This is the golden rule! - JSON Syntax:
config.jsonfiles must respect strict JSON structure. A misplaced comma or brace can prevent your server or plugins from starting. Use an online JSON validator if you have doubts. - Restart: Most configuration changes require a full server restart to take effect. For some plugins, a reload may suffice, but this must be specifically implemented by the plugin developer.
- Documentation: Every quality mod or plugin should provide its own documentation for its configuration files. Refer to this documentation to understand specific options.
- Logs: In case of a problem, check your server’s log files (
logs/) to identify errors. They can indicate which part of theconfig.jsonis causing issues.
