Zrips / CMI

115 stars 97 forks source link

CMI chat overriding venture chat. #339

Closed 0xC1A551C closed 6 years ago

0xC1A551C commented 6 years ago

I have disabled bungeechat & everything under the Chat: section in config.yml. Now venturechat does not work at all, and the chat appears to just be cmi white chat. As soon as I remove cmi the chat is fixed.

IGNORE IF YOU ARE SUBMITTING A FEATURE REQUEST

ERROR (IGNORE IF YOU HAVE NO ERROR):

####################
## PASTE ERROR HERE ##
####################

CONFIG SECTION (IGNORE IF NOT RELEVANT):

#####################################
## PASTE RELEVANT CONFIG SECTION HERE ##
#####################################

Cmi Version (using/cmi version): Latest 7.7.2.0 Server Type (Spigot/Paperspigot/etc): Paper Server Version (using /ver): 1.12.2

0xC1A551C commented 6 years ago

Downgrading to the previous version fixes this.

Hellcode48 commented 6 years ago

I also have this issue too on latest version

LogGits commented 6 years ago

@0xC1A551C @xH3LLRAIZ3Rx What other chat plugins are you using?

0xC1A551C commented 6 years ago

I dont have any other chat plugins besides venturechat & CMI. Ive disabled multiverse chat

Hellcode48 commented 6 years ago

@LogGits Same as @0xC1A551C, just venturechat and CMI

0xC1A551C commented 6 years ago

I can say that venturechat is installed on bungee aswell as the spigot instance. CMI is only installed on the spigot instance

0xC1A551C commented 6 years ago

20180507_222530

Image above after uploading the latest version of cmi with venturechat then typing a message in the chat (chat message did not appear) The ram went from 2GB used all the way up to 22GB. CPU from ~40% to 360%

Downgrading to CMI 7.6.6.0 fixes all the issues with no problems, no ram issues, no weird chat messages, ect.

0xC1A551C commented 6 years ago

I decided to go to the latest CMI version again, and reset the config. After entering in my MYSQL details then enabling CMI economy the issue happens with the ram, and if I switch to another mc account I get the white text.

If I reboot a few times it works, then it doesn't & the ram thing happens, then if I reboot some more ill get the white text issue. No idea but something is wrong with the latest versions of cmi

mercurialmusic commented 6 years ago

I use CMI and VentureChat, and while it did take some significant fiddling, they get along fine, even on the latest version, definitely no ram issues. Would you mind pasting your CMI configs? I want to say that changing my settings in CMI for the color stripping was what made the difference.

0xC1A551C commented 6 years ago

The problem is, there are no issues until you reboot a few times & only for some players. My main minecraft account seems to work fine with CMI & Venturechat while my alt account does not work at all. I don't think this is a config issue as I have been using both CMI & Venturechat for the past 6 months without problems until some of the latest updates. I have reported on this issue in the past 2 weeks ago when I kept seeing white messages when switching between servers randomly after he added the bungee changes (switching between bungee servers, and the bungee messaging chat)

0xC1A551C commented 6 years ago

Both CMI & Venturechat are very straight forward. This happens with stock CMI & venturechat configs too.

0xC1A551C commented 6 years ago

But keep in mind, I have 3 servers hooked up to a single bungee instance with CMI on all spigot instances along with venturechat then venturechat on the bungee instance.

mercurialmusic commented 6 years ago

That sounds to me like permissions then, and still makes me think of the color code stripping. Are the players who have normal colors all OP or in a specific permissions group(s) where the others aren't?

I also use CMI and VC across a Bungee network.

0xC1A551C commented 6 years ago

I dont think this is a permission issue as my accounts are both op. There is a mixture of things

image

See how venture chat shows "no one is listening to you"? It only shows that. It should show what I typed then "no one is listening to you?" like on my other account below. My ram usage instantly hits 20GB+ when that OP account logins in & types a single message.

vv This is what it should show which it does on my other OP account. image

Downgrading CMI fixes this issue isntantly.

The white text happens when I cross between servers using /cmi server (servername) it will show parts of the chat from another server all in white text as if I typed it even replaying those messages even if I typed them hours ago. Downgrading to an older CMI fixes this issue too.

I am also no longer having white text only on my chat (unformatted) for no reason. No config changes have been made, but previously I did no matter what.

0xC1A551C commented 6 years ago

All of these problems are very unpredictable, and happen at random almost after every few reboots. it seems like there are multiple conflicts. The only fix I have found is downgrading CMI to an older version.

0xC1A551C commented 6 years ago

image

I just changed these settings to this:


  Tag:
    # Enable or not tag system. This will inform player wbout hies name mentioning in public chat if name have @ in front of it
    Enabled: false
    # When this is set to true, any player mentionings in public messages will be colorized and player will get informed as usual
    # This is allot more heavier on server than usual tagging with @, so enable if you know what you are doing
    HardCoreMode: false
    # Determines color of taged user name in chat with @ in front of name/nickname. Sender should have cmi.tag.color
    Color: '&d'
    Sound:
      # Sound name
      Name: BLOCK_NOTE_HARP
      Volume: 2
      Pitch: 3
    # When set to true, @ simbol will be removed
    RemoveEta: false
Command:
  CommandFilter:
    Duplicate:
      # When set to true, plugin will prevent spaming of same or similar command in short time range. Can be bypased with cmi.commandfilter.bypass permission
      Use: false
      # How much in percentage command is counted as same
      Percentage: 80
      # Defines how often in seconds you can send same/similar commands
      Interval: 3
      # How many commands you can repeat before stopped for cooldown
      MinAmount: 3
      # Whitelisted commands to ignore
      WhiteList:
      - msg
      - tell
      - login
      - register

Randomly to see if it was a tag issue, and now my text is white above too after reloading. ???

0xC1A551C commented 6 years ago
# Language file you want to use
Language: EN
storage:
  # storage method, can be MySQL or sqlite
  method: MySQL
mysql:
  # Requires Mysql.
  username: 
  password: 
  hostname: 
  database: 
  tablePrefix: CMI_
  # If you have no clue what these values does, then keep it at default values
  autoReconnect: true
  useSSL: true
  verifyServerCertificate: false
# Auto save interval in seconds
# This will define how often to write down data into data base
# Save operation will not be performed if there is no changes to save
# !ATTENTION! Keep it in low numbers, around 60 seconds
# Minimal interval is 10 seconds
AutoSaveInterval: 15
Economy:
  # Enable or disable CMI economy in general
  # In case CMIInjector is present, then this will be set to true automatically.
  Enabled: true
  # Determines if player needs to confirm money payment by clicking on chat message
  Confirmation: false
  # Determines max amount of cheque player can create
  # Set it to 0 to remove limit
  MaxChequeValue: 1.0E8
  BalTop:
    # List of players to exclude from baltop list
    Exclude:
    - Notch
    # List of names to exclude from baltop
    # Can be used to filter out towny towns
    ExcludeStartingWith:
    - town_
    - town-
    - towny_
    - towny-
  Global:
    # Starting amount of money players will have
    StartingAmount: 100.0
    # Minimal amount, can go into negative if needed
    MinimalAmount: 0.0
    # Maximal amount of money player can have. Set to -1 to disable this limit
    MaximumAmount: 1.0E8
    # Currency symbol to be used when showing balance or similar
    CurrencySymbol: Ⓖ
