Configuratie
- Nieuwste versie
- 1.7.4
- Minecraft
- 26.x
- Platforms
- Spigot, Paper, Folia, Purpur, Velocity, BungeeCord
- Minimale Java-versie
- 25+
Dit artikel is geschreven voor 1.7.0. De nieuwste stabiele versie is 1.7.4; gebruik de actuele vereisten hierboven.
Configuratie
Vervang bij voorbeelden de betreffende sleutels of secties en behoud andere standaardwaarden. Herstart na handmatige backendwijzigingen.
Gegenereerde bestanden
Backendpaden zijn relatief aan
Opslaginstellingen
Synchronisatie en profielen
Teamtoegang
Backendbridge
Proxyinstellingen
PER_GROUP-volgorde:
Oude opties
Voorbeeld: Survival-werelden en apart Creative
Namen moeten bij jouw werelden passen. Vervang de betreffende secties en laat group-by-server ontbreken of leeg om wereldtoewijzingen te gebruiken.
Voorbeeld: twee Survival-servers en aparte Lobby
Gebruik dezelfde database en volledige groepslijst op alle drie de backends. Verander alleen storage.server-id in survival-1, survival-2 of lobby. Vervang inloggegevens en gedeeld geheim. Behoud andere standaardwaarden. Het proxyblok hieronder is alleen nodig voor de optionele bridge.
Berichten aanpassen
Volledige standaardbestanden van 1.7.0
Dit zijn de volledige standaardbestanden van 1.7.0, met oorspronkelijke opmerkingen en berichten. Wiki-vertalingen vertalen de spelberichten niet automatisch.
Vervang bij voorbeelden de betreffende sleutels of secties en behoud andere standaardwaarden. Herstart na handmatige backendwijzigingen.
/isync reload valideert configuratie en herlaadt berichten; het verbindt opslag niet opnieuw en past synchronisatie-, bridge- of beheerinstellingen niet toe. GUI-schakelaars worden direct opgeslagen en toegepast; houd beleid in je MySQL-netwerk gelijk.Gegenereerde bestanden
Backendpaden zijn relatief aan
plugins/InventorySyncPRO/. Proxyinstellingen staan meestal in plugins/InventorySyncPRO/ op BungeeCord of plugins/inventorysyncpro/ op Velocity.Code · Platte tekst
config.yml — Backendopslag, profielen, bridge en beheerbeleid
messages.yml — Backend-chat, voorvoegsel, kleuren en variabelen
inventories-spigot.db — Standaard lokale database; bewerk de bytes niet handmatig
backups/ — Consistente SQLite-kopieën via /isync backup
proxy.properties — Alleen proxybridge-instellingen; properties, geen YAML
Opslaginstellingen
Code · Platte tekst
storage.type (standaard: SQLITE) — SQLITE voor één backend; MYSQL voor een gedeeld netwerk
storage.server-id (standaard: survival) — Unieke backend-ID; 1–32 letters/cijfers/._-; exacte proxynaam met de bridge
storage.sqlite.file (standaard: inventories-spigot.db) — Relatief databasepad binnen de pluginmap
storage.mysql.host (standaard: 127.0.0.1) — MySQL-hostnaam of IP, geen JDBC-URL
storage.mysql.port (standaard: 3306) — MySQL-poort; 1–65535
storage.mysql.database (standaard: inventorysync) — Databasenaam
storage.mysql.username (standaard: inventorysync) — Databasegebruiker
storage.mysql.password (standaard: "") — Databasewachtwoord
storage.mysql.pool-size (standaard: 10) — Grootte van verbindingspool; 1–50
storage.mysql.lock-ttl-ms (standaard: 10000) — Geldigheidsduur sessie-/schrijfvergrendeling; 2000–300000 ms
storage.mysql.connection-timeout-ms (standaard: 10000) — Wachten op poolverbinding; 1000–120000 ms
storage.mysql.validation-timeout-ms (standaard: 5000) — Verbindingscontrole; 1000 ms tot connection-timeout-ms
storage.mysql.socket-timeout-ms (standaard: 30000) — MySQL-antwoordlimiet; 1000–300000 ms
storage.mysql.max-lifetime-ms (standaard: 1800000) — Levensduur verbinding; 30000–3600000 ms
storage.mysql.keepalive-time-ms (standaard: 30000) — 0 schakelt uit; anders minstens 30000 ms en lager dan max-lifetime-ms
storage.mysql.use-ssl (standaard: false) — Schakel TLS in als MySQL daarvoor is ingericht
Synchronisatie en profielen
Code · Platte tekst
sync.debounce-ms (standaard: 750) — Opslagvertraging die snelle wijzigingen samenvoegt; 0–60000 ms
sync.mode (standaard: GLOBAL) — GLOBAL / PER_WORLD / PER_GROUP
sync.ender-chest (standaard: true) — EnderChest-synchronisatie en /endersee inschakelen
sync.xp (standaard: true) — XP-synchronisatie en /xpsee inschakelen
sync.restore-on-join (standaard: true) — Opgeslagen gegevens laden bij deelname; true verplicht voor MySQL
sync.session-acquire-timeout-ms (standaard: 15000) — Wachten op vorige sessie; 1000–120000 ms
sync.operation-timeout-ms (standaard: 20000) — Limiet beschermde handeling; 1000–120000 ms, niet lager dan session-acquire-timeout-ms
sync.kick-on-failure (standaard: true) — Verbreek bij beschermde synchronisatiefout; true verplicht voor MySQL
sync.group-default (standaard: global) — Terugvalprofiel voor PER_GROUP
sync.group-by-server (standaard: {}) — Optionele server-id → groep-toewijzing; voorrang op werelden
sync.group-by-world (standaard: {}) — Optionele wereld → groep-toewijzing; zonder passende server
Teamtoegang
Code · Platte tekst
admin.allow-offline-view (standaard: true) — Bekijken van opgeslagen offline gegevens toestaan
admin.allow-offline-edit (standaard: true) — Offline wijzigingen met passende edit-rechten toestaan
admin.allow-remote-edit (standaard: true) — Externe wijzigingen met edit en remote-edit toestaan
Backendbridge
Code · Platte tekst
bridge.enabled (standaard: false) — Optionele bridge; vereist MYSQL
bridge.secret (standaard: RANDOM_SECRET) — Hetzelfde willekeurige geheim op proxy en backends; 16–256 tekens, liefst 32+; vervang RANDOM_SECRET
bridge.timeout-ms (standaard: 4000) — Limiet bridgeaanvraag; 250–15000 ms
Proxyinstellingen
Code · Platte tekst
enabled (standaard: false) — Routering op proxy en backends inschakelen
secret (standaard: RANDOM_SECRET) — Exact dezelfde waarde als bridge.secret op de backend
packets-per-second (standaard: 200) — Budget per backend, inclusief broadcastbezorging; 10–2000
allowed-servers (standaard: "") — Geregistreerde backendnamen met komma’s; leeg staat alle geldige geregistreerde namen toe
PER_GROUP-volgorde:
group-by-server → group-by-world → group-default. Een servertoewijzing omvat al zijn werelden. Laat die backend uit de serverlijst om zijn werelden te splitsen. Gebruik eenvoudige kleine letters, zoals survival; ongeldige tekens worden genormaliseerd. Commando’s gebruiken het basisprofiel zonder interne EnderChest-/XP-achtervoegsels.Oude opties
invsee.allow-offline-view, invsee.allow-offline-edit en invsee.allow-remote-edit gelden alleen als de overeenkomstige admin.*-sleutel ontbreekt. Gebruik actuele admin-sleutels bij nieuwe installaties.Voorbeeld: Survival-werelden en apart Creative
Namen moeten bij jouw werelden passen. Vervang de betreffende secties en laat group-by-server ontbreken of leeg om wereldtoewijzingen te gebruiken.
Code · Platte tekst
storage:
type: SQLITE
server-id: "survival"
sqlite:
file: "inventories-spigot.db"
sync:
mode: PER_GROUP
ender-chest: true
xp: true
restore-on-join: true
kick-on-failure: true
group-default: "survival"
group-by-server: {}
group-by-world:
world: "survival"
world_nether: "survival"
world_the_end: "survival"
creative: "creative"
bridge:
enabled: false
Voorbeeld: twee Survival-servers en aparte Lobby
Gebruik dezelfde database en volledige groepslijst op alle drie de backends. Verander alleen storage.server-id in survival-1, survival-2 of lobby. Vervang inloggegevens en gedeeld geheim. Behoud andere standaardwaarden. Het proxyblok hieronder is alleen nodig voor de optionele bridge.
Code · Platte tekst
storage:
type: MYSQL
server-id: "survival-1"
mysql:
host: "mysql.internal"
port: 3306
database: "inventorysync"
username: "inventorysync"
password: "REPLACE_WITH_YOUR_DATABASE_PASSWORD"
sync:
mode: PER_GROUP
ender-chest: true
xp: true
restore-on-join: true
kick-on-failure: true
group-default: "lobby"
group-by-server:
survival-1: "survival"
survival-2: "survival"
lobby: "lobby"
group-by-world: {}
bridge:
enabled: true
secret: "REPLACE_WITH_ONE_RANDOM_SECRET_FOR_THE_WHOLE_NETWORK"
timeout-ms: 4000
Code · Platte tekst
enabled=true
secret=REPLACE_WITH_ONE_RANDOM_SECRET_FOR_THE_WHOLE_NETWORK
packets-per-second=200
allowed-servers=survival-1,survival-2,lobby
Berichten aanpassen
messages.yml accepteert tekst of lijsten, &-kleuren, HEX &#RRGGBB en berichtspecifieke variabelen zoals %prefix%, %player% en %profile%. Gebruik "" voor een stil bericht of enabled: false om dit systeem uit te zetten. Ongeldige YAML behoudt eerdere berichten. GUI-teksten en proxyantwoorden worden hier niet ingesteld. Oude invsee-sleutels blijven voor compatibiliteit; huidige commando’s gebruiken data.Volledige standaardbestanden van 1.7.0
Dit zijn de volledige standaardbestanden van 1.7.0, met oorspronkelijke opmerkingen en berichten. Wiki-vertalingen vertalen de spelberichten niet automatisch.
config.yml
Code · Platte tekst
storage:
type: SQLITE # SQLITE = single server | MYSQL = network
server-id: "survival" # Unique backend ID (must match the backend name in BungeeCord/Velocity)
mysql:
host: "127.0.0.1" # MySQL host
port: 3306 # MySQL port
database: "inventorysync" # Database name
username: "inventorysync" # MySQL user
password: "" # MySQL password
pool-size: 10 # Connection pool size
lock-ttl-ms: 10000 # Distributed write/session lock lifetime
connection-timeout-ms: 10000 # Maximum wait for a pooled connection
validation-timeout-ms: 5000 # Connection validation timeout
socket-timeout-ms: 30000 # Maximum wait for a MySQL response
max-lifetime-ms: 1800000 # Maximum pooled connection lifetime
keepalive-time-ms: 30000 # Keep idle network connections healthy (0 = disabled)
use-ssl: false # Enable TLS when MySQL is configured for it
sqlite:
file: "inventories-spigot.db" # SQLite file (local server)
sync:
debounce-ms: 750 # Save delay after last change (ms)
mode: GLOBAL # GLOBAL / PER_WORLD / PER_GROUP
ender-chest: true # Sync EnderChest
xp: true # Sync XP (level + bar)
restore-on-join: true # Restore inventory/ender/xp on join
session-acquire-timeout-ms: 15000 # Wait for the previous backend to finish saving
operation-timeout-ms: 20000 # Maximum protected join/world-switch operation time
kick-on-failure: true # Disconnect instead of risking stale/duplicated data
group-default: "global" # Default group (PER_GROUP)
# group-by-server: # Map server-id -> group
# spigot-1: "survival"
# spigot-2: "survival"
# group-by-world: # Map world -> group
# world: "survival"
# world_nether: "survival"
bridge:
enabled: false # Enable the signed InventorySyncPRO BungeeCord/Velocity bridge
secret: "RANDOM_SECRET" # Same secret on proxy + every backend (16..256 characters; 32+ recommended)
timeout-ms: 4000 # Remote request timeout (ms)
admin:
# Shared switches for /invsee, /endersee and /xpsee. Each has separate permissions.
# Legacy invsee.* keys are used only when the corresponding admin.* key is absent.
allow-offline-view: true # Allow viewing saved player data
allow-offline-edit: true # Allow editing saved player data
allow-remote-edit: true # Also requires the command's .edit and .remote-edit permissions
# /invsee, /endersee and /xpsee use the shared database directly; bridge.enabled is not required.
# Install the same JAR on BungeeCord/Velocity and every backend. Configure proxy.properties.
# Use the same MySQL database, unique
# server-id values matching proxy backend names, matching sync settings, and one bridge secret.
# SQLite supports local and offline players on this server only.
# With no profile argument, offline operations select the latest saved profile for that data type.
# Names enter the shared directory when players join; older data can also be opened by UUID.
messages.yml
Code · Platte tekst
# Every user-facing chat message can be changed here.
# Set a message to "" to disable only that message. Supports & colors and &#RRGGBB HEX colors.
enabled: true
prefix: "&8[&BDF8InventorySyncPRO&8] &r"
sync:
join-start: "%prefix%&7Synchronizing your inventory..."
join-success: "%prefix%&aYour inventory has been synchronized."
join-empty: "%prefix%&7No synchronized data exists yet. Your current inventory will be used."
world-start: "%prefix%&7Saving &f%old_profile%&7 and loading &f%new_profile%&7..."
world-success: "%prefix%&aInventory profile changed to &f%profile%&a."
interaction-blocked: "%prefix%&ePlease wait until inventory synchronization finishes."
session-busy: "%prefix%&eWaiting for the previous server to finish saving your inventory..."
load-failed: "%prefix%&cYour inventory could not be loaded safely. Please reconnect."
save-failed: "%prefix%&cYour inventory could not be saved safely. Please reconnect."
session-lost: "%prefix%&cThe inventory session lock was lost. Please reconnect."
kick-load-failed: "&cInventory synchronization failed.\n&7Please reconnect in a moment."
kick-save-failed: "&cInventory could not be saved safely.\n&7Please reconnect in a moment."
kick-session-lost: "&cYour inventory session expired.\n&7Please reconnect to protect your items."
kick-plugin-disable: "&cInventory synchronization is restarting.\n&7Please reconnect in a moment."
general:
no-permission: "%prefix%&cYou do not have permission to use this command."
players-only: "%prefix%&cOnly players can use this command."
data:
invsee-usage: "&eUsage: /{label} <player|uuid> [profile]"
denied: "&cYou no longer have permission to edit this data."
endersee-usage: "%prefix%&7Usage: &f/%label% <player|uuid> [profile]"
xpsee-usage:
- "%prefix%&7View: &f/%label% <player|uuid> [profile]"
- "%prefix%&7Edit: &f/%label% <player|uuid> <set|add|remove> <amount> [levels|points] [profile]"
loading: "%prefix%&7Loading current player data..."
saving: "%prefix%&7Applying and saving changes..."
saved: "%prefix%&aChanges for &f%player% &awere applied and saved."
xp: "%prefix%&f%player% &7| Level: &f%level% &7| Bar: &f%progress%%% &7| Points: &f%points% &7| Profile: &f%profile% &7| &f%location%"
not_found: "%prefix%&cPlayer not found. For older offline data, try the player's UUID."
no_data: "%prefix%&eNo saved data exists for this player/profile."
disabled: "%prefix%&cThis data type is disabled. Enable sync.ender-chest or sync.xp and restart."
offline_disabled: "%prefix%&cOffline viewing or editing is disabled."
remote_disabled: "%prefix%&cYou cannot edit this data on another backend."
busy: "%prefix%&eA request is already running. Please wait."
conflict: "%prefix%&eThe data changed while you were editing. Refresh and try again; your draft was not applied."
moved: "%prefix%&eThe player changed server or is synchronizing. Try again in a moment."
profile_changed: "%prefix%&eThe player's active profile changed. Reopen the data before editing."
invalid_amount: "%prefix%&cUse a non-negative whole number. The resulting XP must fit within 2,147,483,647 points."
timeout: "%prefix%&eThe request timed out. Refresh to check the current data before retrying an edit."
save_uncertain: "%prefix%&eThe live edit was applied, but its database save could not be confirmed. Refresh before retrying."
error: "%prefix%&cThe operation failed. Check the console and refresh the data before retrying."
invsee:
usage: "%prefix%&7Usage: &f/%label% <player>"
self-denied: "%prefix%&cUse your normal inventory instead of /invsee on yourself."
target-syncing: "%prefix%&eThat player's inventory is still synchronizing. Try again in a moment."
player-not-found: "%prefix%&cPlayer not found: &f%player%"
locating: "%prefix%&7Checking the network location of &f%player%&7..."
location-unknown-readonly: "%prefix%&eThe player's network location could not be verified. Opening a safe read-only snapshot."
remote-flush: "%prefix%&7Player is online on &f%server%&7. Requesting a fresh inventory..."
remote-flush-failed: "%prefix%&eThe remote refresh failed. Showing the latest safe saved inventory."
remote-flush-success: "%prefix%&aFresh inventory received."
remote-flush-timeout: "%prefix%&eThe remote refresh timed out. Showing the latest safe saved inventory."
remote-flush-error: "%prefix%&cRemote refresh failed. Showing the latest safe saved inventory."
offline-disabled: "%prefix%&cOffline inventory viewing is disabled."
no-saved-data: "%prefix%&eNo saved inventory exists for &f%player%&e."
unsupported-data: "%prefix%&cThe saved inventory uses an unsupported or damaged data format."
load-failed: "%prefix%&cCould not load the inventory of &f%player%&c."
edit-locked: "%prefix%&eAnother administrator is already editing this inventory."
save-success: "%prefix%&aInventory changes were saved."
save-failed: "%prefix%&cInventory changes could not be saved."
admin:
usage: "%prefix%&7Usage: &f/%label% <status|backup|reload>"
status:
- "%prefix%&BDF8InventorySyncPRO status"
- "&7Storage: &f%storage%"
- "&7Active sessions: &f%sessions%"
- "&7Protected/retiring sessions: &f%protected_sessions%"
- "&7Live queue entries: &f%live_queue%"
- "&7Offline queue entries: &f%offline_queue%"
- "&7Active database writes: &f%active_writes%"
reload-success: "%prefix%&aMessages reloaded. Configuration is valid; restart to apply storage or sync changes."
reload-invalid: "%prefix%&cConfiguration was not applied because it is invalid: &f%reason%"
reload-messages-invalid: "%prefix%&cMessages were not reloaded because messages.yml contains invalid YAML. The previous messages remain active."
backup-unavailable: "%prefix%&eBuilt-in backup is unavailable in MySQL mode. Use your database backup tool."
backup-start: "%prefix%&7Creating a consistent SQLite backup..."
backup-already-running: "%prefix%&eA SQLite backup is already running."
backup-success: "%prefix%&aBackup created: &f%file%"
backup-failed: "%prefix%&cBackup failed. Check the server console."
proxy.properties
Code · Platte tekst
# InventorySyncPRO BungeeCord / Velocity bridge
# Set enabled=true and the same bridge.secret as on EVERY backend.
enabled=false
secret=RANDOM_SECRET
# Per-backend budget, including broadcast fan-out. Bursts of twice this size are allowed.
packets-per-second=200
# Optional comma-separated backend names. Empty = all registered backends.
allowed-servers=
