Describe the issues
I have several players on my server who have both a java and a bedrock account. Often, they share the exact same name, only being distinguishable by the Geyser-Prefix (in my case the default .), e.g. Java: TestPlayer123 and Bedrock .TestPlayer123.
The importer ignores the prefix and stores both players balance in the data.yml as TestPlayer123.balance overwriting the balance of the other player. This results in a account balance loss for one of them.
XConomy's config.yml
#Default Online Offline SemiOnline
#Default mode will automatically detect the player's UUID(support GeyserMC)
#Online mode is better for servers that enable online-mode(support Yggdrasil)
#Offline mode does not support ignoring username case
#If you use floodgate(GeyserMC) and the option 'username-prefix' is set to empty, Please use SemiOnline mode
UUID-mode: Default
#In convertion mode, can use command '/xconomy' import data from other plugins based on Vault
#Conflicting data will be skipped, The imported data will be saved in XConomy/importdata/data.yml
#In this mode, XConomy will not start normally
#After the conversion, please check data and turn off this mode
#Sponge version does not have this function
Importdata-mode: true
#Settings
Settings:
#Chinese ChineseTW English French Spanish Russian Turkish Japanese German
#Indonesia Portuguese Italian
language: German
#Whether to check for new version
check-update: true
#TOP10 and the Server Total refresh time interval (Seconds)
refresh-time: 300
#If set to true, XConomy will register the following commands:
# - economy
# - eco
# - ebalancetop
# - ebaltop
# - eeconomy
#Please keep in mind that if Essentials is installed on your server
#XConomy will take over these commands.
eco-command: true
#XConomy will disable the economic function of Essentials.
#Just the economic function.
disable-essentials: true
#Initial balance
initial-bal: 0
#Tax to be paid for pay command (0.5 means 50%, 1 means 100%)
payment-tax: 0
#Ranking size (Max value 100)
ranking-size: 10
#Rows per page of list (Ranking and help menu)
lines-per-page: 5
#If you need to modify the data in the database directly, it is recommended to enable it
#Asynchronous saving of data is not supported after caching is disabled
#Disabling caching will increase the pressure on the database
disable-cache: false
#Dose save transaction record
#Only MySQL is supported
transaction-record: true
#Record transaction information of pay command while player offline.
#The player will receive tips when they reconnect.
#Transaction-record function must be enabled.
offline-pay-transfer-tips: false
#Ignore the case of player names
username-ignore-case: false
#It can solve the problem that some plugins need to create non-player accounts, such as Factions
#==========================================================================================
#Plugins supported by default (no requirement to enable non-player-account)
#Towny
#==========================================================================================
#Non-player account data is not synced with BC
non-player-account:
#Whether to enable non-player accounts.
enable: false
#If the account name contains fields in the whitelist, it will be recognized as non-player accounts.
#Otherwise, it is recognized as a player account
#If the player's name contains fields in the whitelist, it will be denied access to the server.
#This function can reduce the times that reading data from the database.
whitelist:
#Whether to enable whitelist.
enable: false
fields-list:
- tax
- nation-
#The display of the currency
Currency:
singular-name: $
plural-name: $
#Is the balance an integer
integer-bal: false
#Method for rounding off excess digits in the amount
#0 indicates rounding down, 1 indicates rounding up
rounding-mode: 0
thousands-separator: ' '
#%format_balance% indicate the balance after the format
display-format: '%balance%%currencyname%'
#Maximum amount (default is maximum)
max-number: '10000000000000000'
format-balance:
1000: k
1000000: m
#SyncData settings
SyncData:
#Whether to enable data synchronization between multiple servers
enable: true
#BungeeCord Redis
#================================================== BungeeCord Channel ==================================================
#After BungeeCord sync is turned on, the console and other plugins will not be able to modify the balance in the server without player
#Please Set bungeecord to true in the spigot.yml
#================================================== Redis Channel ==================================================
#Require 'slf4j' dependencies
channel-type: Redis
#Server ID, keep the ID and the MySQL settings is the same between the servers requiring synchronization
sign: aa
#Region-Thread settings(Only effective for Folia server)
Region-Thread:
#When executing synchronized threads, a coordinate will be randomly selected within the specified range below to perform.
world: world
range-x: 1024
range-y: 1024
Version of XConomy
XConomy V2.26.1
Server version
Spigot 1.20.6
Storage-type
SQLite
Describe the issues
I have several players on my server who have both a java and a bedrock account. Often, they share the exact same name, only being distinguishable by the Geyser-Prefix (in my case the default
.
), e.g. Java:TestPlayer123
and Bedrock.TestPlayer123
. The importer ignores the prefix and stores both players balance in thedata.yml
asTestPlayer123.balance
overwriting the balance of the other player. This results in a account balance loss for one of them.XConomy's config.yml