FileSave:
  # Change this to true only if you have issues with drives I/O and you need to save players files in async mode to lower waiting time for mc server
  Async: true
Optimizations:
  # Enables or disables maintenance mode
  Maintenance: false
  # Sets indicator when creating elevator signs. Its case insensitive
  ElevatorIndicator: '[CMIElevator]'
  # Format used for displaying money
  MoneyFormat: '###,###.###'
  # Do you want to record sell hand actions into file
  SellLog: true
  # When set to true players with same name but different capitalization will be denyied from joining server to avoid posible issues. In example if on first day player Zrips joined server and on second day player zRips tries to join server, he will be rejected
  # RECOMMENDED to keep this at true
  PreventDifferentCapitalizationNames: false
  # When this set to true by using any command, requiring players name, in case plugin cant determine player by given full name, then partial matches from online players will be used. In example: /cmi heal rips can heal player Zrips 
  # Useful when you have players with complicated names
  PartialPlayerName: true
  # Enables DiscordSRV plugin support for messages
  DiscordSRVSupport: true
  # When set to true, commands in help page will be sorted alphabeticaly
  # If set to false, commands will be sorted by priority
  CommandSorting: true
  # When set to true, commands in help page starting with /cmi will get shortened by hiding base command. Example /cmi back becomes /back
  # Keep in mind that this is automatic feature if alias or custom alias is set to that command
  # And keep in mind that this is only cosmetic change and will not impact command usage
  RemoveLabel: false
  # When set to true, all players can see missing permission node by hovering over error message
  # When set to false only players with cmi.permisiononerror permission node can see missing permission node
  PermisionOnError: true
  # When set to true, each time player tries to use something he doesnthave permission, message will be shown in console
  PermisionInConsole: true
  Teleport:
    # When true then while checking for safe location, we will try to determin it goind down and if it fails, then up from target location
    # When set to false, then first of all location above target location will be checked, then down
    SafeLocationDownThenUp: false
    # Set this to true if you having issues with entities not being teleported with you
    # Keep in mind that this is work arround for some plugins (AKA Towny) and can have undesired results in some situations
    VehicleWorkArround: false
    # Set to true if you want to use tp commands as /cmi tp [WhoYouWantToTeleport] [WhereToTeleport] when its false, its /cmi tp [whereToTeleport] [WhoYouWantToTeleport]
    SwitchPlaces: true
    # Applies for tpa, tpahere and tpaall only
    # If set to true then player will be teleported to current player position after accepting teleport request
    # If set to false then player will be teleported to player at which teleport request was issued
    CurrentLoc: true
    # Default distance for jump command. Can be overriden with cmi.command.jump.[amount] permission node
    JumpDefault: 50
    # Defines time in seconds for accepting tpa or tpahere requests
    TpaTime: 0
    # Defines time in seconds for player being teleported after tpa or tpahere is being accepted
    TpaWarmup: 3
    # Defines if player can move when tpa or tpahere is being accepted
    TpaMove: false
    # Defines time in seconds for blocking player teleport offers after denying their request
    TpaBlock: 120
    # Defines time in seconds for bypassing prevented teleportation to unsafe location
    TpBypass: 15
    BlackListedItems:
      # Option to prevent player teleportation when he has blacklisted items in hies inventory. Can be bypassed with cmi.teleport.bypassblacklist
      Enabled: false
      EnabledFor:
        tp: true
        tpa: true
        tpahere: true
        warp: true
        home: true
        spawn: true
      # Item and amount (if not defined, defaults to 0) we want to protect
      # Separate amount with : in example IronOre:5 what will limit ironOre block in players inventory up to 5, more than that and player cant teleport
      List:
      - Diamond
      - DiamondBlock
      - DiamondOre
      - ironore:5
    # Back location will not be triggered if player teleports closer than defined amount of blocks
    BackMinDistance: 5
  IP:
    # How long in second to wait until players ip is being recorded into data base
    # This only applies for offline servers to allow for player first of all to login before recording ip
    # Try to keep this value lower than your login plugin's allowed login time
    delay: 30
  # Max amount of hp you can get when using /cmi maxhp command
  MaxHp: 200
  # When set to true, player play time will be grabbed from user stats file instead of from CMI user data file
  # This can help to get more accurate play time if you have older server and using players stats feature
  PlayTimeFromStats: false
  # Do you want to use CMI playtime tracking
  # While this is enabled, player play time will be record for each hour he playied in server
  CMIPlayTimeTracking: true
  OnDurabilityLoss:
    # Do you want to inform player when item durability gets lower than set treshhold
    # Player should have cmi.informDurability
    Use: true
    Percentage: 10
  OnLimitedItemUse:
    # Informs about left uses of item
    Inform: true
  # Can disable messages outputed durring start for world chunk checks
  DisableWorldChunkCheckInfo: true
  # Can prevent animals or monsters entering boats
  PreventEntityBoatEnter:
    Monsters: false
    Animals: false
  PreventBedExplosion:
    Nether: false
    TheEnd: false
  # Will teleport players down from nether 'roof'
  PreventPlayersOnNetherRoof: true
  PreventIronGolem:
    # When set to true, iron golems will not drop roses on death
    Roses: false
  # When set to true, fishing rod will not move grabed entity towards you
  PreventHook: false
  Multicraft:
    # When set to true, will prevent multicraft servers to console. This will disable /list command usage in general
    DisableList: false
PlaytimeRewards:
  # Enable or disable playtime rewards
  Enabled: true
  # Defines time in minutes to inform player about pending reward which needs to be claimed
  RewardInform: 15
  # Defines how many one time rewards you want to show in list
  # No point in listing all rewards if player is still far away
  OneTimeAmount: 2
ExploitPatcher:
  # When enabled this will prevent item pickup while you have openend workbench or player crafting window. Mainly to prevent 1.12 duplication glitch, until its fixed
  PreventItemPickup: true
  # When enabled this will prevent exp bootles being destroyied on portal edge and duplicating them in result of that
  PreventExpPortals: true
Vault:
  # If your having issues with vault grabbing correct players' group or balance, consider to turn this to false
  Money: true
  Group: true
Worth:
  # Defines lore that will prevent an item from being sold using /cmi sell.
  # Color codes and capitalization are being ignored
  BadLore:
  - Creative item by Gasha
BossBar:
  # Enables or disbales bossbar hp bar on 1.9+ servers
  HpBarEnabled: true
