global.conf 文件

全局设定

Sponge 的全局配置储存在 global.conf 文件中。游戏会自动在 config/sponge 目录下创建该文件。许多配置同时可以通过特定世界或维度中对应的配置文件中的配置来覆盖。

下表给出了 global.conf 文件中所有可用的设定选项。注意:有些内容在缺省设定中不存在,需要在需要时自行加上。在表格的后面还提供了一份未经修改的 global.conf 以供参考。

Sponge 的全局属性

属性名

类型

默认值

说明

Block Tracking 方块跟踪

方块黑名单

字符串

null

添加你希望禁止玩家放置的方块 ID。

enabled

布尔值

true

添加跟踪支持方块位置的玩家。

Bungeecord

ip-forwarding

布尔值

false

允许 Bungeecord 转发 IP 地址、UUID 和游戏配置文件到服务器。

Cause Tracker 原因追踪器

report-different-world-changes

布尔值

false

如果启用,当 mod 对世界作出不可意料的改动时,Sponge 将会生成报告。

verbose

布尔值

true

如果启用,那么将在存在特别多的阶段时启用跟踪程序并打印相关信息。

Commands 命令

aliases

字符串

null

当多个插件请求一个特定的命令时,别名将解决冲突。正确的语法是 <unqualified command>=<plugin name>。示例如下:

aliases = {
    title=myPlugin
}

config-enabled

布尔值

false

允许维度或世界的特定配置覆盖他们继承的配置。

Debug Options 调试选项

concurrent-entity-checks

布尔值

false

检测并防止对实体的同时使用。

dump-chunks-on-deadlock

布尔值

false

事件死锁时转储区块数据。

dump-heap-on-deadlock

布尔值

false

事件死锁时转储堆事件。

dump-threads-on-warn

布尔值

false

事件死锁警告时转储服务器线程。

thread-contention-monitoring

布尔值

false

启用关于 Java 的线程竞争(Thread Contention)的监视器。

Entity Options 实体选项

collision-warn-size

整数

200

在同一个位置发生实体碰撞达到设定的上限值时触发警告。可以将其设为 0 来禁用。

count-warn-size

整数

0

在同一个世界维度中出现的实体达到设定的上限值时触发警告,将其设为 0 来禁用。

entity-painting-respawn-delay

整数

2

设定作为实体的画在被更换后的多少个 tick 同步至客户端。

human-player-list-remove-delay

整数

10

将虚拟玩家从 Tab 列表中移除的时间。请输入一个 0-100 的值。

item-despawn-rate

整数

6000

物品消失时间,以 Tick 为单位。

living-hard-despawn-range

整数

128

保证实体不会消失的距离玩家的最大距离(译者注:参见 Minecraft 的刷怪机制)。

living-soft-despawn-minimum-life

整数

30

在消失(译者注:见上一条)和潜在地消失(译者注:见下一条)范围之间的实体尝试消失的时间间隔(译者注:参见 Minecraft 的刷怪机制)。

living-soft-despawn-range

整数

32

保证实体不会潜在地消失的距离玩家的最大距离(译者注:参见 Minecraft 的刷怪机制)。

max-bounding-box-size

整数

1000

在实体存活期间的碰撞箱的最大尺寸。可以将其设为 0 以禁用。

max-speed

整数

100

实体存活期间的最大速度的平方。可以将其设为 0 以禁用。

Entity Activation Range 实体活动范围

auto-populate

布尔值

false

如果启用,新出现的实体将添加到该配置的默认值。

Defaults 默认值

生物的默认激活范围(被特殊指定的生物除外)。

ambient

整数

32

环境实体(Ambient Entity)的默认激活范围。

aquatic

整数

32

水生实体的默认激活范围。

creature

整数

16

生物的默认激活范围。

misc

整数

16

其他实体(Miscellaneous Entity)的默认激活范围。

monster

整数

32

怪物的默认激活范围。

Mods 模组

和具体模组有关,比如表示 Minecraft 游戏本体的默认模组(译者注:Sponge 本身将 Minecraft 本体看作是一个模组)。

Entity Collisions 实体碰撞

auto-populate

