global.conf

全域設定

global.conf 設定檔包含 Sponge 的全域設定。此檔案建立於伺服器資料夾中的 config/sponge 資料夾。其中許多屬性也能夠透過使用 config/worlds 子資料夾中的設定檔為特定世界或特定維度覆寫。

下表是 global.conf 檔案中可用的設定項目與其對應說明。請注意,有些部分不會立即被填入,會在伺服器需要他們時被添加。在清單下方也有一份未經修改的 global.conf 範例檔案:

Sponge 的全域屬性

block-capturing

auto-populate
若為「true」,新發現的方塊將被以預設值添加到此設定中。
mods
用來控制捕獲行為的各模組方塊 ID 映射
block-tick-capturing
若為「true」,將執行針對方塊類型的 tick 調度的獨立捕獲(即跳過批量捕獲)。
enabled
若為「false」,針對此模組的所有特定規則將被忽略。
block-tick-capturing
若為「true」,將執行針對方塊類型的 tick 調度的獨立捕獲(即跳過批量捕獲)。

block-tracking

block-blacklist
在此黑名單的方塊 ID 將不會被進行方塊放置追蹤。
enabled
若為「true」,使方塊位置支援玩家追蹤。注意:只有你不在乎誰導致方塊變化時,這才應該被停用。

bungeecord

ip-forwarding
若為「true」,允許 BungeeCord 轉發 IP 位址、UUID、玩家檔案到此伺服器。

cause-tracker

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.
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.
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.
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.
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

commands

aliases
指令別名將解決多個插件請求特定指令時的衝突。正確的語法為 <unqualified command>=<plugin name> 如:「sethome=homeplugin」
multi-world-patches
Patches the specified commands to respect the world of the sender instead of applying the changes on the all worlds.
config-enabled
此設定在全域設定中沒有作用。在維度/世界設定中,它允許該設定檔用以覆寫它所繼承的設定檔。

debug

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.
dump-chunks-on-deadlock
Dump 死結的事件中的 chunk
dump-heap-on-deadlock
Dump 死結的事件中的 heap
dump-threads-on-warn
Dump 死結警告的伺服器執行緒
thread-contention-monitoring
If 『true』, Java’s thread contention monitoring for thread dumps is enabled.

entity

collision-warn-size
在記錄警告之前,一個點的碰撞實體數。設為 0 以停用
count-warn-size
在記錄警告之前,一個維度的實體數。設為 0 以停用
entity-painting-respawn-delay
在美術被改變時,在客戶端重新生成繪畫前的 Tick 數
human-player-list-remove-delay
從 Tab 清單刪除人類的虛假玩家條目之前的 Tick 數(範圍由 0 到 100 Tick)
item-despawn-rate
控制物品消失的時間 Tick 數。
living-hard-despawn-range
The upper bounded range where living entities farther from a player will likely despawn
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
living-soft-despawn-range
The lower bounded range where living entities near a player may potentially despawn
max-bounding-box-size
Maximum size of an entity’s bounding box before removing it. Set to 0 to disable
max-speed
Square of the maximum speed of an entity before removing it. Set to 0 to disable

entity-activation-range

auto-populate
若為「true」,新發現的實體將被以預設值添加到此設定中。
defaults
所有實體的預設活動範圍,除非被覆寫。
mods
各模組覆寫。請參閱 Minecraft 預設模組。

entity-collisions

auto-populate
若為「true」,新發現的實體/方塊將被以預設值添加到此設定中。
defaults
所有實體/方塊的預設最大碰撞,除非被覆寫。
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 to 0 to disable.
mods
各模組覆寫。請參閱 Minecraft 預設模組。
defaults
所有實體/方塊的預設最大碰撞,除非被覆寫。
enabled
若為「false」,針對此模組的實體碰撞規則將被忽略。
defaults
所有實體/方塊的預設最大碰撞,除非被覆寫。
enabled
若為「false」,針對此模組的實體碰撞規則將被忽略。

exploits

prevent-creative-itemstack-name-exploit
防止客戶端發送包含 ItemStack 名稱超過字串限制的封包。
prevent-sign-command-exploit
防止客戶端由沒有權限的玩家發送更新包含指令的告示牌的封包。

general

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 the 「plugins」 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.
disable-warnings
停用給予伺服器管理員的警告訊息
file-io-thread-sleep
If 『true』, sleeping between chunk saves will be enabled, beware of memory issues.
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」.

logging