Ban:
  # When set to true players who are banned will get messages modified by CMI instead of seying vanilla type of message
  OverrideLoginMessage: false
Homes:
  # Homes groups to define max amount homes player can have. Permission: cmi.command.sethome.[groupname]
  # If players home group if not find then amount will be set to 1
  # To have unlimited homes use cmi.command.sethome.unlimited permission
  # In adition to this you can use simple numeric permission node cmi.command.sethome.[number] which will define max number of homes player can have
  Groups:
    Newbie: 2
    Advanced: 3
  # Requires cmi.bedhome permission node
  # When set to true by interacting with bed, regular home location will be created
  # When set to false vanilla bed home location will be set
  BedInteraction: true
ReSpawn:
  Global:
    # Defines respawn order if defined world is not present in Specific list
    # Posible respawn locations: spawn, bedLocation, homeLocation, worldSpawn, warp![warpName]
    # Where warp![warName] can be any valid warp you set for players to be teleported, they will bypass any requirements for that warp
    PriorityOrder:
    - spawn
    - bedLocation
    - homeLocation
    - worldSpawn
  # Defines respawn order for defines worlds
  # Remove world if you want to leave respawn handling for server or 3rd party plugin
  Specific:
    world:
    - spawn
    - bedLocation
    - homeLocation
    - worldSpawn
    world_nether:
    - spawn
    - bedLocation
    - homeLocation
    - worldSpawn
    world_the_end:
    - spawn
    - bedLocation
    - homeLocation
    - worldSpawn
Afk:
  # Enable or disable auto afk system entirely
  Enabled: true
  # Prevents jumping in one place to avoid afk status
  PreventJumping: true
  # Prevents damage while afk
  PreventDamage: true
  # Defines how often in seconds plugin will check for afk players state
  CheckInterval: 10
  # Defines how long to wait after player stops moving to set him as afk
  # Player needs to have cmi.command.afk.auto permission node
  AutoAfkIn: 2800
  # Defines commands to be performed when player enters afk mode
  # Supports specialized commands
  AutoAfkCmds:
  - cmi broadcast !&6[playerDisplayName] &eis now AFK
  # Defines commands to be performed when player leaves afk mode
  AfkLeaveCmds:
  - cmi broadcast !&6[playerDisplayName] &eis no longer AFK
  # Defines how long to wait after player stops moving to kick player
  # This can be used not only to kick but to perform repeating action every x seconds if needed
  # Keep it at -1 to disable auto kick
  # Can be bypassed with cmi.command.afk.kickbypass permission node
  AutoKickIn: 2700
  # This will define how long to wait before performing kick commands again
  RepeatingAutoKickInterval: 2700
  # When set to true, kick command will be repeated each RepeatingAutoKickInterval seconds
  RepeatKickCommand: false
  # Defines commands to be performed when player can be kicked
  # If player is not kicked then commands will be repeated every RepeatingAutoKickInterval seconds
  AutoKickCmds:
  - cmi kick [playerName] &eYou have been kicked for idling more than [time]
  # Disables afk on interaction
  DisableOnInteract: true
  # Prevents player from going bypassing afk mode while continuously holding one button with particular items or on particular blocks
  SmartInteractCheck: true
  # Prevents from players abusing afk by constantly moving in afk machine
  AntiAfkMachines: true
  # Disables afk on inventory click
  DisableOnInventoryClick: true
  # Disables afk on command usage
  DisableOnCommand: true
  # Disables afk on public chat message
  DisableOnPublicChat: true
  # Disables afk on private chat message
  DisableOnPrivateChat: true
  # Disables afk on move
  DisableOnMove: true
  # Disables item pickup while afk
  DisableItemPickup: false
Votifier:
  # When set to true votifier votes will be counted for player
  CountVotes: false
  # When set to false, commands on sucessfull vote will not be performed
  PerformCommands: false
  # Defines commands to be performed when player votes
  # Supports specialized commands and placeholders
  # [serviceName] variable can be used to insert address
  CommandsOnVote:
  - cmi broadcast !&6[playerDisplayName] &evoted!
  - cmi give [playerName] diamond
  # List of players to be excluded from top voter list
  ExcludeList:
  - None
Ranks:
  AutoRankUp:
    # Defines how often in seconds plugin will check for posible player rankups
    # Set it to 0 or less to disable auto rankup checks
    Delay: 0
    # Defines how often in seconds each separate player will be checked for rankup
    # This is different than general check just to avoid couple players ranking up at same time
    # This also defines how often player will be notified about posible rankup and it will proportionaly increase with each time player get notification to avoid annoying spam in chat
    # Keep it longer or same as general delay time
    PlayerDelay: 120
Signs:
  # Defines in milliseconds how often to check if player entered sign trigger area
  # Bigger numbers can help slightly lower server load
  # This is not essential to keep in low numbers
  CheckInterval: 5000
  # List of colors to be translated from one to another to avoid unreadable text
  TranslateColors:
  - '&6-&8'
  - '&e-&f'
  - '&7-&8'
TabList:
  # Enable or disable tab list management
  Enabled: false
  # Defines if we want to run tablist updater in async mode
  # While enabled it can increase overall performance but some plugins can have same issues handling async placeholder requests
  Async: false
  UpdateTabListNames: true
  # Enable or disable grouped format tablist's
  # You can save some resources by disabling this if you are not interested in grouped format tablist feature
  # If disabled then this will use only default format and will skip checking for custom one to save some resources if needed
  GroupedEnabled: false
  Updates:
    # Automaticaly updates tab list every x seconds for ALL online players
    # If you are using static Footer and Header you can disable this by setting to -1
    # Consider setting this to -1 if its completely enough to update on player events
    AutoInterval: 60
    OnJoin: false
    OnLeave: false
    afkStateChange: false
    OnWorldChange: false
    OnDeath: false
    OnTeleport: false
    OnNickChange: false
  # PlaceholderAPI supported for any custom variable you want to insert into this
  # In adition CMI will handle some placeholders without PlaceHolderAPI
  # Full list can be checked ingame with /cmi placeholders
  GeneralFormat:
    PlayerName: '[playerDisplayName]'
    Header:
      '1':
      - '&f------------------------------------'
      - '&7Welcome'
      - '&7Online &f%server_online%&7/&f%server_max_players%'
      - '&f------------------------------------'
    Footer:
      '1':
      - '&f------------------------------------'
      - '&7%player_world% &f%player_x%:&7%player_y%:&f%player_z%'
      - '&7Money: &f%vault_eco_balance_formatted% &7Time: &f%server_time_HH:mm:ss%'
      - '&f------------------------------------'
  # Defines custom formats to be used for players.
  # Any player which have cmi.tablist.[number] permission node will use defined grouped format in tablist
  # Id should be a number and in case player has more than one, bigger number id will be used
  # You can have as many groups as you want by increasing increment
  # If player has more than one permission node, then biggest one will be used
  GroupFormat:
    '1':
      PlayerName: '&2{&r[playerDisplayName]&2}'
      Header:
        '1':
        - '&f------------------------------------'
        - '&7Welcome'
        - '&7Online &f%server_online%&7/&f%server_max_players%'
        - '&f------------------------------------'
      Footer:
        '1':
        - '&f------------------------------------'
        - '&7%player_world% &f%player_x%:&7%player_y%:&f%player_z%'
        - '&7Money: &f%vault_eco_balance_formatted% &7Time: &f%server_time_HH:mm:ss%'
        - '&f------------------------------------'
    '2':
      PlayerName: '&c[&r[playerDisplayName]&c]'
      Header:
        '1':
        - '&f------------------------------------'
        - '&7Welcome'
        - '&7Online &f%server_online%&7/&f%server_max_players%'
        - '&f------------------------------------'
      Footer:
        '1':
        - '&f------------------------------------'
        - '&7%player_world% &f%player_x%:&7%player_y%:&f%player_z%'
        - '&7Money: &f%vault_eco_balance_formatted% &7Time: &f%server_time_HH:mm:ss%'
        - '&f------------------------------------'