布尔值

false

如果启用,新出现的实体或方块将添加到该配置的默认值。

Defaults 默认值

生物或方块的默认碰撞盒(被特殊指定的生物或方块除外)。

max-entities-within-aabb

整数

8

一个实体或方块可以发生碰撞的数量上限。可以将其设为 0 以禁用。

Mods 模组

和具体模组有关,比如表示 Minecraft 游戏本体的默认模组(译者注:Sponge 本身将 Minecraft 本体看作是一个模组)。

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

一个木质压力板的最大碰撞个数。

Defaults 默认值

生物或方块的默认碰撞盒(被特殊指定的生物或方块除外)。

blocks

整数

8

方块的默认最大碰撞个数。

entities

整数

8

实体的默认最大碰撞个数。

enabled

布尔值

true

设置为 false 可以使模组忽略实体碰撞的限制。

Entities 实体

thrownpotion

整数

-1

一个扔出去的药水的最大碰撞个数。

Exploits 漏洞

prevent-creative-itemstack-name-exploit

布尔值

true

阻止客户端发送名称长度超过字符串的最大限制的物品数据包。

prevent-sign-command-exploit

布尔值

true

阻止客户端发送没有相应权限的玩家创建包含命令的内容的牌子数据包。

General Settings 常规设置

config-dir

字符串

参见 config

设定插件配置文件所在的目录。

disable-warnings

布尔值

false

阻止将警告消息发送到服务器管理员处的行为。

file-io-thread-sleep

布尔值

false

启用两次区块保存操作之间的休眠

plugins-dir

字符串

参见 config

指定一个包含有插件的额外目录。

Ip Sets IP 集合

Logging Options 日志选项

block-break

布尔值

false

破坏方块时记录。

block-modify

布尔值

false

当方块被改变时记录。

block-place

布尔值

false

当方块被放置时记录。

block-populate

布尔值

false

当方块在区块中填充时记录。

block-tracking

布尔值

false

当方块被玩家放置和跟踪时记录。

chunk-gc-queue-unload

布尔值

false

当区块被设置为等待卸载时记录。

chunk-load

布尔值

false

当区块加载时记录。

chunk-unload

布尔值

false

当区块卸载时记录。

entity-collision-checks

布尔值

false

是否记录对于实体碰撞或计数的检查。

entity-death

布尔值

false

当生物实体被破坏(死亡)时记录。

entity-despawn

布尔值

false

当生物实体消失(Despawn)时记录。

entity-spawn

布尔值

false

当生物实体在世界上生成(Spawn)时记录。

entity-speed-removal

布尔值

false

是否记录由于实体移速过快而导致的移除。

exploit-itemstack-name-overflow

布尔值

false

记录对客户端发送名称长度超过字符串的最大限制的物品数据包的阻止行为。

exploit-respawn-invisibility

布尔值

false

记录玩家试图重生时对其他玩家不可见的行为。

exploit-sign-command-updates

布尔值

false

记录对客户端发送没有相应权限的玩家创建包含命令的内容的牌子数据包的阻止行为。

log-stacktraces

布尔值

false

将堆栈跟踪(Stacktrace)添加到 dev 日志记录中。

world-auto-save

布尔值

false

如果设置为 true,世界自动保存时将在日志文件记录区块数据。

Modules 模块

bungeecord

布尔值

false

启用 Bungeecord 支持。

entity-activation-range

布尔值

true

启用实体激活范围设置。

entity-collisions

布尔值

true

启用实体碰撞设定

exploits

布尔值

true

启用反滥用模块。

game-fixes

布尔值

false

启用游戏修复模块。

optimizations

布尔值

true

启用优化模块。

realtime

布尔值

false

使用真实的时间取代 ticks。

timings

布尔值

true

启用定时设置。

tracking

布尔值

true

启用跟踪模块。

Optimizations 优化

参见性能调优的相关内容

Spawner 生物生成

spawn-limit-ambient

整数

15

可生成在玩家周围的环境生物数量。

spawn-limit-animal

整数

15

可生成在玩家周围的动物的数量。

spawn-limit-aquatic

整数

5

可生成在玩家周围的水生生物的数量。