block-break
當方塊被破壞時記錄
block-modify
當方塊被修改時記錄
block-place
當方塊被放置時記錄
block-populate
Log when blocks are populated in a chunk
block-tracking
當方塊被玩家放置與被追蹤時記錄
chunk-gc-queue-unload
Log when chunks are queued to be unloaded by the chunk garbage collector.
chunk-load
當 Chunk 被載入時記錄
chunk-unload
當 Chunk 被卸載時記錄
entity-collision-checks
是否記錄實體碰撞/計數檢查
entity-death
當生物實體被摧毀時記錄
entity-despawn
Log when living entities are despawned
entity-spawn
當生物實體被生成時記錄
entity-speed-removal
是否記錄實體由於速度而被刪除
exploit-itemstack-name-overflow
當伺服器接收到 ItemStack 名稱超過字串限制的封包時記錄。
exploit-respawn-invisibility
Log when player attempts to respawn invisible to surrounding players.
exploit-sign-command-updates
當伺服器收到由沒有權限的玩家更新包含指令的告示牌的封包時記錄
log-stacktraces
將推疊追蹤(Stack Traces)添加至開發記錄
world-auto-save
當一個世界自動儲存它的 Chunk 資料時記錄。注意:根據世界的 auto-save-interval 設定,這可能造成 Spam。

metrics-collection

default-permission
Determines whether newly added plugins can collect server metrics by default
plugin-permissions
Per-plugin toggles indicating whether a plugin is allowed to collect server metrics

modules

movement-checks
允許設定原版移動與速度檢查
realtime
Use real (wall) time instead of ticks as much as possible
tileentity-activation
Controls block range and tick rate of tileentities. Use with caution as this can break intended functionality.

movement-checks

moved-wrongly
控制是否強制執行「player/entity moved wrongly!」檢查
player-moved-too-quickly
控制是否強制執行「player moved too quickly!」檢查
player-vehicle-moved-too-quickly
控制是否強制執行「vehicle of player moved too quickly!」檢查

optimizations

async-lighting
以非同步的方式進行亮度更新。
enabled
若為「true」,亮度更新將以非同步的方式進行。
num-threads
專門用於非同步亮度更新的執行緒數量(預設:2)
cache-tameable-owners
Caches tameable entities owners to avoid constant lookups against data watchers. If mods cause issues, disable this.
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.
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 enabled 「for sure」 when using SpongeVanilla implementation. See https://bugs.mojang.com/browse/MC-128547 for more information.
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.
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.
auto-populate
若為「true」,新發現的結構將被以預設值添加到此設定中。
mods
各模組覆寫。請參閱 Minecraft 預設模組。
enabled
若為「false」,此模組將不會儲存其結構。
spawner
用來控制玩家周圍的生成限制。注意:這個半徑將使用生物生成範圍與伺服器視野距離的較小值。

spawner

spawn-limit-ambient
生怪磚能夠在玩家周圍生成的環境音效的數量。
spawn-limit-animal
生怪磚能夠在玩家周圍生成的動物的數量。
spawn-limit-aquatic
The number of aquatics the spawner can potentially spawn around a player.
spawn-limit-monster
生怪磚能夠在玩家周圍生成的怪物的數量。
tick-rate-ambient
環境音效生成 Tick 速率。預設:400
tick-rate-animal
動物生成 Tick 速率。預設:400
tick-rate-aquatic
The aquatic spawning tick rate. Default: 400
tick-rate-monster
怪物生成 Tick 速率。預設:1
sql
關於 SQL 服務的設定選項,包含連線別名等。

sql

aliases
SQL 連線別名,格式為 jdbc:protocol://[username[:password]@]host/database
teleport-helper
Blocks to blacklist for safe teleportation.

teleport-helper

force-blacklist
If 『true』, this blacklist will always be respected, otherwise, plugins can choose whether or not to respect it.
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.
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.

tileentity-activation

auto-populate
若為「true」,新發現的瓦實體將被以預設設定添加到此設定中。
default-block-range
所有瓦實體的預設活動方塊範圍,除非被覆寫。
default-tick-rate
所有瓦實體的預設 Tick 速率,除非被覆寫。
mods
各模組覆寫。請參閱 Minecraft 預設模組。

timings

world