Skins:
  # Enable or disable skin management
  Enabled: true
  # Sets player sking to Steve when turning skin off and lets server to handle it
  # If its false, then skin will be changed to online one
  SteveOnOff: false
  # Requests from player specific permission for that skin cmi.command.skin.perm.[skinName]
  RequireSpecificPerm: false
Notes:
  # When enebled, when player logs in who has alert set on him, staff member will get notification that this player have some notes attached to him
  ShowOnAlertEvent: true
GroundClean:
  # List of item types not to be removed on ground clean action
  WhiteList:
  - itemType
Chat:
  # Will try to modify chat to display it in defined format
  ModifyChatFormat: false
  # When set to true, regular and private messages (excludes clean messages) will have aditional information when hovering over it (PlaceHOlderAPI supported) and can be clicked for quick reply option
  ClickHoverMessages: false
  # When set to false, each time you will use /r you will reply to person you previously sent message directly or to person who sent you message if there is none you have conversion before
  # When this set to true, players with /r will reply to person who last sent private message. This can result in confusion when using /r while getting private messages from multiple players
  ReplyToLastMessenger: false
  # Defines regex when replacing url in chat with short word
  LinkRegex2: (https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9]\.[^\s]{2,})
  # Do you want to enable private messaging over bungeecord
  BungeeMessages: false
  # Do you want to enable public messaging over bungeecord
  BungeePublicMessages: false
  # Used for simple chat messages. Optional variables: {prefix} {suffix} {group}. Supporting PlaceHolderAPI variables like %player_server%
  GeneralFormat: '{prefix}&f{displayName}&7: &r{message}'
  # Defines range of regular messages to travel
  # Set to -1 to disable range restriction
  GeneralRange: -1
  # Defines range of shout messages to travel
  # Shout messages should start with ! and player should have cmi.shout permission
  # GeneralRange should be enabled
  # set to 0 to shout across all worlds, -1 to disable
  ShoutRange: 200
  # Defines cost for each shout message
  ShoutCost: 0
  # Use numeric increments to separate groups from each other. If player has more than one, then line with higher number will be used
  # Add as many lines as you need too
  # cmi.chatgroup.[id] permnission node to use
  GroupFormat:
    '1': '{prefix}&f{displayName}&f: &r{message}'
    '2': '{prefix}&f{displayName}&7: &r{message}'
    '3': '{prefix}&f{displayName}&8: &r{message}'
  Colors:
    # If set to true then all public messages will be filtered from color codes and will allow to colorize them with appropriate permission node
    # cmi.colors.publicmessage.[colorName]
    # Colors: black(&0), darkblue(&1), darkgreen(&2), darkaqua(&3), darkred(&4), darkpurple(&5), gold(&6), gray(&7), darkgray(&8), blue(&9), green(&a), aqua(&b), red(&c), lightpurple(&d), yellow(&e), white(&f), magic(&k), bold(&l), strikethrough(&m), underline(&n), italic(&o), reset(&r)
    PublicMessage: false
    PrivateMessage: false
    # If set to true then /me messages will be filtered from color codes and will allow to colorize them with appropriate permission node
    # cmi.colors.me.[colorName]
    me: false
    # If set to true, then color codes will get removed from text instead of leaving them if player dont have appropriate permission node for that color
    CleanUp:
      publicmessage: false
      privatemessage: false
      me: false
      signs: false
      # List of strings to ignore when checkign chat for color codes player cant use.
      # This will bypass players colorcode restrictions and will allow usage of particular chat formats
      # Applies only for public and private messages
      WhiteList:
      - '&c❤&7'
    # If set to true then nickName will be filtered from color codes when player changes it
    # cmi.colors.nickname.[colorName]
    NickName: true
  ChatFilter:
    Enabled: false
    Deny:
      ipBlock:
        # If not set to true, this filter will not be used
        Enabled: false
        # Defines filter group and defines required permission node to bypass this filter: cmi.chatfilter.bypass.[groupName]
        Group: Advertising
        # Regex expresion to filter by. How to use regex https://regexone.com/
        Regex:
        - '[a-zA-Z0-9\-\.]+\s?(\.|dot|\(dot\)|-|;|:|,|_|\/)\s?([a-zA-Z]{2}|aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel)\b'
        # With what we need to replace word, if not defined found expresion will not be changed
        ReplaceWith: ''
        # posible: none, orhers, all
        # Where 'none' means everyone will receive this message
        # 'others' means that sender will get message but not other players, this is usefull to prevent advertising and silently block it
        # 'all' means that no one will receive sent message
        BlockType: others
        # Players with cmi.chatfilter.inform permisison will receive defined message when rule is broken
        msgToStaff: '&4!&6[playerName] &4advertising with: &r[message]'
        # List of commands to perform when rule is broken. Use [senderName] to include message sender name. Supports global variales same as locale file
        Commands: []
      swearing1:
        Enabled: false
        Group: Swearing
        Regex:
        - \bass\b|\basshole
        ReplaceWith: dude
        BlockType: none
        msgToStaff: '&4!&6[playerName] &4swearing'
        Commands:
        - msg [senderName] &eDon't swear!
      swearing2:
        Enabled: false
        Group: Swearing
        Regex:
        - \bfu+ck
        ReplaceWith: not good
        BlockType: none
        msgToStaff: '&4!&6[playerName] &4swearing'
        Commands:
        - msg [senderName] &eDon't swear!
    # List of regex filter to exlude from block list. Usefull if you want to block all ip/host address but want to allow usage of your own server.
    WhiteList:
    - \bgoogle.\s?([a-zA-Z]{2,4})\b
    - \bspigotmc.\s?([a-zA-Z]{2,4})\b
    DuplicatedMessagePrevention:
      # When set to true, plugin will prevent spaming of same or similar messages in short time range. Can be bypased with cmi.chatfilter.spambypass permission
      Use: false
      # How much in percentage message is counted as same
      Percentage: 80
      # Defines how often in seconds you can send same/similar message
      Interval: 5
      # How many commands you can repeat before stopped for cooldown
      MinAmount: 2
  # If set to true, players public message who is in your ignore list will not be shown
  IgnorePublicMessage: false
  Tag:
    # Enable or not tag system. This will inform player wbout hies name mentioning in public chat if name have @ in front of it
    Enabled: false
    # When this is set to true, any player mentionings in public messages will be colorized and player will get informed as usual
    # This is allot more heavier on server than usual tagging with @, so enable if you know what you are doing
    HardCoreMode: false
    # Determines color of taged user name in chat with @ in front of name/nickname. Sender should have cmi.tag.color
    Color: '&d'
    Sound:
      # Sound name
      Name: BLOCK_NOTE_HARP
      Volume: 2
      Pitch: 3
    # When set to true, @ simbol will be removed
    RemoveEta: false
