-
Notifications
You must be signed in to change notification settings - Fork 1
Features
Below is a list of all features, organized by their respective configuration options. The configuration for Suki is the same as Paper, and can be found in:
- Global settings:
config/suki-global.yml
- World settings: defaults in
config/suki-world-defaults.yml
, and overriding settings for a specific world can be defined in<world name>/suki-world.yml
Suki provides many optimization options. If you would like to increase your TPS, it is recommended to start with the recommended setting values. The options that can increase your TPS the most are:
- Global
view-distance.track.max-total-chunks
- World
view-distance.track.per-player
- Global
view-distance.see.max-total-chunks
- World
view-distance.see.per-player
- World
view-distance.load.per-player
- World
item-pickup.hopper.tick-rate
Suki can automatically update players' view distances to get the most out of your hardware, and you can easily reach view distances of 32 using normal CPU and RAM!
Global track.max-total-chunks
The maximum number of chunks that can be tracked by all players together. Tracking means: the player will receive entity and block updates from these chunks. A higher value costs more CPU and network bandwidth.
-1
means no limit.Default:
-1
Recommended: for a server with 4 cores @ 2.0 GHz, with usually 15 players online max,2500
works well. For2500
: if there are 15 players online, each player can track chunks at a distance of 6. If you would like 30 players to track chunks at a distance of 6, you should use5000
, etcetera.
World track.per-player
Whether track view distance is automatically optimally set for each player individually.
Default:
false
Recommended:true
World track.limit-by-client-view-distance
(Only if
track.per-player
istrue
)Whether chunks further than the client view distance will not be tracked by players. Setting this to
true
saves CPU and network bandwidth, without being noticeable by players.Default:
false
Recommended:true
World track.max
(Only if
track.per-player
istrue
)The maximum chunk distance for each individual player to track.
-1
means no limit.Default:
-1
Recommended:11
Global see.max-total-chunks
The maximum number of chunks that can be seen by all players together. See distance should be much higher than tracking (which includes entities and block changes) distance. A higher value costs more RAM, and a little bit more CPU.
-1
means no limit.Default:
-1
Recommended: for a server with 8GB RAM, with usually 15 players online max,12500
works well. For12500
: if there are 15 players online, each player can see chunks at a distance of 14. If you would like 30 players to see chunks at a distance of 14, you should use25000
, etcetera.
World see.per-player
Whether see view distance is automatically optimally set for each player individually.
Default:
false
Recommended:true
World see.limit-by-client-view-distance
(Only if
see.per-player
istrue
)Whether chunks further than the client view distance will not be sent to players. Setting this to
true
saves network bandwidth, without being noticeable by players.Default:
false
Recommended:true
World see.max
(Only if
see.per-player
istrue
)The maximum chunk distance for each individual player to see.
-1
means no limit.Normally, it is not necessary to change this setting, because with
see.per-player
, Suki will already set the view distance fairly without a limit being required.Default:
-1
Recommended:-1
World load.per-player
Whether the distance at which chunks are loaded into server memory is automatically optimally set for each player individually.
Default:
false
Recommended:true
World load.limit-by-client-view-distance
(Only if
load.per-player
istrue
)Whether chunks further than the client view distance will not be loaded into server memory. Setting this to
true
saves CPU and RAM. If the client sets a low view distance, this makes mob spawning higher up or lower down in their own chunks more likely, and mob spawning further away less likely.Default:
false
Recommended:true
- but note that this may change mob spawning for players with very low client view distance (such as 4 or lower)
World load.limit-by-see-view-distance
(Only if
load.per-player
istrue
)Whether chunks further than the player can receive will not be loaded into server memory. Setting this to
true
saves CPU and RAM.Default:
false
Recommended:true
World load.max
(Only if
load.per-player
istrue
)The maximum chunk distance to load into server memory for each individual player.
-1
means no limit.Normally, it is not necessary to change this setting, because with
load.per-player
, Suki will already set the load distance fairly without a limit being required.Default:
-1
Recommended:-1
World if-can-see-but-not-tracking
Whether some chunk events will be sent to players that are too far away to see the entities in that chunk:
send-chunk-refresh
When plugins request to refresh the chunk for a player
Default:true
Recommended:false
send-end-portal-fill-sound
The sound when an End portal is completed
Default:true
Recommended:true
send-ender-dragon-spawn-sound
The sound when an Ender Dragon spawns
Default:true
Recommended:true
send-wither-spawn-sound
The sound when a Wither spawns
Default:true
Recommended:true
Global allow-invalid-client-view-distance
Whether to allow clients to send an invalid view distance. If
true
, clients can send a view distance above 127 (but it will have no effect). Iffalse
, clients will be kicked when they send a view distance above 127.Default:
false
Chunk packets will be interweaved with non-chunk packets to provide a smooth game experience even if the network capacity (of either the server or client) is limited, or if the client's CPU, GPU or RAM loads/renders chunks slowly. This system fully replaces the vanilla packet sending (which is: send all packets in order regardless of type), and cannot be completely turned off.
World max-chunk-packets-in-transit.target-player-chunk-send-rate-margin-factor
The Paper configuration setting
chunk-loading.target-player-chunk-send-rate
will be multiplied by this value to get a target estimation for the network-constrained chunk sending. A higher value means chunks are sent sooner, meaning faster chunk loading, but a higher chance of overloading the network capacity.Default:
1.15
Recommended: recommended to keep at1.15
, but can be changed to between1.0
(mostly helps clients with bad computer specs or bad connections) and1.5
(mostly helps clients with good computer specs and connections but high ping - such as on the other side of the world)
Global assume-packets-in-transit-arrived-after-time
Packets will be assumed to have arrived after this time in milliseconds, even if no response has been received.
Default:
600
Recommended: the highest ping that you expect your players to normally have - but600
is a reasonably good guess for most servers
Global ignore-network-conditions-for-chunks-within-chessboard-distance
Chunk packets within this distance of the player will always be instantly sent like vanilla, without being placed in a queue behind non-chunk packets. A value of
-1
means all chunk packets are potentially queued behind non-chunk packets.Default:
1
Recommended:1
is a good default setting,-1
if your players have very bad computer specs and get screen freeze when teleporting,2
if your players have good computer specs
Hoppers picking up items is intensive for the server, so it is helpful to decrease the frequency at which the necessary checks are performed. This barely affects gameplay in any way, and doensn't break mob farms or redstone machines unless they rely on tick-precise floating item pickups of hoppers (I have never seen such a farm or machine because they would probably not work in vanilla either).
World hopper.tick-rate
How often (in ticks) to tick hoppers to pick up floating items. This does not affect hoppers pulling items from container such as chests or other hoppers: it only affects floating items lying on top of them. A higher value can increase TPS if there are a lot of open hoppers (hoppers without a block above them) on the server, because all hoppers that are open on the top will constantly check for floating items (even if there are no items nearby).
Default:
1
Recommended:20
(once every second)
World hopper.minecart-immunity.duration
For how long (in ticks) hopper minecarts can ignore
hopper.tick-rate
and pick up items every tick, after items are detected nearby.-1
disables these extra pickups for hopper minecarts.Default:
200
Recommended:200
World hopper.minecart-immunity.detection
Settings for the detection of dropped items around hopper minecarts to give them temporary immunity from
hopper.tick-rate
(seehopper.minecart-immunity.duration
).
horizontal-distance
Max horizontal distance to check for items
Default:32.0
Recommended:32.0
vertical-distance
Max vertical distance to check for items
Default:4.0
Recommended:4.0
max-age
Max age (in ticks) of a hopper minecart to gain temporary item pickup limit immunity (-1
means no age limit)
Default:1200
Recommended:1200
tick-rate
How often (in ticks) to check for items nearby
Default:20
(once every second)
Recommended:20
World villager.delay-after-drop
For how long (in ticks) items dropped by villagers cannot be picked up. When a villager's inventory is full, they will drop some of their items on the ground, particularly to pass them to other villagers (in the case of farmers). This can lead to multiple villagers constantly throwing food at each other in a villager breeding farm. If this value is
-1
, the vanilla value (which is currently10
) is used.Default:
-1
Recommended:100
(5 seconds)
World only-refresh-for-players
Whether to only refresh lootables (such as naturally generated chests) when the contents are checked by a player.
Default:
false
Recommended:true
World all-nether-bricks-count-as-fortress
If
true
, mobs that normally only spawn in Nether fortresses can spawn on Nether bricks anywhere in the Nether.Default:
false
World wither
If
true
, a Wither will never despawn just because all players are far away.Default:
false
World too-quickly.self
Whether the vanilla
<player> moved too quickly
check is enabled.Default:
true
World too-quickly.vehicle
Whether the vanilla
Vehicle of <player> moved too quickly
check is enabled.Default:
true
World wrongly.self
Whether the vanilla
<player> moved wrongly
check is enabled.Default:
true
World wrongly.vehicle
Whether the vanilla
Vehicle of <player> moved wrongly
check is enabled.Default:
true
World enabled
Whether chunks are relocated when data corruption is detected. This is
true
in Paper.Default:
true
Recommended:false