spawn-limit-monster

整数

70

可生成在玩家周围的怪物的数量。

tick-rate-ambient

整数

400

环境生物生成的频率。

tick-rate-animal

整数

400

动物生成的频率。

tick-rate-aquatic

整数

400

水生生物生成的频率。

tick-rate-monster

整数

1

怪物生成的概率。

SQL

aliases

字符串

null

SQL 连接的别名。格式是这样的:jdbc:protocol://[username[:password]@]host/database

Timings 计时

enabled

布尔值

true

是否启用计时。

hidden-config-entries

字符串

sponge.sql

隐藏的配置条目。

history-interval

整数

300

计时报告的生成周期。

history-length

整数

3600

为服务器保留多长时间(以 tick 为单位)的计时历史。

server-name-privacy

布尔值

false

是否在报告里包括服务器名称、motd、online-mode、和服务器图标等资料。

verbose

布尔值

true

计时报告的监测记录是否为详细模式。

World Settings 世界设置

auto-player-save-interval

整数

900

自动保存全局玩家数据的间隔(以 tick 为单位)。

auto-save-interval

整数

900

自动保存世界中所有已加载的区块的间隔(以 tick 为单位)。

chunk-gc-load-threshold

整数

0

在下一次强制垃圾回收之前,最大可触发的新加载区块数量。

chunk-gc-tick-interval

整数

1

自动清理世界中所有不活跃的区块的间隔(以 tick 为单位)。

chunk-unload-delay

整数

30

标记为不活跃的区块还能存活多久(以秒为单位)。

deny-chunk-requests

布尔值

true

启用后,任何涉及当前未加载区块的请求都会被拒绝。

flowing-lava-decay

布尔值

false

当设置为 true 时,岩浆的行为将表现得像没有水源的原版水一样。

gameprofile-lookup-batch-size

整数

1

允许的对 Mojang 服务器发起的 GameProfile 请求数。

gameprofile-lookup-task-interval

整数

1

两次请求 GameProfile 的时间间隔。

generate-spawn-on-load

布尔值

false

该世界是否应该在世界加载时生成。

infinite-water-source

布尔值

false

当设置为 false 时,继续使用默认原版水源行为(译者注:无限水源)。

invalid-lookup-uuids

数组

参见 config

不应向 Mojang 服务器发起查询 GameProfile 请求的 UUID 列表。

item-merge-radius

整数

2.5

物品实体的合并半径(译者注:掉落的物品能在多远的距离互相合并)。

keep-spawn-loaded

布尔值

false

出生点是否在没有玩家时保持加载。在全局配置中修改此选项不会有任何效果。该选项最终以世界设定为准,因此也不需要显式启用。

leaf-decay

布尔值

true

启用后,树叶将会自然枯萎。

load-on-startup

布尔值

false

世界是否在启动时加载。在全局配置中修改此选项不会有任何效果,全局配置也不需要启用,因为它总会以世界设定为主。

mob-spawn-range

整数

8

指定生成生物的半径(以区块为单位)。此数值受 server.properties 中的当前视野范围限制。

Portal Agents 传送门代理

一个在这个世界上的所有用于传送门代理的传送门列表。如果想要覆盖它,请把目标世界名称换成任何其他的可用的世界。如果设置的目标世界不存在,配置将仍使用默认值。

“minecraft:default_nether”

world

DIM-1

默认的下界。

“minecraft:default_the_end”

world

DIM1

默认的末地。

pvp-enabled

布尔值

true

是否允许世界中的 PVP 战斗。

weather-ice-and-snow

布尔值

true

启用后,会因天气与气候而自然生成雪和冰。

weather-thunder

布尔值

true

启用以启动雷暴。

world-enabled

布尔值

true

启用以允许该世界被注册。

本配置在 SpongeForge build 2360(基于 Forge 2282)及 SpongeAPI 版本 6.0 的环境下生成。