Command:
  CommandFilter:
    Duplicate:
      # When set to true, plugin will prevent spaming of same or similar command in short time range. Can be bypased with cmi.commandfilter.bypass permission
      Use: false
      # How much in percentage command is counted as same
      Percentage: 80
      # Defines how often in seconds you can send same/similar commands
      Interval: 3
      # How many commands you can repeat before stopped for cooldown
      MinAmount: 3
      # Whitelisted commands to ignore
      WhiteList:
      - msg
      - tell
      - login
      - register
  Spy:
    # Delay in seconds for commands spy to turn on after relog
    # This will prevent some one from loging in with admin account and seying commands before loging in
    # Keep it at same or higher than your login plugin delay for entering password
    # This includes social spy too
    DelayForTrigger: 60
    # Commands in this list will not be shown when command spy is enabled for player for security/privacy reasons
    BlackListed:
    - register
    - login
    - l
    # Players without cmi.security.admin will only see commands from this list with command spy feature
    CommandList:
    - cmi spawn
    - cmi tp
    - cmi tpa
    - cmi heal
    - cmi feed
    - cmi fly
PlayerNotes:
  # For how long to keep players notes in days
  ExpiresIn: 30
PlayerMail:
  # For how long to keep players mail in days
  ExpiresIn: 30
  # Mailing to all players will send mails to players who loged into server in last x days
  mailAllDays: 7
DisplayName:
  # Format of players display name. By default only nick name will be visible, if its set, if not, then players name
  # Posible varibales: {prefix} {suffix} {nicknameprefix}
  Format: '{nickName}'
NickName:
  # Prevents players to change their nick name to one of defined without permission
  # Use lower case
  # cmi.command.nick.bypassblacklist
  # to bypass protection against already in use name/nickname use cmi.command.nick.bypassinuse
  BlackList:
  - admin
  - administrator
  - server
  - staff
  - staf
  # Max length of nick name, can be bypassed with cmi.command.nick.bypass.length
  MaxLength: 16
  # Adds prefix for players nickname to indicate that its not real name. This can be added to display name with {nicknameprefix}
  Prefix: '~'
  # When true, will only add nickname prefix when its not same as original name. This can allow colorization or capitalization change without addign prefix
  PrefixWhenDifferent: false
# Shows if there is an available new version on login with cmi.versioncheck permission node
ShowNewVersion: false
Spawners:
  # If you experiencing issues with spawner handling, set this to true to avoid any spawner manipulations from CMI side
  # This will disable features like, spawner placement, spawner drops, spawner charges and so on
  FullDisable: false
  Break:
    # Enable or disable spawner handler for spawner break
    # If enabled player will get spawner if using silktouch pickaxe and have cmi.dropspawner permission node
    # If player has cmi.dropspawner.nosilk permission node, player is not required to use silk touch pickaxe to get droped spawner
    Enabled: false
    # When set tp fa;se, exp will not be dropped from broken spawner independent if spawner it self is being dropped
    # When set to true exp will be dropped only if spawner is not
    DropExp: false
    # Minimal silktouch level required to get spawner back
    SilkTouchLevel: 1
  Place:
    # Enable or disable spawner handler for spawner place
    # If enabled player will place spawner depending from what it is by its type
    # If disabled then spawner will be placed in normal way and it will allow other plugins to handle its placement
    Enabled: false
    # If set to true, player will need to have appropriate permission node to place spawner by its type
    RequiresPermission: false
    # RequiresPermission should be set to true for this to work. If set to true, player will need to have particular permission node to place particular spawner.
    # In example: player should have cmi.placespawner.pig to place pig spawner, or cmi.placespawner.zombie to place zombie spawner
    # If set to false, then player will need to have basic cmi.placespawner permission to place any type of spawner
    RequiresExactPermission: false
  Interact:
    # When set to true, players trying to change spawner with monster egg will require approrpiate permission node
    # In example: player should have cmi.egginteract.pig to change spawner into pig, or cmi.egginteract.zombie to change into zombie spawner
    EggRequiresPermission: false
  # If set to true, spawners will have chance to be dropped when destroying with tnt
  TnTExplosionDrop:
    use: false
    # Chance in percentage for spawner to drop
    Chance: 30
  # If set to true, spawners will have chance to be dropped when destroyed by creeper
  CreeperExplosionDrop:
    use: false
    Chance: 30
  Charges:
    # When enabled players will be assigned to particular spawner charges group who have cmi.spawners.charge.[groupName] permission node
    # Players will be limited to how many spawners they can mine
    # StartingCharge will determine how many charges they will have on first time joining group
    # MaxCharge will limit to how many charges you can have at one time
    # Cooldown determines how often new charge will be given
    # Bonus is optional and it will determine by how many seconds to lower cooldown for next charge when placing spawner
    # Option to bypass limitations with cmi.spawners.charge.bypass
    Use: false
    # If set to true when player runs out of spawner charges spawner will be destroyed without droping it
    BreakWithoutCharge: false
    List:
      Noob:
        Use: false
        StartingCharge: 2
        MaxCharge: 5
        Cooldown: 3600
        Bonus: 10
      Advanced:
        Use: false
        StartingCharge: 3
        MaxCharge: 6
        Cooldown: 3000
        Bonus: 10
  Proximity:
    # Allws to limit how tight spawners can be placed from each other
    Use: false
    # Radius in blocks from blaced block. Max range is 16
    # Can bypass with cmi.spawners.proximity.bypass
    Range: 3
ItemRenaming:
  # When set to true, players will be denyied from renaming defined items
  # Option to define specific name by using regex format
  Prevent: false
  List:
  - mobspawner:([A-z]+ (?i)\w*spawner)
SpawnMob:
  # Defines how many passengers entities can be spawned at once
  MaxQuantity: 10
  MaxPassengers: 10
Counter:
  # Default range to use when performing /counter start
  Range: 10
