global.conf¶
Global Configuration¶
The global.conf file contains the global configuration settings for Sponge. This file is created in the config/sponge directory in your server folder. Many of these properties can be also overridden per-world or per-dimension type by using the config files in the subfolders of config/worlds.
Below is a list of available config settings and their comments inside the global.conf file. Note that certain sections
will not be filled immediately, and may optionally be added to the file when the server encounters them. There’s also
full example of an unmodified global.conf
file at the bottom of this page, below the following list:
Note
The following section headings refer to the path within the configuration (and the corresponding simple class name). Each of the entries in a section refers to a configurable property in the associated class. The Type information refers to the section/class that describes the nested configuration structure.
GlobalConfig¶
The main configuration for Sponge: global.conf
broken-mods
Stopgap measures for dealing with broken mods
- bungeecord
- cause-tracker
- commands
- debug
- entity
- entity-activation-range
- entity-collisions
- exploits
- general
- ip-sets
Map<String, List<IpSet>>
- logging
- metrics
- modules
- movement-checks
- optimizations
- permission
- player-block-tracker
spawner
Used to control spawn limits around players.
Note: The radius uses the lower value of mob spawn range and server’s view distance.
sql
Configuration options related to the Sql service, including connection aliases etc
teleport-helper
Blocks to blacklist for safe teleportation.
- tileentity-activation
- timings
- world
world-generation-modifiers
World Generation Modifiers to apply to the world
List<String>
broken-mods (BrokenMod)¶
Stopgap measures for dealing with broken mods
broken-network-handler-mods
A list of mod ids that have broken network handlers (they interact with the game from a Netty handler thread). All network handlers from a forcibly scheduled to run on the main thread. Note that this setting should be considered a last resort, and should only be used as a stopgap measure while waiting for a mod to properly fix the issue.
List<String>
bungeecord (BungeeCord)¶
ip-forwarding
If
true
, allows BungeeCord to forward IP address, UUID, and Game Profile to this server.
boolean
false
cause-tracker (PhaseTracker)¶
auto-fix-null-source-block-providing-tile-entities
A mapping that is semi-auto-populating for TileEntities whose types are found to be providing
null
Block sources as neighbor notifications that end up causing crashes or spam reports. If the value is set totrue
, then aworkaround
will be attempted. If not, the current BlockState at the target source will be queried from the world. This map having a specific entry of a TileEntity will prevent a log or warning come up to any logs when thatnull
arises, and Sponge will self-rectify the TileEntity by calling the methodgetBlockType()
. It is advised that if the mod id in question is coming up, that the mod author is notified about the error-prone usage of the fieldblockType
. You can refer them to the following links for the issue: https://gist.github.com/gabizou/ad570dc09dfed259cac9d74284e78e8b https://github.com/SpongePowered/SpongeForge/issues/2787 Also, please provide them with these links for the example PR to fix the issue itself, as the fix is very simple: https://github.com/TehNut/Soul-Shards-Respawn/pull/24 https://github.com/Epoxide-Software/Enchanting-Plus/pull/135
Map<String, Boolean>
capture-async-spawning-entities
If set to
true
, when a mod or plugin attempts to spawn an entity off the main server thread, Sponge will automatically capture said entity to spawn it properly on the main server thread. The catch to this is that some mods are not considering the consequences of spawning an entity off the server thread, and are unaware of potential race conditions they may cause. If this is set to false, Sponge will politely ignore the entity being spawned, and emit a warning about said spawn anyways.
boolean
true
generate-stacktrace-per-phase
If
true
, more thorough debugging for PhaseStates such that a StackTrace is created every time a PhaseState switches, allowing for more fine grained troubleshooting in the cases of runaway phase states. Note that this is not extremely performant and may have some associated costs with generating the stack traces constantly.
boolean
false
max-block-processing-depth
The maximum number of times to recursively process transactions in a single phase. Some mods may interact badly with Sponge’s block capturing system, causing Sponge to end up capturing block transactions every time it tries to process an existing batch. Due to the recursive nature of the depth-first processing that Sponge uses to handle block transactions, this can result in a stack overflow, which causes us to lose all infomration about the original cause of the issue. To prevent a stack overflow, Sponge tracks the current processing depth, and aborts processing when it exceeds this threshold. The default value should almost always work properly - it’s unlikely you’ll ever have to change it.
int
1000
maximum-printed-runaway-counts
If verbose is not enabled, this restricts the amount of runaway phase state printouts, usually happens on a server where a PhaseState is not completing. Although rare, it should never happen, but when it does, sometimes it can continuously print more and more. This attempts to placate that while a fix can be worked on to resolve the runaway. If verbose is enabled, they will always print.
int
3
report-null-source-blocks-on-neighbor-notifications
If true, when a mod attempts to perform a neighbor notification on a block, some mods do not know to perform a
null
check on the source block of their TileEntity. This usually goes by unnoticed by other mods, because they may perform==
instance equality checks instead of calling methods on the potentially null Block, but Sponge uses the block to build information to help tracking. This has caused issues in the past. Generally, this can be useful for leavingtrue
so a proper report is generated once for your server, and can be reported to the offending mod author. This isfalse
by default in SpongeVanilla. Review the following links for more info: https://gist.github.com/gabizou/ad570dc09dfed259cac9d74284e78e8b https://github.com/SpongePowered/SpongeForge/issues/2787
boolean
true
resync-commands-from-async
If set to
true
, when a mod or plugin attempts to submit a command asynchronously, Sponge will automatically capture said command and submit it for processing on the server thread. The catch to this is that some mods are performing these commands in vanilla without considering the possible consequences of such commands affecting any thread-unsafe parts of Minecraft, such as worlds, block edits, entity spawns, etc. If this is set to false, Sponge will politely ignore the command being executed, and emit a warning about said command anyways.
boolean
true
verbose
If
true
, the phase tracker will print out when there are too many phases being entered, usually considered as an issue of phase re-entrance and indicates an unexpected issue of tracking phases not to complete. If this is not reported yet, please report to Sponge. If it has been reported, you may disable this.
boolean
true
verbose-errors
If
true
, the phase tracker will dump extra information about the current phases when certain non-PhaseTracker related exceptions occur. This is usually not necessary, as the information in the exception itself can normally be used to determine the cause of the issue
boolean
false
commands (Commands)¶
aliases
Command aliases will resolve conflicts when multiple plugins request a specific command, Correct syntax is <unqualified command>=<plugin name> e.g.
sethome=homeplugin
Map<String, String>
command-hiding
Defines how Sponge should act when a user tries to access a command they do not have permission for
enforce-permission-checks-on-non-sponge-commands
Some mods may not trigger a permission check when running their command. Setting this to true will enforce a check of the Sponge provided permission (
<modid>.command.<commandname>
). Note that setting this to true may cause some commands that are generally accessible to all to require a permission to run. Setting this to true will enable greater control over whether a command will appear in tab completion and Sponge’s help command. If you are not using a permissions plugin, it is highly recommended that this is set to false (as it is by default).
boolean
false
multi-world-patches
Patches the specified commands to respect the world of the sender instead of applying the changes on the all worlds.
Map<String, Boolean>
debug (Debug)¶
concurrent-chunk-map-checks
Detect and prevent parts of PlayerChunkMap being called off the main thread. This may decrease sever preformance, so you should only enable it when debugging a specific issue.
boolean
false
concurrent-entity-checks
Detect and prevent certain attempts to use entities concurrently.
WARNING: May drastically decrease server performance. Only set this to
true
to debug a pre-existing issue.
boolean
false
thread-contention-monitoring
If
true
, Java’s thread contention monitoring for thread dumps is enabled.
boolean
false
entity (Entity)¶
collision-warn-size
Number of colliding entities in one spot before logging a warning. Set to
0
to disable
int
200
entity-painting-respawn-delay
Number of ticks before a painting is respawned on clients when their art is changed
int
2
human-player-list-remove-delay
Number of ticks before the fake player entry of a human is removed from the tab list (range of
0
to100
ticks).
int
10
item-despawn-rate
Controls the time in ticks for when an item despawns.
int
6000
living-hard-despawn-range
The upper bounded range where living entities farther from a player will likely despawn
int
128
living-soft-despawn-minimum-life
The amount of seconds before a living entity between the soft and hard despawn ranges from a player to be considered for despawning
int
30
living-soft-despawn-range
The lower bounded range where living entities near a player may potentially despawn
int
32
max-bounding-box-size
Maximum size of an entity’s bounding box before removing it. Set to
0
to disable
int
1000
max-speed
Square of the maximum speed of an entity before removing it. Set to
0
to disable
int
100
entity-activation-range (EntityActivationRange)¶
auto-populate
If
true
, newly discovered entities will be added to this config with a default value.
boolean
false
defaults
Default activation ranges used for all entities unless overridden.
Map<String, Integer>
mods
Per-mod overrides. Refer to the minecraft default mod for example.
entity-activation-range.mods (EntityActivationMod)¶
Per-mod overrides. Refer to the minecraft default mod for example.
- defaults
Map<String, Integer>
enabled
If
false
, entity activation rules for this mod will be ignored and always tick.
boolean
true
- entities
Map<String, Integer>
entity-collisions (EntityCollision)¶
auto-populate
If
true
, newly discovered entities/blocks will be added to this config with a default value.
boolean
false
max-entities-within-aabb
Maximum amount of entities any given entity or block can collide with. This improves performance when there are more than
8
entities on top of each other such as a 1x1 spawn pen. Set to0
to disable.
int
8
mods
Per-mod overrides. Refer to the minecraft default mod for example.
entity-collisions.mods (CollisionMod)¶
Per-mod overrides. Refer to the minecraft default mod for example.
- blocks
Map<String, Integer>
defaults
Default maximum collisions used for all entities/blocks unless overridden.
Map<String, Integer>
enabled
If
false
, entity collision rules for this mod will be ignored.
boolean
true
- entities
Map<String, Integer>
exploits (Exploit)¶
book-size-total-multiplier
If limit-book-size is enabled, controls the multiplier applied to each book page size
double
0.98
filter-invalid-entities-on-chunk-save
Enables filtering invalid entities when a chunk is being saved such that the entity that does not
belong
in the saving chunk will not be saved, and forced an update to the world’s tracked entity lists for chunks. See https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0311-Prevent-Saving-Bad-entities-to-chunks.patch
boolean
true
limit-book-size
Limits the size of a book that can be sent by the client. See https://github.com/PaperMC/Paper/blob/f8058a8187da9f6185d95bb786783e12c79c8b18/Spigot-Server-Patches/0403-Book-Size-Limits.patch (Only affects SpongeVanilla)
boolean
true
load-chunk-on-position-set
Enables focing a chunk load when an entity position is set. Usually due to teleportation, vehicle movement etc. can a position lead an entity to no longer exist within it’s currently marked and tracked chunk. This will enable that chunk for the position is loaded. Part of several exploits.See https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0335-Ensure-chunks-are-always-loaded-on-hard-position-set.patch (Only affects SpongeVanilla)
boolean
true
mark-chunks-as-dirty-on-entity-list-modification
Enables forcing chunks to save when an entity is added or removed from said chunk. This is a partial fix for some exploits using vehicles.See https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0306-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch (Only affects SpongeVanilla)
boolean
true
max-book-page-size
If limit-book-size is enabled, controls the maximum size of a book page
int
2560
prevent-creative-itemstack-name-exploit
Prevents an exploit in which the client sends a packet with the itemstack name exceeding the string limit.
boolean
true
sync-player-positions-for-vehicle-movement
Enables forcing updates to the player’s location on vehicle movement. This is partially required to update the server’s understanding of where the player exists, and allows chunk loading issues to be avoided with laggy connections and/or hack clients.See https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0378-Sync-Player-Position-to-Vehicles.patch (Only affects SpongeVanilla)
boolean
true
update-tracked-chunk-on-entity-move
Enables forcing a chunk-tracking refresh on entity movement. This enables a guarantee that the entity is tracked in the proper chunk when moving.https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0315-Always-process-chunk-registration-after-moving.patch (Only affects SpongeVanilla)
boolean
true
general (GlobalGeneral)¶
config-dir
The directory for Sponge plugin configurations, relative to the execution root or specified as an absolute path. Note that the default:
${CANONICAL_GAME_DIR}/config
is going to use theconfig
directory in the root game directory. If you wish for plugin configs to reside within a child of the configuration directory, change the value to, for example,${CANONICAL_CONFIG_DIR}/sponge/plugins
.Note: It is not recommended to set this to
${CANONICAL_CONFIG_DIR}/sponge
, as there is a possibility that plugin configurations can conflict the Sponge core configurations.
String
${CANONICAL_GAME_DIR}/config
file-io-thread-sleep
If
true
, sleeping between chunk saves will be enabled, beware of memory issues.
boolean
false
plugins-dir
Additional directory to search for plugins, relative to the execution root or specified as an absolute path. Note that the default:
${CANONICAL_MODS_DIR}/plugins
is going to search for a plugins folder in the mods directory. If you wish for the plugins folder to reside in the root game directory, change the value to${CANONICAL_GAME_DIR}/plugins
.
String
${CANONICAL_MODS_DIR}/plugins
logging (Logging)¶
block-break
Log when blocks are broken
boolean
false
block-modify
Log when blocks are modified
boolean
false
block-place
Log when blocks are placed
boolean
false
block-populate
Log when blocks are populated in a chunk
boolean
false
block-tracking
Log when blocks are placed by players and tracked
boolean
false
chunk-gc-queue-unload
Log when chunks are queued to be unloaded by the chunk garbage collector.
boolean
false
chunk-load
Log when chunks are loaded
boolean
false
chunk-unload
Log when chunks are unloaded
boolean
false
entity-collision-checks
Whether to log entity collision/count checks
boolean
false
entity-death
Log when living entities are destroyed
boolean
false
entity-despawn
Log when living entities are despawned
boolean
false
entity-spawn
Log when living entities are spawned
boolean
false
entity-speed-removal
Whether to log entity removals due to speed
boolean
false
exploit-itemstack-name-overflow
Log when server receives exploited packet with itemstack name exceeding string limit.
boolean
false
exploit-respawn-invisibility
Log when player attempts to respawn invisible to surrounding players.
boolean
false
exploit-sign-command-updates
Log when server receives exploited packet to update a sign containing commands from player with no permission.
boolean
false
log-stacktraces
Add stack traces to dev logging
boolean
false
world-auto-save
Log when a world auto-saves its chunk data.
Note: This may be spammy depending on the auto-save-interval configured for world.
boolean
false
metrics (Metrics)¶
global-state
The global collection state that should be respected by all plugins that have no specified collection state. If undefined then it is treated as disabled.
Tristate
TRUE
FALSE
UNDEFINED
UNDEFINED
plugin-states
Plugin-specific collection states that override the global collection state.
Map<String, Tristate>
TRUE
FALSE
UNDEFINED
modules (Module)¶
broken-mod
Enables experimental fixes for broken mods
boolean
false
- bungeecord
boolean
false
- entity-activation-range
boolean
true
- entity-collisions
boolean
true
exploits
Controls whether any exploit patches are applied. If there are issues with any specific exploits, please test in the exploit category first, before disabling all exploits with this toggle.
boolean
true
movement-checks
Allows configuring Vanilla movement and speed checks
boolean
false
- optimizations
boolean
true
realtime
Use real (wall) time instead of ticks as much as possible
boolean
false
tileentity-activation
Controls block range and tick rate of tileentities. Use with caution as this can break intended functionality.
boolean
false
- timings
boolean
true
- tracking
boolean
true
movement-checks (MovementChecks)¶
moved-wrongly
Controls whether the
player/entity moved wrongly!
check will be enforced
boolean
true
player-moved-too-quickly
Controls whether the
player moved too quickly!
check will be enforced
boolean
true
player-vehicle-moved-too-quickly
Controls whether the
vehicle of player moved too quickly!
check will be enforced
boolean
true
optimizations (Optimization)¶
async-lighting
Runs lighting updates asynchronously.
cache-tameable-owners
Caches tameable entities owners to avoid constant lookups against data watchers. If mods cause issues, disable this.
boolean
true
disable-failing-deserialization-log-spam
Occasionally, some built in advancements, recipes, etc. can fail to deserialize properly which ends up potentially spamming the server log and the original provider of the failing content is not able to fix. This provides an option to suppress the exceptions printing out in the log.
boolean
true
drops-pre-merge
If
true
, block item drops are pre-processed to avoid having to spawn extra entities that will be merged post spawning. Usually, Sponge is smart enough to determine when to attempt an item pre-merge and when not to, however, in certain cases, some mods rely on items not being pre-merged and actually spawned, in which case, the items will flow right through without being merged.
boolean
true
eigen-redstone
Uses theosib’s redstone algorithms to completely overhaul the way redstone works.
enchantment-helper-leak-fix
If
true
, provides a fix for possible leaks through Minecraft’s enchantment helper code that can leak entity and world references without much interaction Forge native (so when running SpongeForge implementation) has a similar patch, but Sponge’s patch works a little harder at it, but Vanilla (SpongeVanilla implementation) does NOT have any of the patch, leading to the recommendation that this patch is enabledfor sure
when using SpongeVanilla implementation. See https://bugs.mojang.com/browse/MC-128547 for more information.
boolean
true
faster-thread-checks
If
true
, allows for Sponge to make better assumptinos on single threaded operations with relation to various checks for server threaded operations. This is default to true due to Sponge being able to precisely inject when the server thread is available. This should make an already fast operation much faster for better thread checks to ensure stability of sponge’s systems.
boolean
true
map-optimization
If
true
, re-writes the incredibly inefficient Vanilla Map code. This yields enormous performance enhancements when using many maps, but has a tiny chance of breaking mods that invasively modify Vanilla.It is strongly reccomended to keep this on, unless explicitly advised otherwise by a Sponge developer
boolean
true
optimize-hoppers
Based on Aikar’s optimizationo of Hoppers, setting this to
true
will allow for hoppers to save performing server -> client updates when transferring items. Because hoppers can transfer items multiple times per tick, these updates can get costly on the server, with little to no benefit to the client. Because of the nature of the change, the default will befalse
due to the inability to pre-emptively foretell whether mod compatibility will fail with these changes or not. Refer to: https://github.com/PaperMC/Paper/blob/8175ec916f31dcd130fe0884fe46bdc187d829aa/Spigot-Server-Patches/0269-Optimize-Hoppers.patch for more details.
boolean
false
panda-redstone
If
true
, uses Panda4494’s redstone implementation which improves performance. See https://bugs.mojang.com/browse/MC-11193 for more information.Note: This optimization has a few issues which are explained in the bug report. We strongly recommend using eigen redstone over this implementation as this will be removed in a future release.
boolean
false
structure-saving
Handles structures that are saved to disk. Certain structures can take up large amounts of disk space for very large maps and the data for these structures is only needed while the world around them is generating. Disabling saving of these structures can save disk space and time during saves if your world is already fully generated.
Warning: disabling structure saving will break the vanilla locate command.
use-active-chunks-for-collisions
Vanilla performs a lot of is area loaded checks during entity collision calculations with blocks, and because these calculations require fetching the chunks to see if they are loaded, before getting the block states from those chunks, there can be some small performance increase by checking the entity’s owned active chunk it may currently reside in. Essentially, instead of asking the world if those chunks are loaded, the entity would know whether it’s chunks are loaded and that neighbor’s chunks are loaded.
boolean
false
optimizations.async-lighting (AsyncLighting)¶
Runs lighting updates asynchronously.
enabled
If
true
, lighting updates are run asynchronously.
boolean
true
num-threads
The amount of threads to dedicate for asynchronous lighting updates.
int
2
optimizations.eigen-redstone (EigenRedstone)¶
Uses theosib’s redstone algorithms to completely overhaul the way redstone works.
enabled
If
true
, uses theosib’s redstone implementation which improves performance. See https://bugs.mojang.com/browse/MC-11193 and https://bugs.mojang.com/browse/MC-81098 for more information.Note: We cannot guarantee compatibility with mods. Use at your discretion.
boolean
false
vanilla-decrement
If
true
, restores the vanilla algorithm for computing wire power levels when powering off.
boolean
false
vanilla-search
If
true
, restores the vanilla algorithm for propagating redstone wire changes.
boolean
false
optimizations.structure-saving (StructureSave)¶
Handles structures that are saved to disk. Certain structures can take up large amounts of disk space for very large maps and the data for these structures is only needed while the world around them is generating. Disabling saving of these structures can save disk space and time during saves if your world is already fully generated.
Warning: disabling structure saving will break the vanilla locate command.
auto-populate
If
true
, newly discovered structures will be added to this config with a default value oftrue
. This is useful for finding out potentially what structures are being saved from various mods, and allowing those structures to be selectively disabled.
boolean
false
enabled
If
false
, disables the modification to prevent certain structures from saving to the world’s data folder. If you wish to prevent certain structures from saving, leave thisenabled=true
. Whentrue
, the modification allows for specificnamed
structures to NOT be saved to disk. Examples of some structures that are costly and somewhat irrelivent ismineshaft
s, as they build several structures and save, even after finished generating.
boolean
false
mods
Per-mod overrides. Refer to the minecraft default mod for example.
optimizations.structure-saving.mods (StructureMod)¶
Per-mod overrides. Refer to the minecraft default mod for example.
enabled
If
false
, this mod will never save its structures. This may break some mod functionalities when requesting to locate their structures in a World. If true, allows structures not overridden in the section below to be saved by default. If you wish to find a structure to prevent it being saved, enableauto-populate
and restart the server/world instance.
boolean
true
structures
Per structure override. Having the value of
false
will prevent that specific named structure from saving.
Map<String, Boolean>
permission (Permission)¶
forge-permissions-handler
If
true
, Sponge plugins will be used to handle permissions rather than any Forge mod
boolean
false
player-block-tracker (PlayerBlockTracker)¶
block-blacklist
Block IDs that will be blacklisted for player block placement tracking.
List<String>
enabled
If
true
, adds player tracking support for block positions.Note: This should only be disabled if you do not care who caused a block to change.
boolean
true
spawner (Spawner)¶
Used to control spawn limits around players.
Note: The radius uses the lower value of mob spawn range and server’s view distance.
spawn-limit-ambient
The number of ambients the spawner can potentially spawn around a player.
int
15
spawn-limit-animal
The number of animals the spawner can potentially spawn around a player.
int
15
spawn-limit-aquatic
The number of aquatics the spawner can potentially spawn around a player.
int
5
spawn-limit-monster
The number of monsters the spawner can potentially spawn around a player.
int
70
tick-rate-ambient
The ambient spawning tick rate. Default:
400
int
400
tick-rate-animal
The animal spawning tick rate. Default:
400
int
400
tick-rate-aquatic
The aquatic spawning tick rate. Default:
1
int
1
tick-rate-monster
The monster spawning tick rate. Default:
1
int
1
sql (Sql)¶
Configuration options related to the Sql service, including connection aliases etc
aliases
Aliases for SQL connections, in the format jdbc:protocol://[username[:password]@]host/database
Map<String, String>
teleport-helper (TeleportHelper)¶
Blocks to blacklist for safe teleportation.
force-blacklist
If
true
, this blacklist will always be respected, otherwise, plugins can choose whether or not to respect it.
boolean
false
unsafe-body-block-ids
Block IDs that are listed here will not be selected by Sponge’s safe teleport routine as a safe block for players to warp into. You should only list blocks here that are incorrectly selected, solid blocks that prevent movement are automatically excluded.
List<String>
unsafe-floor-block-ids
Block IDs that are listed here will not be selected by Sponge’s safe teleport routine as a safe floor block.
List<String>
tileentity-activation (TileEntityActivation)¶
auto-populate
If
true
, newly discovered tileentities will be added to this config with default settings.
boolean
false
default-block-range
Default activation block range used for all tileentities unless overridden.
int
64
default-tick-rate
Default tick rate used for all tileentities unless overridden.
int
1
mods
Per-mod overrides. Refer to the minecraft default mod for example.
tileentity-activation.mods (TileEntityActivationMod)¶
Per-mod overrides. Refer to the minecraft default mod for example.
- block-range
Map<String, Integer>
- default-block-range
Integer
- default-tick-rate
Integer
enabled
If
false
, tileentity activation rules for this mod will be ignored and always tick.
boolean
true
- tick-rate
Map<String, Integer>
timings (Timings)¶
- enabled
boolean
true
- hidden-config-entries
List<String>
- history-interval
int
300
- history-length
int
3600
- server-name-privacy
boolean
false
- verbose
boolean
false
world (GlobalWorld)¶
auto-player-save-interval
The auto-save tick interval used when saving global player data.
Note:
20
ticks is equivalent to1
second. Set to0
to disable.
int
900
auto-save-interval
The auto-save tick interval used to save all loaded chunks in a world. Set to
0
to disable.Note:
20
ticks is equivalent to1
second.
int
900
chunk-gc-load-threshold
The number of newly loaded chunks before triggering a forced cleanup.
Note: When triggered, the loaded chunk threshold will reset and start incrementing. Disabled by default.
int
0
chunk-gc-tick-interval
The tick interval used to cleanup all inactive chunks that have leaked in a world. Set to
0
to disable which restores vanilla handling.
int
600
chunk-unload-delay
The number of seconds to delay a chunk unload once marked inactive.
Note: This gets reset if the chunk becomes active again.
int
15
deny-chunk-requests
If
true
, any request for a chunk not currently loaded will be denied (exceptions apply for things like world gen and player movement).Warning: As this is an experimental setting for performance gain, if you encounter any issues then we recommend disabling it.
boolean
true
gameprofile-lookup-task-interval
The interval, in seconds, used by the GameProfileQueryTask to process queued GameProfile requests.
Note: This setting should be raised if you experience the following error:
The client has sent too many requests within a certain amount of time
. Finally, if set to0
or less, the default interval will be used.
int
4
generate-spawn-on-load
If
true
, this world will generate its spawn the moment its loaded.
Boolean
false
invalid-lookup-uuids
The list of uuid’s that should never perform a lookup against Mojang’s session server.
Note: If you are using SpongeForge, make sure to enter any mod fake player’s UUID to this list.
List<UUID>
item-merge-radius
The defined merge radius for Item entities such that when two items are within the defined radius of each other, they will attempt to merge. Usually, the default radius is set to
0.5
in Vanilla, however, for performance reasons2.5
is generally acceptable.Note: Increasing the radius higher will likely cause performance degradation with larger amount of items as they attempt to merge and search nearby areas for more items. Setting to a negative value is not supported!
double
2.5
keep-spawn-loaded
If
true
, this worlds spawn will remain loaded with no players.
Boolean
true
leaf-decay
If
true
, natural leaf decay is allowed.
boolean
true
load-on-startup
If
true
, this world will load on startup.
Boolean
false
max-chunk-unloads-per-tick
The maximum number of queued unloaded chunks that will be unloaded in a single tick.
Note: With the chunk gc enabled, this setting only applies to the ticks where the gc runs (controlled by
chunk-gc-tick-interval
)Note: If the maximum unloads is too low, too many chunks may remain loaded on the world and increases the chance for a drop in tps.
int
100
mob-spawn-range
Specifies the radius (in chunks) of where creatures will spawn. This value is capped to the current view distance setting in server.properties
int
4
portal-agents
A list of all detected portal agents used in this world. In order to override, change the target world name to any other valid world.
Note: If world is not found, it will fallback to default.
Map<String, String>
pvp-enabled
If
true
, this world will allow PVP combat.
boolean
true
view-distance
Override world distance per world/dimension The value must be greater than or equal to
3
and less than or equal to32
The server-wide view distance will be used when the value is-1
.
int
-1
weather-ice-and-snow
If
true
, natural formation of ice and snow in supported biomes will be allowed.
boolean
true
weather-thunder
If
true
, thunderstorms will be initiated in supported biomes.
boolean
true
world-enabled
If
true
, this world will be registered.
boolean
true
This configuration file was generated using SpongeForge 7.2.0 (Forge 2838, SpongeAPI 7.2):
# 1.0
#
# # If you need help with the configuration or have any questions related to Sponge,
# # join us at the IRC or drop by our forums and leave a post.
#
# # IRC: #sponge @ irc.esper.net ( https://webchat.esper.net/?channel=sponge )
# # Forums: https://forums.spongepowered.org/
#
sponge {
# Stopgap measures for dealing with broken mods
broken-mods {
# A list of mod ids that have broken network handlers (they interact with the game from a Netty handler thread).
# All network handlers from a forcibly scheduled to run on the main thread.
# Note that this setting should be considered a last resort, and should only be used as a stopgap measure while waiting for a mod to properly fix the issue.
broken-network-handler-mods=[]
}
bungeecord {
# If 'true', allows BungeeCord to forward IP address, UUID, and Game Profile to this server.
ip-forwarding=false
}
cause-tracker {
# A mapping that is semi-auto-populating for TileEntities whose types
# are found to be providing "null" Block sources as neighbor notifications
# that end up causing crashes or spam reports. If the value is set to
# "true", then a "workaround" will be attempted. If not, the
#
# current BlockState at the target source will be queried from the world.
# This map having a specific
# entry of a TileEntity will prevent a log or warning come up to any logs
# when that "null" arises, and Sponge will self-rectify the TileEntity
# by calling the method "getBlockType()". It is advised that if the mod
# id in question is coming up, that the mod author is notified about the
# error-prone usage of the field "blockType". You can refer them to
# the following links for the issue:
# https://gist.github.com/gabizou/ad570dc09dfed259cac9d74284e78e8b
# https://github.com/SpongePowered/SpongeForge/issues/2787
# Also, please provide them with these links for the example PR to
# fix the issue itself, as the fix is very simple:
# https://github.com/TehNut/Soul-Shards-Respawn/pull/24
# https://github.com/Epoxide-Software/Enchanting-Plus/pull/135
#
auto-fix-null-source-block-providing-tile-entities {}
# If set to 'true', when a mod or plugin attempts to spawn an entity
# off the main server thread, Sponge will automatically
# capture said entity to spawn it properly on the main
# server thread. The catch to this is that some mods are
# not considering the consequences of spawning an entity
# off the server thread, and are unaware of potential race
# conditions they may cause. If this is set to false,
# Sponge will politely ignore the entity being spawned,
# and emit a warning about said spawn anyways.
capture-async-spawning-entities=true
# If 'true', more thorough debugging for PhaseStates
# such that a StackTrace is created every time a PhaseState
# switches, allowing for more fine grained troubleshooting
# in the cases of runaway phase states. Note that this is
# not extremely performant and may have some associated costs
# with generating the stack traces constantly.
generate-stacktrace-per-phase=false
# The maximum number of times to recursively process transactions in a single phase.
# Some mods may interact badly with Sponge's block capturing system, causing Sponge to
# end up capturing block transactions every time it tries to process an existing batch.
# Due to the recursive nature of the depth-first processing that Sponge uses to handle block transactions,
# this can result in a stack overflow, which causes us to lose all infomration about the original cause of the issue.
# To prevent a stack overflow, Sponge tracks the current processing depth, and aborts processing when it exceeds
# this threshold.
# The default value should almost always work properly - it's unlikely you'll ever have to change it.
max-block-processing-depth=1000
# If verbose is not enabled, this restricts the amount of
# runaway phase state printouts, usually happens on a server
# where a PhaseState is not completing. Although rare, it should
# never happen, but when it does, sometimes it can continuously print
# more and more. This attempts to placate that while a fix can be worked on
# to resolve the runaway. If verbose is enabled, they will always print.
maximum-printed-runaway-counts=3
# If true, when a mod attempts to perform a neighbor notification
# on a block, some mods do not know to perform a 'null' check
# on the source block of their TileEntity. This usually goes by
# unnoticed by other mods, because they may perform '==' instance
# equality checks instead of calling methods on the potentially
# null Block, but Sponge uses the block to build information to
# help tracking. This has caused issues in the past. Generally,
# this can be useful for leaving "true" so a proper report is
# generated once for your server, and can be reported to the
# offending mod author.
# This is 'false' by default in SpongeVanilla.
# Review the following links for more info:
# https://gist.github.com/gabizou/ad570dc09dfed259cac9d74284e78e8b
# https://github.com/SpongePowered/SpongeForge/issues/2787
#
report-null-source-blocks-on-neighbor-notifications=false
# If set to 'true', when a mod or plugin attempts to submit a command
# asynchronously, Sponge will automatically capture said command
# and submit it for processing on the server thread. The catch to
# this is that some mods are performing these commands in vanilla
# without considering the possible consequences of such commands
# affecting any thread-unsafe parts of Minecraft, such as worlds,
# block edits, entity spawns, etc. If this is set to false, Sponge
# will politely ignore the command being executed, and emit a warning
# about said command anyways.
resync-commands-from-async=true
# If 'true', the phase tracker will print out when there are too many phases
# being entered, usually considered as an issue of phase re-entrance and
# indicates an unexpected issue of tracking phases not to complete.
# If this is not reported yet, please report to Sponge. If it has been
# reported, you may disable this.
verbose=true
# If 'true', the phase tracker will dump extra information about the current phases
# when certain non-PhaseTracker related exceptions occur. This is usually not necessary, as the information
# in the exception itself can normally be used to determine the cause of the issue
verbose-errors=false
}
commands {
# Command aliases will resolve conflicts when multiple plugins request a specific command,
# Correct syntax is <unqualified command>=<plugin name> e.g. "sethome=homeplugin"
aliases {}
# Defines how Sponge should act when a user tries to access a command they do not have
# permission for
command-hiding {
# If this is true, when a user tries to tab complete a command, or use "/sponge which" or
# "/sponge:help" this prevents commands a user does not have permission for from being completed.
#
# Note that some commands may not show up during tab complete if a user does not have permission
# regardless of this setting.
hide-on-discovery-attempt=true
# If this is true, when a user tries to use a command they don't have permission for, Sponge
# will act as if the command doesn't exist, rather than showing a no permissions message.
hide-on-execution-attempt=false
}
# Some mods may not trigger a permission check when running their command. Setting this to
# true will enforce a check of the Sponge provided permission ("<modid>.command.<commandname>").
# Note that setting this to true may cause some commands that are generally accessible to all to
# require a permission to run.
#
# Setting this to true will enable greater control over whether a command will appear in
# tab completion and Sponge's help command.
#
# If you are not using a permissions plugin, it is highly recommended that this is set to false
# (as it is by default).
enforce-permission-checks-on-non-sponge-commands=false
# Patches the specified commands to respect the world of the sender instead of applying the
# changes on the all worlds.
multi-world-patches {
defaultgamemode=true
difficulty=true
gamerule=true
seed=true
setdefaultspawnpoint=true
time=true
toggledownfall=true
weather=true
worldborder=true
}
}
debug {
# Detect and prevent parts of PlayerChunkMap being called off the main thread.
# This may decrease sever preformance, so you should only enable it when debugging a specific issue.
concurrent-chunk-map-checks=false
# Detect and prevent certain attempts to use entities concurrently.
# WARNING: May drastically decrease server performance. Only set this to 'true' to debug a pre-existing issue.
concurrent-entity-checks=false
# If 'true', Java's thread contention monitoring for thread dumps is enabled.
thread-contention-monitoring=false
}
entity {
# Number of colliding entities in one spot before logging a warning. Set to 0 to disable
collision-warn-size=200
# Number of ticks before a painting is respawned on clients when their art is changed
entity-painting-respawn-delay=2
# Number of ticks before the fake player entry of a human is removed from the tab list (range of 0 to 100 ticks).
human-player-list-remove-delay=10
# Controls the time in ticks for when an item despawns.
item-despawn-rate=6000
# The upper bounded range where living entities farther from a player will likely despawn
living-hard-despawn-range=128
# The amount of seconds before a living entity between the soft and hard despawn ranges from a player to be considered for despawning
living-soft-despawn-minimum-life=30
# The lower bounded range where living entities near a player may potentially despawn
living-soft-despawn-range=32
# Maximum size of an entity's bounding box before removing it. Set to 0 to disable
max-bounding-box-size=1000
# Square of the maximum speed of an entity before removing it. Set to 0 to disable
max-speed=100
}
entity-activation-range {
# If 'true', newly discovered entities will be added to this config with a default value.
auto-populate=false
# Default activation ranges used for all entities unless overridden.
defaults {
ambient=32
aquatic=32
creature=32
misc=16
monster=32
}
# Per-mod overrides. Refer to the minecraft default mod for example.
mods {}
}
entity-collisions {
# If 'true', newly discovered entities/blocks will be added to this config with a default value.
auto-populate=false
# Maximum amount of entities any given entity or block can collide with. This improves
# performance when there are more than 8 entities on top of each other such as a 1x1
# spawn pen. Set to 0 to disable.
max-entities-within-aabb=8
# Per-mod overrides. Refer to the minecraft default mod for example.
mods {
botania {
blocks {}
# Default maximum collisions used for all entities/blocks unless overridden.
defaults {}
# If 'false', entity collision rules for this mod will be ignored.
enabled=true
entities {
corporeaspark=-1
spark=-1
}
}
minecraft {
blocks {
"detector_rail"=1
"heavy_weighted_pressure_plate"=150
"light_weighted_pressure_plate"=15
"mob_spawner"=-1
"stone_pressure_plate"=1
"wooden_button"=1
"wooden_pressure_plate"=1
}
# Default maximum collisions used for all entities/blocks unless overridden.
defaults {}
# If 'false', entity collision rules for this mod will be ignored.
enabled=true
entities {
thrownpotion=-1
}
}
}
}
exploits {
# If limit-book-size is enabled, controls the multiplier applied to each book page size
book-size-total-multiplier=0.98
# Enables filtering invalid entities when a chunk is being saved
# such that the entity that does not "belong" in the saving
# chunk will not be saved, and forced an update to the world's
# tracked entity lists for chunks.
# See https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0311-Prevent-Saving-Bad-entities-to-chunks.patch
filter-invalid-entities-on-chunk-save=true
# Limits the size of a book that can be sent by the client.
# See https://github.com/PaperMC/Paper/blob/f8058a8187da9f6185d95bb786783e12c79c8b18/Spigot-Server-Patches/0403-Book-Size-Limits.patch
# (Only affects SpongeVanilla)
limit-book-size=true
# Enables focing a chunk load when an entity position
# is set. Usually due to teleportation, vehicle movement
# etc. can a position lead an entity to no longer exist
# within it's currently marked and tracked chunk. This will
# enable that chunk for the position is loaded. Part of several
# exploits.See https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0335-Ensure-chunks-are-always-loaded-on-hard-position-set.patch
# (Only affects SpongeVanilla)
load-chunk-on-position-set=true
# Enables forcing chunks to save when an entity is added
# or removed from said chunk. This is a partial fix for
# some exploits using vehicles.See https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0306-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch
# (Only affects SpongeVanilla)
mark-chunks-as-dirty-on-entity-list-modification=true
# If limit-book-size is enabled, controls the maximum size of a book page
max-book-page-size=2560
# Prevents an exploit in which the client sends a packet with the
# itemstack name exceeding the string limit.
prevent-creative-itemstack-name-exploit=true
# Enables forcing updates to the player's location on vehicle movement.
# This is partially required to update the server's understanding of
# where the player exists, and allows chunk loading issues to be avoided
# with laggy connections and/or hack clients.See https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0378-Sync-Player-Position-to-Vehicles.patch
# (Only affects SpongeVanilla)
sync-player-positions-for-vehicle-movement=true
# Enables forcing a chunk-tracking refresh on entity movement.
# This enables a guarantee that the entity is tracked in the
# proper chunk when moving.https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0315-Always-process-chunk-registration-after-moving.patch
# (Only affects SpongeVanilla)
update-tracked-chunk-on-entity-move=true
}
general {
# The directory for Sponge plugin configurations, relative to the
# execution root or specified as an absolute path.
# Note that the default: "${CANONICAL_GAME_DIR}/config"
# is going to use the "config" directory in the root game directory.
# If you wish for plugin configs to reside within a child of the configuration
# directory, change the value to, for example, "${CANONICAL_CONFIG_DIR}/sponge/plugins".
# Note: It is not recommended to set this to "${CANONICAL_CONFIG_DIR}/sponge", as there is
# a possibility that plugin configurations can conflict the Sponge core configurations.
#
config-dir="${CANONICAL_GAME_DIR}/config"
# If 'true', sleeping between chunk saves will be enabled, beware of memory issues.
file-io-thread-sleep=false
# Additional directory to search for plugins, relative to the
# execution root or specified as an absolute path.
# Note that the default: "${CANONICAL_MODS_DIR}/plugins"
# is going to search for a plugins folder in the mods directory.
# If you wish for the plugins folder to reside in the root game
# directory, change the value to "${CANONICAL_GAME_DIR}/plugins".
plugins-dir="${CANONICAL_MODS_DIR}/plugins"
}
ip-sets {}
logging {
# Log when blocks are broken
block-break=false
# Log when blocks are modified
block-modify=false
# Log when blocks are placed
block-place=false
# Log when blocks are populated in a chunk
block-populate=false
# Log when blocks are placed by players and tracked
block-tracking=false
# Log when chunks are queued to be unloaded by the chunk garbage collector.
chunk-gc-queue-unload=false
# Log when chunks are loaded
chunk-load=false
# Log when chunks are unloaded
chunk-unload=false
# Whether to log entity collision/count checks
entity-collision-checks=false
# Log when living entities are destroyed
entity-death=false
# Log when living entities are despawned
entity-despawn=false
# Log when living entities are spawned
entity-spawn=false
# Whether to log entity removals due to speed
entity-speed-removal=false
# Log when server receives exploited packet with itemstack name exceeding string limit.
exploit-itemstack-name-overflow=false
# Log when player attempts to respawn invisible to surrounding players.
exploit-respawn-invisibility=false
# Log when server receives exploited packet to update a sign containing commands from player with no permission.
exploit-sign-command-updates=false
# Add stack traces to dev logging
log-stacktraces=false
# Log when a world auto-saves its chunk data. Note: This may be spammy depending on the auto-save-interval configured for world.
world-auto-save=false
}
metrics {
# The global collection state that should be respected by all plugins that have no specified collection state. If undefined then it is treated as disabled.
global-state=UNDEFINED
# Plugin-specific collection states that override the global collection state.
plugin-states {}
}
modules {
# Enables experimental fixes for broken mods
broken-mod=false
bungeecord=false
entity-activation-range=true
entity-collisions=true
# Controls whether any exploit patches are applied.
# If there are issues with any specific exploits, please
# test in the exploit category first, before disabling all
# exploits with this toggle.
exploits=true
# Allows configuring Vanilla movement and speed checks
movement-checks=false
optimizations=true
# Use real (wall) time instead of ticks as much as possible
realtime=false
# Controls block range and tick rate of tileentities.
# Use with caution as this can break intended functionality.
tileentity-activation=false
timings=true
tracking=true
}
movement-checks {
# Controls whether the 'player/entity moved wrongly!' check will be enforced
moved-wrongly=true
# Controls whether the 'player moved too quickly!' check will be enforced
player-moved-too-quickly=true
# Controls whether the 'vehicle of player moved too quickly!' check will be enforced
player-vehicle-moved-too-quickly=true
}
optimizations {
# Runs lighting updates asynchronously.
async-lighting {
# If 'true', lighting updates are run asynchronously.
enabled=true
# The amount of threads to dedicate for asynchronous lighting updates. (Default: 2)
num-threads=2
}
# Caches tameable entities owners to avoid constant lookups against data watchers. If mods
# cause issues, disable this.
cache-tameable-owners=true
# Occasionally, some built in advancements,
# recipes, etc. can fail to deserialize properly
# which ends up potentially spamming the server log
# and the original provider of the failing content
# is not able to fix. This provides an option to
# suppress the exceptions printing out in the log.
disable-failing-deserialization-log-spam=true
# If 'true', block item drops are pre-processed to avoid
# having to spawn extra entities that will be merged post spawning.
# Usually, Sponge is smart enough to determine when to attempt an item pre-merge
# and when not to, however, in certain cases, some mods rely on items not being
# pre-merged and actually spawned, in which case, the items will flow right through
# without being merged.
drops-pre-merge=false
# Uses theosib's redstone algorithms to completely overhaul the way redstone works.
eigen-redstone {
# If 'true', uses theosib's redstone implementation which improves performance.
# See https://bugs.mojang.com/browse/MC-11193 and
# https://bugs.mojang.com/browse/MC-81098 for more information.
# Note: We cannot guarantee compatibility with mods. Use at your discretion.
enabled=false
# If 'true', restores the vanilla algorithm for computing wire power levels when powering off.
vanilla-decrement=false
# If 'true', restores the vanilla algorithm for propagating redstone wire changes.
vanilla-search=false
}
# If 'true', provides a fix for possible leaks through
# Minecraft's enchantment helper code that can leak
# entity and world references without much interaction
# Forge native (so when running SpongeForge implementation)
# has a similar patch, but Sponge's patch works a little harder
# at it, but Vanilla (SpongeVanilla implementation) does NOT
# have any of the patch, leading to the recommendation that this
# patch is enabled "for sure" when using SpongeVanilla implementation.
# See https://bugs.mojang.com/browse/MC-128547 for more information.
#
enchantment-helper-leak-fix=true
# If 'true', allows for Sponge to make better assumptinos on single threaded
# operations with relation to various checks for server threaded operations.
# This is default to true due to Sponge being able to precisely inject when
# the server thread is available. This should make an already fast operation
# much faster for better thread checks to ensure stability of sponge's systems.
faster-thread-checks=true
# If 'true', re-writes the incredibly inefficient Vanilla Map code.
# This yields enormous performance enhancements when using many maps, but has a tiny chance of breaking mods that invasively modify Vanilla.It is strongly reccomended to keep this on, unless explicitly advised otherwise by a Sponge developer
map-optimization=true
# Based on Aikar's optimizationo of Hoppers, setting this to 'true'
# will allow for hoppers to save performing server -> client updates
# when transferring items. Because hoppers can transfer items multiple
# times per tick, these updates can get costly on the server, with
# little to no benefit to the client. Because of the nature of the
# change, the default will be 'false' due to the inability to pre-emptively
# foretell whether mod compatibility will fail with these changes or not.
# Refer to: https://github.com/PaperMC/Paper/blob/8175ec916f31dcd130fe0884fe46bdc187d829aa/Spigot-Server-Patches/0269-Optimize-Hoppers.patch
# for more details.
optimize-hoppers=false
# If 'true', uses Panda4494's redstone implementation which improves performance.
# See https://bugs.mojang.com/browse/MC-11193 for more information.
# Note: This optimization has a few issues which are explained in the bug report.
# We strongly recommend using eigen redstone over this implementation as this will
# be removed in a future release.
panda-redstone=false
# Handles structures that are saved to disk. Certain structures can take up large amounts
# of disk space for very large maps and the data for these structures is only needed while the
# world around them is generating. Disabling saving of these structures can save disk space and
# time during saves if your world is already fully generated.
# Warning: disabling structure saving will break the vanilla locate command.
structure-saving {
# If 'true', newly discovered structures will be added to this config
# with a default value of 'true'. This is useful for finding out
# potentially what structures are being saved from various mods, and
# allowing those structures to be selectively disabled.
auto-populate=false
# If 'false', disables the modification to prevent certain structures
# from saving to the world's data folder. If you wish to prevent certain
# structures from saving, leave this "enabled=true". When 'true', the
# modification allows for specific 'named' structures to NOT be saved to
# disk. Examples of some structures that are costly and somewhat irrelivent
# is 'mineshaft's, as they build several structures and save, even after
# finished generating.
enabled=false
# Per-mod overrides. Refer to the minecraft default mod for example.
mods {
minecraft {
# If 'false', this mod will never save its structures. This may
# break some mod functionalities when requesting to locate their
# structures in a World. If true, allows structures not overridden
# in the section below to be saved by default. If you wish to find
# a structure to prevent it being saved, enable 'auto-populate' and
# restart the server/world instance.
enabled=true
# Per structure override. Having the value of 'false' will prevent
# that specific named structure from saving.
structures {
mineshaft=false
}
}
}
}
# Vanilla performs a lot of is area loaded checks during
# entity collision calculations with blocks, and because
# these calculations require fetching the chunks to see
# if they are loaded, before getting the block states
# from those chunks, there can be some small performance
# increase by checking the entity's owned active chunk
# it may currently reside in. Essentially, instead of
# asking the world if those chunks are loaded, the entity
# would know whether it's chunks are loaded and that neighbor's
# chunks are loaded.
use-active-chunks-for-collisions=false
}
permission {
# If 'true', Sponge plugins will be used to handle permissions rather than any Forge mod
forge-permissions-handler=false
}
player-block-tracker {
# Block IDs that will be blacklisted for player block placement tracking.
block-blacklist=[]
# If 'true', adds player tracking support for block positions.
# Note: This should only be disabled if you do not care who caused a block to change.
enabled=true
}
# Used to control spawn limits around players.
# Note: The radius uses the lower value of mob spawn range and server's view distance.
spawner {
# The number of ambients the spawner can potentially spawn around a player.
spawn-limit-ambient=15
# The number of animals the spawner can potentially spawn around a player.
spawn-limit-animal=15
# The number of aquatics the spawner can potentially spawn around a player.
spawn-limit-aquatic=5
# The number of monsters the spawner can potentially spawn around a player.
spawn-limit-monster=70
# The ambient spawning tick rate. Default: 400
tick-rate-ambient=400
# The animal spawning tick rate. Default: 400
tick-rate-animal=400
# The aquatic spawning tick rate. Default: 1
tick-rate-aquatic=1
# The monster spawning tick rate. Default: 1
tick-rate-monster=1
}
# Configuration options related to the Sql service, including connection aliases etc
sql {
# Aliases for SQL connections, in the format jdbc:protocol://[username[:password]@]host/database
aliases {}
}
# Blocks to blacklist for safe teleportation.
teleport-helper {
# If 'true', this blacklist will always be respected, otherwise, plugins can choose whether
# or not to respect it.
force-blacklist=false
# Block IDs that are listed here will not be selected by Sponge's safe teleport routine as
# a safe block for players to warp into.
# You should only list blocks here that are incorrectly selected, solid blocks that prevent
# movement are automatically excluded.
unsafe-body-block-ids=[]
# Block IDs that are listed here will not be selected by Sponge's safe
# teleport routine as a safe floor block.
unsafe-floor-block-ids=[]
}
tileentity-activation {
# If 'true', newly discovered tileentities will be added to this config with default settings.
auto-populate=false
# Default activation block range used for all tileentities unless overridden.
default-block-range=64
# Default tick rate used for all tileentities unless overridden.
default-tick-rate=1
# Per-mod overrides. Refer to the minecraft default mod for example.
mods {}
}
timings {
enabled=true
hidden-config-entries=[
"sponge.sql"
]
history-interval=300
history-length=3600
server-name-privacy=false
verbose=false
}
world {
# The auto-save tick interval used when saving global player data. (Default: 900)
# Note: 20 ticks is equivalent to 1 second. Set to 0 to disable.
auto-player-save-interval=900
# The auto-save tick interval used to save all loaded chunks in a world.
# Set to 0 to disable. (Default: 900)
# Note: 20 ticks is equivalent to 1 second.
auto-save-interval=900
# The number of newly loaded chunks before triggering a forced cleanup.
# Note: When triggered, the loaded chunk threshold will reset and start incrementing.
# Disabled by default.
chunk-gc-load-threshold=0
# The tick interval used to cleanup all inactive chunks that have leaked in a world.
# Set to 0 to disable which restores vanilla handling. (Default: 600)
chunk-gc-tick-interval=600
# The number of seconds to delay a chunk unload once marked inactive. (Default: 15)
# Note: This gets reset if the chunk becomes active again.
chunk-unload-delay=15
# If 'true', any request for a chunk not currently loaded will be denied (exceptions apply
# for things like world gen and player movement).
# Warning: As this is an experimental setting for performance gain, if you encounter any issues
# then we recommend disabling it.
deny-chunk-requests=false
# The interval, in seconds, used by the GameProfileQueryTask to process queued GameProfile requests. (Default: 4)
# Note: This setting should be raised if you experience the following error:
# "The client has sent too many requests within a certain amount of time".
# Finally, if set to 0 or less, the default interval will be used.
gameprofile-lookup-task-interval=4
# If 'true', this world will generate its spawn the moment its loaded.
generate-spawn-on-load=false
# The list of uuid's that should never perform a lookup against Mojang's session server.
# Note: If you are using SpongeForge, make sure to enter any mod fake player's UUID to this list.
invalid-lookup-uuids=[
"00000000-0000-0000-0000-000000000000",
"0d0c4ca0-4ff1-11e4-916c-0800200c9a66",
"41c82c87-7afb-4024-ba57-13d2c99cae77"
]
# The defined merge radius for Item entities such that when two items are
# within the defined radius of each other, they will attempt to merge. Usually,
# the default radius is set to 0.5 in Vanilla, however, for performance reasons
# 2.5 is generally acceptable.
# Note: Increasing the radius higher will likely cause performance degradation
# with larger amount of items as they attempt to merge and search nearby
# areas for more items. Setting to a negative value is not supported!
item-merge-radius=2.5
# If 'true', this worlds spawn will remain loaded with no players.
keep-spawn-loaded=true
# If 'true', natural leaf decay is allowed.
leaf-decay=true
# If 'true', this world will load on startup.
load-on-startup=false
# The maximum number of queued unloaded chunks that will be unloaded in a single tick.
# Note: With the chunk gc enabled, this setting only applies to the ticks
# where the gc runs (controlled by 'chunk-gc-tick-interval')
# Note: If the maximum unloads is too low, too many chunks may remain
# loaded on the world and increases the chance for a drop in tps. (Default: 100)
max-chunk-unloads-per-tick=100
# Specifies the radius (in chunks) of where creatures will spawn.
# This value is capped to the current view distance setting in server.properties
mob-spawn-range=4
# A list of all detected portal agents used in this world.
# In order to override, change the target world name to any other valid world.
# Note: If world is not found, it will fallback to default.
portal-agents {
"minecraft:default_the_end"=DIM1
"minecraft:default_the_nether"=DIM-1
}
# If 'true', this world will allow PVP combat.
pvp-enabled=true
# Override world distance per world/dimension
# The value must be greater than or equal to 3 and less than or equal to 32
# The server-wide view distance will be used when the value is -1.
view-distance=-1
# If 'true', natural formation of ice and snow in supported biomes will be allowed.
weather-ice-and-snow=true
# If 'true', thunderstorms will be initiated in supported biomes.
weather-thunder=true
# If 'true', this world will be registered.
world-enabled=true
}
# World Generation Modifiers to apply to the world
world-generation-modifiers=[]
}