# 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 {
    block-capturing {
        # If enabled, newly discovered blocks will be added to this config with a default value.
        auto-populate=false
        # Per-mod block id mappings for controlling capturing behavior
        mods {
            extrautils2 {
                # Set to true to perform individual capturing (i.e. skip bulk capturing) for scheduled ticks for a block type
                block-tick-capturing {
                    RedstoneClock=true
                }
                # Set to false if you want to ignore all specific rules for this mod
                enabled=true
            }
        }
    }
    block-tracking {
        # Add block ids you wish to blacklist for player block placement tracking.
        block-blacklist=[]
        # If enabled, 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
    }
    bungeecord {
        # If enabled, allows BungeeCord to forward IP address, UUID, and Game Profile to this server
        ip-forwarding=false
    }
    cause-tracker {
        # If true, when a mod changes a world that is different
        # from an expected world during a WorldTick event, the
        # cause tracker will identify both the expected changed
        # world and the actual changed world. This does not mean
        # that the changes are being dropped, simply it means that
        # a mod is possibly unknowingly changing a world other
        # than what is expected.
        report-different-world-changes=false
        # If true, the cause 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 cause tracker will dump extra information about the current phaseswhen certain non-CauseTracker 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 {
        # A mapping from unqualified command alias to plugin id of the plugin that should handle a certain command
        aliases {}
        # 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
        }
    }
    # This setting does nothing in the global config. In dimension/world configs, it allows the config to override config(s) that it inherits from
    config-enabled=false
    debug {
        # Detect and prevent certain attempts to use entities concurrently.
        # WARNING: May drastically decrease server performance. Only enable this 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
        # Enable Java's thread contention monitoring for thread dumps
        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
        # Max size of an entity's bounding box before removing it. Set to 0 to disable
        max-bounding-box-size=1000
        # Square of the max speed of an entity before removing it. Set to 0 to disable
        max-speed=100
    }
    entity-activation-range {
        # If enabled, 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 enabled, newly discovered entities/blocks will be added to this config with a default value.
        auto-populate=false
        # Default max collisions used for all entities/blocks unless overridden.
        defaults {
            blocks=8
            entities=8
        }
        # Max amount of entities any given entity or block can collide with. This improves performance when there are more than 8 entities on top of eachother 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 max collisions used for all entities/blocks unless overridden.
                defaults {}
                # Set to false if you want mod to ignore entity collision rules.
                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 max collisions used for all entities/blocks unless overridden.
                defaults {}
                # Set to false if you want mod to ignore entity collision rules.
                enabled=true
                entities {
                    thrownpotion=-1
                }
            }
        }
    }
    exploits {
        prevent-creative-itemstack-name-exploit=true
        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
        # Enabled sleeping between chunk saves, 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
    }
    modules {
        block-capturing-control=true
        bungeecord=false
        entity-activation-range=true
        entity-collisions=true
        exploits=true
        game-fixes=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
    }
    optimizations {
        # Runs lighting updates async.
        async-lighting=true
        # Caches tameable entities owners to avoid constant lookups against data watchers. If mods cause issue, disable.
        cache-tameable-owners=true
        # If enabled, 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=true
        # 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 enabled, 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 {
                    # Set to false if you want mod to never save structures.
                    enabled=true
                    structures {
                        mineshaft=false
                    }
                }
            }
        }
    }
    # 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 {}
    }
    tileentity-activation {
        # If enabled, 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=true
    }
    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 enabled, any request for a chunk not currently loaded will be denied (exceptions apply for things like world gen and player movement).
        # Note: As this is an experimental setting for performance gain, if you encounter any issues then we recommend disabling it.
        deny-chunk-requests=true
        # 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 http://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
        # Enable if you want the world to generate 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
        # Enable if this world's spawn should remain loaded with no players.
        keep-spawn-loaded=false
        # Enable to allow natural leaf decay.
        leaf-decay=true
        # Enable if this world should be loaded 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 max 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_nether"=DIM-1
            "minecraft:default_the_end"=DIM1
        }
        # Enable if this world allows PVP combat.
        pvp-enabled=true
        # Enable to allow the natural formation of ice and snow in supported biomes.
        weather-ice-and-snow=true
        # Enable to initiate thunderstorms in supported biomes.
        weather-thunder=true
        # Enable if this world should be registered.
        world-enabled=true
    }
}