Mirror:
  # Defines how far in blocks from mirror center you can build
  # This is mainly to protect from forgeting to turn off mirror and starting to build on different side of map
  MaxRange: 50
NetherPortal:
  # Can prevent nether portal creation entirely. Option to bypass with cmi.netherportalbypass
  PreventCreation: false
  # Maximum height nether portal can be created. Vanilla size is 23
  MaxHeight: 23
  # Maximum width nether portal can be created. Vanilla size is 23
  MaxWidth: 23
Portals:
  # Defines in milliseconds how often to check if player entered portal or not
  # Bigger numbers can help slightly lower server load but small portals, 1 block depth without back wall can be passed through without teleportations if player moves fast enought
  CheckInterval: 300
  # Defines in milliseconds how often to check if player entered portal range for particles to apear
  CheckParticleInterval: 500
  # Perform commands on teleport or not
  PerformCommands: true
  # Commands to be performed on teleport event
  Commands:
  - cmi effect [playerName] blindness 2 1 -s
Animations:
  # Enable siting on stair block by clicking on them with empty hand or by looking and using command
  # Requires cmi.command.sit.stairs
  SitOnStairs: true
  StairsAsChairs: true
  SlabsAsChairs: false
  # Player will sit on chair only after rapid double click
  DoubleClick: false
  # Delay in milliseconds between clicks to sit on chair when double click is enabled
  DoubleClickDelay: 200
# All posible damage causes: contact, entity_attack, entity_sweep_attack, projectile, suffocation, fall, fire, fire_tick, melting, lava, drowning, block_explosion, entity_explosion, void, lightning, suicide, starvation, poison, magic, wither, falling_block, thorns, dragon_breath, custom, fly_into_wall, hot_floor, cramming, 
# Sintax should be [permissionNode]:[damageCause]:[multiplier]
# Example: nolavadamage:lava:0 will prevent lava damage with cmi.damagecontrol.nolavadamage permission node
# Negative values will heal player instead of damaging him
# If player have more than one permission node for same damage cause, then last one in list will be used to determine final damage
DamageControl:
- nowalldamage:fly_into_wall:0
- lowermagmacubedamage:hot_floor:0.5
Totem:
  # When this set to true, on players death totem will be used even if he is not holding it in hand
  RemoveFromInventory: false
  Cooldown:
    # When this set to true player can use totem only every X second
    Use: false
    Time: 600
  Warmup:
    # When this set to true player can use totem to have X amount of second's, during which he can die and be resurected
    # Totem will be consumed durring activation and wont be returned even if resurection is not used during warmup time
    Use: false
    Time: 10
Elytra:
  # cmi.elytra - allows usage of elytra
  # cmi.elytra.boost - allows usage of boost
  # cmi.elytra.superboost - allows ussage of super boost
  # cmi.elytra.speedometer - allows to see speedometer
  Boost:
    # Max speed until player wont get any boost
    SpeedLimit: 300
    # When enabled items/exp wont be consumed if player is over speed limit
    SpeedLimitStop: false
    # Do you want to show decimals in speed
    SpeedDecimals: true
    # By how much boost player on each use
    GeneralMultyplier: 2.0
    # By how much boost player on each super boost use
    # Use shift while using simple boost
    SuperMultyplier: 5.0
    # Uses defined items instead of exp
    UseItems: false
    # item id
    Item: '288'
    # Requires to hold defined item in hand. Only when UseItems is set to false
    RequiresItem: false
    # Amount consumed on each boost
    Amount: 1
    # Amount consumed on each super boost
    SuperAmount: 2
    # Shows particles when flying
    ShowParticles: true
  Launch:
    Time: 1
FlightCharge:
  # Do you want to enable flight charge feature
  Enabled: true
  # When set to true, each time player gets flight charge or relogs, his fly mode will be toggled on
  # If set to false, then players will have to manualy turn on flight with /cmi flyc
  EnabledByDefault: true
  # When set to true, in event of player changing his game mode from survival/adventure to creative/spectator his flight charge  mode will get disabled
  # Same applies when changind game mode from creative/spectator to survival/adventure
  AutoSwitch: false
  # How much charge to give for one exp point
  # Set to 0 to disable this type of recharge
  ExpRechargeRate: 2
  # How much charge to give for one currency point
  # Set to 0 to disable this type of recharge
  MoneyRechargeRate: 4
  # Defines maximum amount of charge player can have
  # One charge is one traveled block while flying
  # if player dosent move, then one charge for each second while hovering
  MaxChargeLevel: 10000
  # Defines multiplier when player doesnt move but is hovering. For each second player hovers.
  # Set to 0 to disable
  DeductOnIdling: 0
  # Defines multiplier when player falls down of charge to be taken
  # This only effects when player falls from above 3 blocks of hight
  # In example if player falls from 10 blocks height, then 7 * 2 = 14 charges will be taken
  # This is to prevent avoiding no penealty from jumping from clifs
  # Set to 0 if you want to disable it
  DeductOnFallMulti: 0
  # Defines if you want to damage player when he falls down from higher than 3 blocks height
  # This will not kill player even if he would drop from 200 block height, but will leave him with 1 hp
  # This will only effect players who jumped down and not those who disabled fly mode in mid air
  DamageOnFall: true
  # DamageOnFall should be enabled for this to work
  # This will define if you want to damage player when he deactivates fly mode in mid air
  DamageOnToggle: false
  # DamageOnFall should be enabled for this to work
  # This will define if you want to kill player if fall damage if higher than his health amount
  KillOnFall: false
Point:
  # Default particle for point command. Options: fireworks_spark, crit, magic_crit, potion_swirl, potion_swirl_transparent, spell, instant_spell, witch_magic, note, portal, flying_glyph, flame, lava_pop, footstep, splash, particle_smoke, explosion_huge, explosion_large, explosion, void_fog, small_smoke, cloud, coloured_dust, snowball_break, waterdrip, lavadrip, snow_shovel, slime, heart, villager_thundercloud, happy_villager, large_smoke, tile_break, tile_dust, 
  DefaultParticle: COLOURED_DUST
Messages:
  Login:
    # If set to true, login message wont be shown
    Disabled: false
    # Defines number of players from which to automaticaly start hiding join messages
    # Set to -1 to disable this
    AutoHideFrom: -1
    Custom:
      # If set to true, custom login message will be used. cmi.messages.disablelogin can be used to disable message for player
      Use: true
  Logout:
    # If set to true, logout message wont be shown
    Disabled: true
    # Defines number of players from which to automaticaly start hiding logout messages
    # Set to -1 to disable this
    AutoHideFrom: -1
    Custom:
      # If set to true, custom logout message will be used. cmi.messages.disablequit can be used to disable message for player
      Use: false
  # Check locale file for translation and custom placeholders: [playername], [totalUsers], [onlinePlayers]
  FirstJoinMessage:
    Use: true
  DeathMessage:
    # Defines number of players from which to automaticaly start hiding death messages
    # Set to -1 to disable this
    AutoHideFrom: -1
