🔀Synchronization

Features

All features can be enabled or disabled at any time. If a feature is disabled, the data will still be saved, but it won't be loaded for the player. This behavior ensures that data won't be lost if you re-enable a previously disabled feature.

Feature
Description

Inventory

Items in the player's inventory, the selected hotbar slot (which also synchronizes persistent data containers and custom model data).

Ender chest

Items in the ender chest (which also synchronizes persistent data containers and custom model data).

Game mode

Player game mode.

Experience

Player experience and level.

Potion effects

Player potion effects.

Health

Player health and max health.

Food

Player food level, saturation and exhaustion.

Air

Player air and maximum air.

Location

Location (X, Y, Z and world). Disabled by default.

Advancements

Player advancements.

Statistics

Global statistics, block statistics and entity statistics.

Fly

Player fly.

Timeouts

Timeouts are utilized in two scenarios:

Player joining

When a player joins a server, timeouts come into play. If the player is transferring from another server with SmoothSync, the plugin checks for a message from the previous server. Upon receiving the message, data synchronization occurs. If the message isn't received within the defined timeout, the data retrieval takes place from Redis or MongoDB.

Requesting Updated User Data

The second case involves actions like using commands such as /invsee, /endersee, /smoothsync edit-inventory, and /smoothsync edit-enderchest. In a manner similar to the previous case, this method detects whether the player is currently connected. If they aren't, the plugin retrieves the data from Redis or MongoDB. If they are connected, a message is dispatched to the server to request an updated user version. If the message isn't received within the specified timeout, the data is fetched from Redis or MongoDB.

Timeout durations can be customized within the config.yml file under the synchronization.timeouts section.

Prevent damage

SmoothSync offers an option (in config.yml) to prevent damage while synchronizing player data.

Data update

Performance mode

You can enable or disable the performance mode (enabled by default in config.yml). Here are the distinctions between the performance modes:

Type
Enabled
Disabled

Regular interval update

Redis

Redis & MongoDB

Update on quit

Redis & MongoDB

Redis & MongoDB

Update on death

Redis

Redis & MongoDB

Update on server stop

Redis & MongoDB

Redis & MongoDB

Save interval

You can set the time interval (in seconds) between each regular update.

Update on death

You can choose to enable or disable (enabled by default in config.yml) the saving of player data when a player dies.

Last updated