@chrissamael So you're using the BungeeCord settings for DiscordSRV? That is a single instance of DiscordSRV on your network? I can mark it as a to-do to look into the full extent of the issue. This feature has some constraints (which make it not commonly used unfortunately) @VladKristal I don't understand what you're asking.
Getting a long error in my console. Seems to only happen when trying to use chat while having a nickname. Attached is all the error info, and a picture of our plugins. thanks. CONSOLE Code (Text): [19:12:26 INFO]: [§xG] [Citizen] Snaz2150§x:§x trying to figure out the kara issue? [19:12:33 WARN]: [VentureChat] Plugin VentureChat v2.20.1 generated an exception while executing task 646162 java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring(String.java:1967) ~[?:1.8.0_265] at mineverse.Aust1n46.chat.utilities.Format.convertPlaceholders(Format.java:121) ~[?:?] at mineverse.Aust1n46.chat.utilities.Format.convertToJson(Format.java:66) ~[?:?] at mineverse.Aust1n46.chat.listeners.ChatListener.handleTrueAsyncPlayerChatEvent(ChatListener.java:483) ~[?:?] at mineverse.Aust1n46.chat.listeners.ChatListener$1.run(ChatListener.java:56) ~[?:?] at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftTask.run(CraftTask.java:99) ~[patched_1.16.3.jar:git-Paper-207] at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[patched_1.16.3.jar:git-Paper-207] at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.16.3.jar:git-Paper-207] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_265] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_265] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_265] CONFIG Code (YAML): #=============================================================== # VentureChat Config = # Author: Aust1n46 = #=============================================================== # - regex1,regex2 # Simple regex tips: Use \b to "cut" a section of the word or phrase. Example: \bass,donuts # Example filtered sentence: You are an ass. Will become: You are an donuts. # Example filtered sentence: You caught a bass. Will stay: You caught a bass. # Example filtered sentence: You are an asshole. Will become: You are an donutshole. # Default filters by Jabelpeeps filters: - nigger, I am a living NPC that thinks saying racist stuff is funny # command without the / blockablecommands: - vote - me # blacklisted nicknames nicknames: - Notch nickname-in-tablist: true commandspy: worldeditcommands: true antispam: enabled: false # number of messages to be spam spamnumber: 5 # amount of time in seconds for it to be spam spamtime: 10 # amount of time in minutes for the mute to last, use 0 for untimed mute mutetime: 10 # Logging chat and commands to a mysql database mysql: enabled: false user: minecraftadmin port: 3306 password: Password host: localhost database: Database # Login and logout messages # Use Default for the vanilla login and logout messages login: enabled: true message: '&a{player} +' logout: enabled: true message: '&a{player} -' # Loglevel feature is still in the works for adding of debug messages # Valid loglevels: # Info: Regular logging # Debug: Show extra messages and caught errors for debugging # Severe: Only show severe messages loglevel: info # saveinterval is in minutes saveinterval: 30 # The time in seconds between each check to remove timed mutes unmuteinterval: 60 # The color of the private messages tellcolor: yellow # Enables or disabled BungeeCord messaging bungeecordmessaging: true # This will allow vanished players to be exempt from being sent private messages, and will act as if they aren't online vanishsupport: false # {playerto} : player receivings name # {playerfrom} : player sendings name # use Default for the basic formatting tellformatto: '&e[PM] &d- &e{playerfrom} -> {playerto}:' tellformatfrom: '&e[PM] &d- &e{playerfrom} -> {playerto}:' tellformatspy: '&e[PM] &d- &e{playerfrom} -> {playerto}:' replyformatto: '&e[PM] &d- &e{playerfrom} -> {playerto}:' replyformatfrom: '&e[PM] &d- &e{playerfrom} -> {playerto}:' replyformatspy: '&e[PM] &d- {playerfrom} -> {playerto}:' # {sender} : player sendings name # {player} : player receivings name # {time} : time mail was sent # use Default for the basic formatting mailformat: Default # {host} : party hosts name # {player} : player name # use Default for the basic formatting partyformat: Default broadcastafk: false formatcleaner: false # If true, /ignore will block chat from the ignored player as well as PM's ignorechat: false # The message shown to players alerting them no one is in the channel to hear them emptychannelalert: "&6No one is listening to you." messageremoverpermissions: '&cYou need additional permissions to view this message!' messageremovertext: '&c&o<message removed>' # The name of the group is the permissions node for the format # Example: venturechat.json.Moderator | venturechat.json.Police is the node for the group Owner # A lower priority overrides a higher priority if a player has more than 1 group # Possible options for click_name and click_prefix are suggest_command, run_command, and open_url jsonformatting: Default: # This default format is required! Do not delete or rename it! priority: 2147483647 # Integer.MAX_VALUE 2147483647 hover_name: - '&7I have no rank!' click_name: 'suggest_command' click_name_text: '/vwhisper {player_name}' hover_prefix: - '&dI am default!' click_prefix: 'suggest_command' click_prefix_text: '/vwhisper {player_name}' hover_suffix: - '' click_suffix: 'suggest_command' click_suffix_text: '/vwhisper {player_name}' Developer: priority: 2 hover_name: click_name: 'suggest_command' click_name_text: '/vwhisper {player_name}' hover_prefix: - '&cDeveloper of the server!' - '&bMessage me to report issues' click_prefix: 'suggest_command' click_prefix_text: '/vwhisper {player_name}' hover_suffix: click_suffix: click_suffix_text: Moderator: priority: 3 hover_name: - '&6In the land of the seeing' - '&6blind Lady Justice is Queen' click_name: 'suggest_command' click_name_text: '/vwhisper {player_name}' hover_prefix: - '&cModerator of the server!' - '&bMessage me for help!' click_prefix: 'suggest_command' click_prefix_text: '/vwhisper {player_name}' hover_suffix: click_suffix: click_suffix_text: Police: priority: 6 hover_name: - '&1I am a Corvarian Law Officer' click_name: 'suggest_command' click_name_text: '/vwhisper {player_name}' hover_prefix: - '&9To Protect and Serve Corvaria' click_prefix: 'suggest_command' click_prefix_text: '/vwhisper {player_name}' hover_suffix: click_suffix: click_suffix_text: # The icon is the block shown in the GUI # The text is the display name of the block icon # Include a slash (/) before the command # Permissions are the name of the button and automatically include "venturechat." # Example: mute equals venturechat.mute venturegui: mute: icon: 'REDSTONE_BLOCK' durability: 0 text: '&cMute {player_name}' permission: 'mute' command: '/mute {player_name} {channel} 10' slot: 1 unmute: icon: 'DIAMOND_BLOCK' durability: 0 text: '&bUnmute {player_name}' permission: 'mute' command: '/unmute {player_name} {channel}' slot: 2 removemessage: icon: 'DIAMOND_AXE' durability: 0 text: '&cRemove Message' permission: 'removemessage' command: '/removemessage {hash} {channel}' slot: 7 guiicon: '&c.' guitext: '&cOpen Moderation GUI' guirows: 1 # All clickable URL's will be underlined if set to true underlineurls: true # broadcast information broadcast: color: red permissions: venturechat.adminchannel displaytag: '[Broadcast]' # Use $ to include arguments into the message # Valid component types are: # Command: Sends a message or command in chat # Message: Sends a message to the player # Broadcast: Sends a broadcast to all players on the server # Permissions automatically include "venturechat." # Example: permissions: alert equals venturechat.alert # Use None for no permissions # The number of arguments is the minimum number of required arguments, use 0 for no required arguments alias: vote: arguments: 0 permissions: None components: - 'Message: &6Vote here: www.votelinkhere.com' bane: arguments: 2 permissions: bane components: - 'Command: /ban $ appeal at www.site.com' - 'Command: /st banned $' alert: arguments: 1 permissions: alert components: - 'Broadcast: &c<Alert> $' donate: arguments: 0 permissions: None components: - 'Message: &bDonate here: www.mywebsite.com' website: arguments: 0 permissions: None components: - 'Message: &aThis is our website: www.site.net' tell: arguments: 0 permissions: None components: - 'Command: /vtell$' whisper: arguments: 0 permissions: None components: - 'Command: /vwhisper$' w: arguments: 0 permissions: None components: - 'Command: /vwhisper$' msg: arguments: 0 permissions: None components: - 'Command: /vmessage$' message: arguments: 0 permissions: None components: - 'Command: /vmessage$' pm: arguments: 0 permissions: None components: - 'Command: /vmessage$' r: arguments: 0 permissons: None components: - 'Command: /reply $' # Valid modes are: # * Everyone # v Voice and up # h HalfOp and up # q Owner # o Op and up # Enter components like console commands # Arguments are accepted irc: enabled: false nick: 'VentureChatBot' login: 'VentureChatbot' server: 'irc.freenode.net' port: 6667 channel: '#venturechat' trustallcertificates: true # the delay before the bot logs into the channel in seconds # increase the time if the bot fails to login channeldelay: 60 commands: mute: mode: 'v' components: - 'mute' ban: mode: 'o' components: - 'ban' kick: mode: 'v' components: - 'kick' # Enables the creation of special Towny channels: Town and Nation # To create these channels, simply name two channels below "Town" and "Nation" # Bungeecord must be set to false for these channels! enable_towny_channel: false # Enables the creation of a special faction only channel using the Factions plugin # To create this channel, simply name a channel below "Faction" # Bungeecord must be set to false for this channel! # WARNING: May not work for all versions of Factions! enable_factions_channel: false # color = [channel] color # chatcolor = text color # cooldown is in seconds # bungeecord overrides distance # channel permissions are configurable # channels can be changed, and new channels can be created # Permissions automatically include "venturechat." # Example: permissions: staff equals venturechat.staff # Use None for no permissions # Use PlaceholderAPI placeholders please!!! # Use PlaceholderAPI placeholders please!!! # Use PlaceholderAPI placeholders please!!! # Legacy Placeholders: # {name} : player name # {nickname} : player nickname or name if they have no nickname # {prefix} : player prefix and color # {suffix} : player suffix and color # Use '' or "" around format, example: '[&2global&f] {prefix}{name}&2:' # You must have prefixes and suffixes set in a Vault compatible permissions plugin to avoid errors # Use "" as the prefix or suffix to have none # use Default for the basic formatting channels: Global: color: dark_green chatcolor: None mutable: true filter: false autojoin: true default: true distance: 0 cooldown: 0 bungeecord: true alias: g permissions: None format: '&f[&2G&f] {vault_prefix}{player_displayname}&r:' irc: false Staff: color: red chatcolor: red mutable: false filter: false autojoin: true default: false distance: 0 cooldown: 0 bungeecord: true alias: st permissions: staffchannel format: '&f[&aStaff&f] {vault_prefix}{player_displayname}&r:' irc: false Nearby: color: gray chatcolor: gray mutable: false filter: false autojoin: true default: false distance: 10 cooldown: 0 bungeecord: false alias: n permissions: None format: '&f[&7Nearby&f] {vault_prefix}{player_displayname}&r:' irc: false PLUGINS
Is it possible to use displaynames/nicknames in login messages? I've only gotten {player} to parse. Everything I've tested is in the spoiler below. Spoiler: login config ... login: enabled: true message: 'Welcome to Orthoclase {venturechat_nickname} {name} %venturechat_nickname% {displayname} {player_displayname} {nick} {nickname} {player_name} {name} {player_nick} {player}' ...
@dylanu You have an out of date base config. You're missing new additions, such as the new 'speak_permissions' attribute for a channel. (that in particular won't cause an issue, but other missing entries can) Your JSON format section does not follow proper YAML formatting. Empty quotes should be used to designate blank. not just leaving the entire line empty after the colon. Empty arrays are denoted with square brackets []. And the click action shouldn't be blank. Any of the three possible actions should still be entered (suggest command, run command, or open url) That's as much as I can tell you. That particular error is directly caused by user inputted values in the config. It is not a fault of the plugin. Try using a freshly generated config and make sure you have the most up to date settings. @MissPotato Other plugins already offer that feature. DeluxeJoin is the one I recommend. Works perfectly alongside VentureChat.
@VladKristal So what exactly is the problem...? It's formatted exactly as you typed it... Unless you mean the brackets... color codes are not placeholders, and do not need brackets. @chrissamael Hmm interesting. Not of lot of people ended up using that feature because it requires there to always be at least one player connected to the server that has DiscordSRV on it. (technical limitation of the way data is transferred via BungeeCord) I can take a look and try and reproduce the issue and fix it. If you're already created your own builds, you can just continue using them. Or you could have DiscordSRV installed on each server, but then you'd need to have a separate bot for each server. (Most common setup)
A few minor bugs 1) When running the /mute command it allows you to tab input things like 1w, however these don't work and just result in an error "Invalid time:" 2) Nation chat doesn't check to see if the user is part of a nation and will put them in a weird channel. I'm assuming it's basically just global 2 but no other players are available to test. 3) {venturechat_channel_color} seems to only return F and when used with & before it doesn't parse. I really like the things you can do with this plugin! Thank you for making it.
Is there a way to include "á/é/í/ó/ú" in the channel name? I know that I can put them in `format` but I use the Placeholders of the Channel_name to show what channel is the Player, and looks horrible without the ´
Hello - I just logged into my MySQL database and noticed that the size of the VentureChat table was 159GiB. What data is stored in this table, and how can I access it? Want to make sure there's nothing potentially important in there before I drop it. Thanks!
@MissPotato Mute time is always in minutes. VentureChat provides no such tab completion. Anyone can join the town and nation channels. If they don't have a town or nation, they won't be able to chat with anyone. The VentureChat specific placeholders never got updated because there's some technical limitations. But I can see if I can fix them back to how they performed before. @botany111 If you enable BungeeCord messaging, you will be able to. Enable it on each server. @Fakon2009 You can use any characters in the channel name itself. The placeholder returns the channel name not the format. @HyperKids It's a chat log. And you can query it like any sql database. Or view it in a tool like MySQL Workbench. You can delete it if you want, the plugins data is stored in the Players.yml file.
@Aust1n46 I wonder what's causing the tab complete issue then, I'm assuming a plugin conflict then. As for placeholders, not the big of a deal I just used the equivalent & format instead.
@MissPotato Probably Essentials or other plugin with a mute command that has a lower priority. Tab completion is overwritten as a packet if I'm not mistaken, so another plugin can set custom tab completion values separately from my handling of the command itself.
Hey there, I was wondering, does venture chat supports RedisBungee? So is possible to use it on a multiple bungee setup?
@phobetor VentureChat natively supports multiple BungeeCord proxies. The only caveat is that you need at least one player connected to each of the proxies for the data to be delivered. But that shouldn't be an issue if you have a player base that is so large you actually need multiple proxies.
@phobetor Place the jar in the plugins folder of each server and each proxy. Like I said above, you need to have at least one player connected to each proxy in order for data to be properly transmitted. (It's actually more forgiving and technical to explain than that) Should never be a problem on a network with a player count that actually warrants having two proxies.
I need some help with creating Towny channels. I've tried to make channels named "Town" and "Nations" as stated in the defaultconfig as instructions but that didn't work. It just became a channel like Global Chat. Could you please help guide me through how to create Towny Channels?