Books:
  # Defines default creator name for books when using getbook command
  DefaultAuthor: Server
# Defines name of customtext on players login to server. To disable just set name to non existing customText
Motd: welcomeMessage
Spawn:
  # Defines players spawn point after death if set to true, if not, then it will be used only for /cmi spawn command
  Main:
    World: spawnworld
    X: -2089.919962224548
    Y: 111.5
    Z: -1669.4192305638107
    Pitch: -4.3501244
    Yaw: 269.3998
    RespawnLocation: false
    Rng: 0
  # Defines players first spawn point when he logs into server for the first time
  FirstSpawn:
    Use: true
    World: spawnworld
    X: -2089.610176642361
    Y: 111.0
    Z: -1669.4688745438198
    Pitch: 6.300169
    Yaw: 264.26636
Newbie:
  # Kit name to give for new players joining server
  Kit: Starter
Kits:
  # When set to true, kit list will be shown in GUI instead of chat list
  GUI: false
  # When set to true, kit selection gui empty fields will get filled with definet item
  FillEmptyFields: true
Warps:
  # When set to true, warps list will be shown in GUI instead of chat list
  GUI: false
  # How many warps to show in each page
  perPage: 50
  # Do you want to save warp creator
  saveCreator: false
  # Do you want to show creator in warp list
  showCreator: false
GlobalGui:
  # Defines item type in empty fields in GUI when its needed to be filled up
  EmptyField: STAINED_GLASS_PANE:15
DynamicViewRange:
  # By setting to true will enable dynamic view range feature. Its still in beta stage and can result in some CPU load increase.
  # Don't enable if you are not using this feature on your server
  Enabled: false
WorldLimits:
  # By setting to true fly and gamemode limitations per world will be aplied for player on world change if they dont have appropiate permission node
  Enabled: false
  # World list with default game modes
  # If player will have cmi.worldlimit.gamemode.bypass permission node, game mode wont be changed
  # Posible modes: creative, survival, adventure, spectator, 
  Gamemode:
  - world:Survival
  # If player will have cmi.worldlimit.fly.bypass permission node, fly mode wont be changed
  Fly:
  - world:False
  # If player will have cmi.worldlimit.god.bypass permission node, fly mode wont be changed
  GodMode:
  - world:False
  # Prevents particular entity spawn reasons in defined worlds. All posible reasons: NATURAL, JOCKEY, CHUNK_GEN, SPAWNER, EGG, SPAWNER_EGG, LIGHTNING, BUILD_SNOWMAN, BUILD_IRONGOLEM, BUILD_WITHER, VILLAGE_DEFENSE, VILLAGE_INVASION, BREEDING, SLIME_SPLIT, REINFORCEMENTS, NETHER_PORTAL, DISPENSE_EGG, INFECTION, CURED, OCELOT_BABY, SILVERFISH_BLOCK, MOUNT, TRAP, ENDER_PEARL, SHOULDER_ENTITY, CUSTOM, DEFAULT
  SpawnReasons:
    world:
    - None
    world_nether:
    - None
    world_the_end:
    - None
# Checks and shows on players login if he have been changed hes name over Mojang
# Looks to be working only with online servers, duhhhh
CheckForNameChange:
  OnLogin: true
  AmountToShow: 3
  OnInfoShow: true
inv:
  # Do you want to save the player's inventory on his death
  SaveOnDeath: true
  # When set to true, empty inventories (no items in inventory) will not be saved on players death
  IgnoreEmpty: true
  # If set to true then player should have cmi.saveinv permission node for inventory to be saved on death
  RequiresPermission: false
  # How many inventories, we will keep for each player
  SavedInventories: 5
hunger:
  # Do you want to give more than 20 hunger for players
  overide: false
heal:
  RemoveNegative:
    # Do you want to remove negative potion effects from player on heal
    use: false
    List:
    - blindness
    - confusion
    - harm
    - hunger
    - poison
    - slow
    - slow_digging
    - weakness
    - wither
Cuff:
  # When set to false will allow players to talk who is cuffed
  Mute: true
  AllowedCommands:
  - msg
  - r
  - tell
Dispose:
  # defines how big is dispose ui 1-6
  UILines: 3
ItemRepair:
  RepairShare:
    # When enabled will prevent players repairing items for others in anvil regular way. They still can use items and repairs normaly for them selfs
    # Can be bypassed with cmi.command.repair.repairshare.bypass
    ProtectNormalRepair: false
    # When enabled will prevent players repairing items for others with CMI command. They still can use items and repairs normaly for them selfs
    ProtectCommandRepair: false
    # Sets durability on item when another picks it up or selects in inventory. Set to 0 or less if you don't want to change durability
    Durability: 1
    # When set to true, player who have cmi.command.repair permission will bypass this protection and can use other user repaired items without any aditional actions
    BypassWithRepairPermission: true
    # When enabled aditional lore line will be added when player can't use that item. This will not be shown for owner of item
    AddLore: true
    # When set to true, interact event will be canceled to prevent item usage
    CancelEvent: true
    # When set to true, player will get message informing about item usage he dint repaired him self
    InformWithMessage: false
Cooldowns:
  # You can enable any command cooldown to prevent instant usage of it
  # cmi heal:180 means that player can use /cmi heal command only once every 180 seconds
  # if cooldown set to -1 then this command can be performed only one time
  # Administration can bypass limitations with cmi.command.[comandName].cooldownbypass permission node
  # Always use full command name and not its alias
  Enabled: true
  List:
  - cmi server:60
WarmUps:
  # You can enable any command warmup to prevent instant command usage
  # tp:5:false means that when player performs /tp command he will need to wait 5 sec
  # false variable is optional and when its set to false player cant move while warmup is counting
  # If you dont want to deny empty warp command but want to deny any extra variable after that, then just add space, in example 'warp :5:false'
  # When setting warmups for CMI commands, use full command name and not allias, in example 'cmi warp:5false'
  # Administration can bypass limitations with cmi.command.[comandName].warmupbypass permission node
  # ATTENTION! cmi home command is being handled in special way and to prevent double warmup, add space, example: - cmi home :5:false
  Enabled: false
  InformOnNoMove: true
  List:
  - cmi tp :5:false
  - cmi back:3:true
  - cmi warp :3:false
  - cmi home :3:false
Jail:
  # Defines in milliseconds how often to check if player leaves jail area
  # Bigger numbers can help slightly lower server load
  CheckInterval: 500
  # Defines default jail time when time is not povided with command
  DefaultTime: 300
  # Chat range in blocks while player is in jail
  # Set to 0 to allow talking
  # set to -1 to prevent talking in general while jailed
  ChatRange: 20
  WhiteListedCmds:
  - cmi msg
  - cmi reply
