YiC200333 / XConomy

An economy plugin that supports data synchronization between multiple servers
GNU General Public License v3.0
92 stars 32 forks source link

sometimes money rollbacked on server switching / sometimes offline money transation by auction plugin not worked. #129

Open Ecilpse opened 5 months ago

Ecilpse commented 5 months ago

Version of XConomy
XConomy V2.2.1

Server version
paper 1.20.1

Storage-type
SQLite / MySQL mySql

Describe the issues

  1. sometimes player mony has rollbacked after server switching.

  2. sometimes offline money transation by auction plugin was not worked.


(option)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: false

#Settings
Settings:
  #Chinese ChineseTW English French Spanish Russian Turkish Japanese German
  #Indonesia Portuguese Italian
  language: English
  #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: 100000
  #Tax to be paid for pay command (0.5 means 50%, 1 means 100%)
  payment-tax: 0.1
  #Ranking size (Max value 100)
  ranking-size: 10
  #Rows per page of list (Ranking and help menu)
  lines-per-page: 10
  #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: true

#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: true
  #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: true
    fields-list:
      - tax
      - nation-
      - town-
      - nation2-
      - town2-

#The display of the currency
Currency:
  singular-name: 원
  plural-name: 원
  #Is the balance an integer
  integer-bal: true
  thousands-separator: ','
  #%format_balance% indicate the balance after the format
  #display-format: '%balance% %currencyname%'
  display-format: '%balance%'
  #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: BungeeCord
  #Server ID, keep the ID and the MySQL settings is the same between the servers requiring synchronization
  sign: cc

(option)Screenshots

YiC200333 commented 4 months ago

Do you read FAQ? https://github.com/YiC200333/XConomy/blob/master/FAQ/English.md

Ecilpse commented 4 months ago

Do you read FAQ? https://github.com/YiC200333/XConomy/blob/master/FAQ/English.md

Yes. What's the problem?

YiC200333 commented 4 months ago

Is the XConomy configuration file of your sub-server directly copied? Is all the content the same?

If everything is the same, have you installed any other economic synchronization plugins?

Ecilpse commented 4 months ago

Is the XConomy configuration file of your sub-server directly copied? Is all the content the same?

If everything is the same, have you installed any other economic synchronization plugins?

Yes. all the same configuration files, and i didn't use another ecnomic sync plugins. this problems not happend everytimes. sometimes.

YiC200333 commented 4 months ago

There is also an existing issue that may occur when the Redis connection is unstable, I will fix it in a future version.

Ecilpse commented 4 months ago

There is also an existing issue that may occur when the Redis connection is unstable, I will fix it in a future version.

im not using redis now, im using bungeecord channel-type/mysql. because can't send money when server has 0 players.

YiC200333 commented 4 months ago

2.25.11 solved the problem can not receive message from other server #124 . This issue may cause Redis Listening terminals. I am not sure if this issue has been fixed. You can try a new version. If you have any problems, please provide feedback again