auto-player-save-interval
儲存全域玩家資料的自動儲存 Tick 間隔。(預設:900)注意:20 Tick 等同於 1 秒。設為 0 以停用。
auto-save-interval
儲存世界中所有被載入的 Chunk 的自動儲存 Tick 間隔。設為 0 以停用。(預設:900)注意:20 Tick 等同於 1 秒。
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.
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. (Default: 600)
chunk-unload-delay
The number of seconds to delay a chunk unload once marked inactive. (Default: 15) Note: This gets reset if the chunk becomes active again.
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.
flowing-lava-decay
當源頭方塊被移除時,熔岩表現地像原版的水
gameprofile-lookup-batch-size
The amount of GameProfile requests to make against Mojang’s session server. (Default: 1) Note: Mojang accepts a maximum of 600 requests every 10 minutes from a single IP address. If you are running multiple servers behind the same IP, it is recommended to raise the 『gameprofile-task-interval』 setting in order to compensate for the amount requests being sent. Finally, if set to 0 or less, the default batch size will be used. For more information visit https://wiki.vg/Mojang_API
gameprofile-lookup-task-interval
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.
generate-spawn-on-load
If 『true』, this world will generate its spawn the moment its loaded.
infinite-water-source
原版水源特性 —— 是無限的
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.
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 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!
keep-spawn-loaded
若為「true」,沒有玩家時,世界重生點將保持載入。
leaf-decay
若為「true」,自然樹葉腐爛將被允許。
load-on-startup
若為「true」,啟動時將自動載入世界。
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. (Default: 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
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.
pvp-enabled
若為「true」,此世界將允許 PVP 戰鬥。
view-distance
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.
weather-ice-and-snow
若為「true」,在支援的生態系自然產生冰與雪將被允許。
weather-thunder
若為「true」,雷暴將在支援的生態系被啟動。
world-enabled
若為「true」,此世界將被註冊。

This config was generated using SpongeForge build 3442 (with Forge 2705), SpongeAPI version 7.1.0:

# 1.0
#
# # If you need help with the configuration or have any questions related to Sponge,
# # join us at the IRC, Discord, or drop by our forums and leave a post.
#
# # IRC: #sponge @ irc.esper.net ( https://webchat.esper.net/?channel=sponge )
# # Discord: (https://discord.gg/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 {
        # 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=100
        # 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', 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 {}
        # Patches the specified commands to respect the world of the sender instead of applying the
        # changes on the all worlds.
        multi-world-patches {}
    }
    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
        # Dump chunks in the event of a deadlock
        dump-chunks-on-deadlock=false
        # Dump the heap in the event of a deadlock
        dump-heap-on-deadlock=false
        # Dump the server thread on deadlock warning
        dump-threads-on-warn=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 entities in one dimension before logging a warning. Set to 0 to disable
        count-warn-size=0
        # 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
        # Default maximum collisions used for all entities/blocks unless overridden.
        defaults {
            blocks=8
            entities=8
        }
        # 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 {
                    botaniacorporeaspark=-1
                    botaniaspark=-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 {
        # Prevents an exploit in which the client sends a packet with the
        # itemstack name exceeding the string limit.
        prevent-creative-itemstack-name-exploit=true
        # Prevents an exploit in which the client sends a packet to update a sign containing
        # commands from a player without permission.
        prevent-sign-command-exploit=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 "plugins" 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"
        # Disable warning messages to server admins
        disable-warnings=false
        # 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 {
        # Determines whether plugins that are newly added are allowed to perform
        # data/metric collection by default. Plugins detected by Sponge will be added to the "plugin-permissions" section with this value.
        #
        # Set to true to enable metric gathering by default, false otherwise.
        default-permission=false
        # Provides (or revokes) permission for metric gathering on a per plugin basis.
        # Entries should be in the format "plugin-id=<true|false>".
        #
        # Deleting an entry from this list will reset it to the default specified in
        # "default-permission"
        plugin-permissions {
            test-gradle-plugin=false
        }
    }
    modules {
        # Enables experimental fixes for broken mods
        broken-mod=false
        bungeecord=false
        entity-activation-range=true
        entity-collisions=true
        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
        # 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
        # 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
        # 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.
        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.
            auto-populate=false
            enabled=false
            # Per-mod overrides. Refer to the minecraft default mod for example.
            mods {
                minecraft {
                    # If 'false', this mod will never save its structures.
                    enabled=true
                    structures {
                        mineshaft=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: 400
        tick-rate-aquatic=400
        # 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
        # Lava behaves like vanilla water when source block is removed
        flowing-lava-decay=false
        # The amount of GameProfile requests to make against Mojang's session server. (Default: 1)
        # Note: Mojang accepts a maximum of 600 requests every 10 minutes from a single IP address.
        # If you are running multiple servers behind the same IP, it is recommended to raise the 'gameprofile-task-interval' setting
        # in order to compensate for the amount requests being sent.
        # Finally, if set to 0 or less, the default batch size will be used.
        # For more information visit https://wiki.vg/Mojang_API
        gameprofile-lookup-batch-size=1
        # 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
        # Vanilla water source behavior - is infinite
        infinite-water-source=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=true
        # 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
    }
}