scan:
  # Tps cap from which to start adjusting scan speed
  SoftCap: 19.0
  # Staring speed when scanning. Range from 1 to 30
  DefaultSpeed: 15
  # When this set to true, when using scan feature and not providing range, whole map will be scanned
  GlobalRangeByDefault: false
  # Range in chunks. 2 is 25 chunks, 1 is 9 and 0 is only chunk you are standing in
  DefaultRange: 2
  # When this set to true, all found items in containers will be removed automaticaly durring scan. Ex: /scan id 7 purge
  EnablePurge: false
search:
  # When this set to true, all found items in inventories will be deleted durring search. Ex: /cmi search id 7 purge
  EnablePurge: false
lfix:
  # This is heavy on server resourses feature, enable if you have to spare some or pregenerating world
  # When set to true, plugin will try to fix light issues on chunk generation
  # This will remove most light gliches but its not 100% bullet prof and some bugs can still be seen
  # In some cases you will need to relog to see updated light's
  FixOnChunkGeneration: false
  # List of worlds where we need to fix light issues on chunk generation
  WorldsToFix:
  - world
  - world_nether
  - world_the_end
  # Tps cap from which to start adjusting light fix speed
  SoftCap: 19.0
  # Staring speed when fixing light. Range from 1 to 100
  DefaultSpeed: 15
purge:
  # Cleans files on server startup
  CleanOnStart: false
  # How long player should be offline for his data to be moved
  OfflineDays: 360
  PlayerData:
    # Do you want to enable player data file cleaning
    Enabled: true
    # Source folder to take files from
    SourceFolder: world/playerdata
    # When this is false, data files will be moved to backup folder. When its true files will be deleted
    DeleteFiles: false
    # Target folder to put files into if DeleteFiles set to false
    DestinationFolder: world/playerdata_backup
  PlayerStats:
    # Do you want to enable player stats file cleaning
    Enabled: true
    # Source folder to take files from
    SourceFolder: world/stats
    # When this is false, data files will be moved to backup folder. When its true files will be deleted
    DeleteFiles: false
    # Target folder to put files into if DeleteFiles set to false
    DestinationFolder: world/stats_backup
  PlayerAdvancements:
    # Do you want to enable player Advancements file cleaning
    Enabled: true
    # Source folder to take files from
    SourceFolder: world/Advancements
    # When this is false, data files will be moved to backup folder. When its true files will be deleted
    DeleteFiles: false
    # Target folder to put files into if DeleteFiles set to false
    DestinationFolder: world/Advancements_backup
  Essentials:
    # Do you want to enable essentials playerdata file cleaning
    Enabled: false
    # Source folder to take files from
    SourceFolder: plugins/Essentials/userdata
    # When this is false, data files will be moved to backup folder. When its true files will be deleted
    DeleteFiles: false
    # Target folder to put files into if DeleteFiles set to false
    DestinationFolder: plugins/Essentials/userdata_backup
  LWC:
    # Do you want to enable lwc protection cleaning
    Enabled: false
Selection:
  # Tool id to use for selection actions
  Tool: wood_hoe
Time:
  # Defines preset time
  Day: '12:00'
  Night: '24:00'
  Morning: 06:00
  Dusk: '18:00'
  AutoTime:
    # Time in seconds time in game will be adjusted to match real
    # Keep it at arround one minute
    Interval: 60
    # Worlds effected by autotime adjustment
    Worlds:
    - ''
Enchanting:
  enchantLimits:
    # By disabling this, no limitation to enchanting will be applied
    Enabled: true
    MaxLevel:
      protection_environmental: 4
      protection_fire: 4
      protection_fall: 4
      protection_explosions: 4
      protection_projectile: 4
      oxygen: 3
      water_worker: 1
      mending: 1
      thorns: 3
      vanishing_curse: 1
      depth_strider: 3
      frost_walker: 2
      binding_curse: 1
      damage_all: 5
      damage_undead: 5
      damage_arthropods: 5
      knockback: 2
      fire_aspect: 2
      loot_bonus_mobs: 3
      sweeping_edge: 3
      dig_speed: 5
      silk_touch: 1
      durability: 3
      loot_bonus_blocks: 3
      'null': 10
      arrow_damage: 5
      arrow_knockback: 2
      arrow_fire: 1
      arrow_infinite: 1
      luck: 3
      lure: 3

Here is my full config now without the MYSQL details. Venture chat is default.

mercurialmusic commented 6 years ago

At this point I'm more just trying to offer suggestions than knowledge, but I do see some significant differences in our chat settings. For Ss & Gs, maybe try out mine more or less exactly and see what happens. With chat you should definitely be doing a restart between changes, not just a reload, since it's a couple plugins working together and not just CMI. My chat settings. Good luck.

Zrips commented 6 years ago

Could not reproduce issue, but will make some changes which most likely caused your issues. Will post new version today, test it and give me feedback if that helped out.

0xC1A551C commented 6 years ago

@Zrips

Getting this error on the latest now.

 [20:28:52 WARN]: java.lang.IllegalStateException: zip file closed
> [20:28:52 WARN]: at java.util.zip.ZipFile.ensureOpen(ZipFile.java:686)
> [20:28:52 WARN]: at java.util.zip.ZipFile.getEntry(ZipFile.java:315)
> [20:28:52 WARN]: at java.util.jar.JarFile.getEntry(JarFile.java:240)
> [20:28:52 WARN]: at java.util.jar.JarFile.getJarEntry(JarFile.java:223)
> [20:28:52 WARN]: at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:120)
> [20:28:52 WARN]: at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:104)
> [20:28:52 WARN]: at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> [20:28:52 WARN]: at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> [20:28:52 WARN]: at com.Zrips.CMI.CMI.getPlayerManager(CMI.java:887)
> [20:28:52 WARN]: at com.Zrips.CMI.Modules.PlayTime.PlayTimeManager.updatePlayTimes(PlayTimeManager.java:252)
> [20:28:52 WARN]: at com.Zrips.CMI.Modules.PlayTime.PlayTimeManager$1.run(PlayTimeManager.java:240)
> [20:28:52 WARN]: at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:63)
> [20:28:52 WARN]: at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:415)
> [20:28:52 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:833)
> [20:28:52 WARN]: at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:427)
> [20:28:52 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:767)
> [20:28:52 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:665)
> [20:28:52 WARN]: at java.lang.Thread.run(Thread.java:748)

The config can't seem to be downloaded.

0xC1A551C commented 6 years ago

@mercurialmusic Yes I am restarting. I don't understand what you mean by Ss and Gs. I was showing how one account can't speak & causes super high ram usage while my other account can talk no problem with no ram issues. Neither are muted. Default configs.

0xC1A551C commented 6 years ago

Redownloaded CMI the latest again & now the files are generating. Not sure why.

0xC1A551C commented 6 years ago

@Zrips I can verify the problem is now fixed with the latest version, and the chat seems to be workings perfectly fine now with no white text, high ram usage, or weird account based chat locking. Will have to see over time, but for now it looks good. Thanks