diff --git a/docker-compose.yml b/docker-compose.yml index d10b04f..e733ae0 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -56,6 +56,7 @@ services: https://github.com/dbkynd-minecraft/VelocityPlayerList/releases/download/v1.0/PlayerList-1.0.jar MODRINTH_PROJECTS: | dclink:EjvGsLkv + huskchat:SZxRjPf7 luckperms:vtXGoeps signedvelocity:Jp1p9BHR velocitab:TTtLPunq @@ -132,9 +133,6 @@ services: CFG_FORWARDING_SECRET_FILE: /run/secrets/forwarding_secret CFG_LUCKPERMS_DB_PASSWORD_FILE: /run/secrets/luckperms_db_password - # RCON_CMDS_STARTUP: |- - # gamerule announceAdvancements false - PLUGINS: | https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsX-2.20.1.jar diff --git a/velocity/config/plugins/huskchat/channels.yml b/velocity/config/plugins/huskchat/channels.yml new file mode 100755 index 0000000..5596933 --- /dev/null +++ b/velocity/config/plugins/huskchat/channels.yml @@ -0,0 +1,63 @@ +# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +# ┃ HuskChat - Channels ┃ +# ┃ Developed by William278 ┃ +# ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +# ┣╸ Information: https://william278.net/project/huskchat/ +# ┗╸ Channels Help: https://william278.net/docs/huskchat/channels/ + +# The default chat channel players are placed in (can be overridden by server_default_channels) +default_channel: global +# Map of server names to a channel players will be automatically moved into when they join that server +server_default_channels: + example: global +# The format of log messages (applies to channels with logging enabled) +channel_log_format: '[CHAT] %sender%: ' +# Aliases for the /channel command +channel_command_aliases: +- channel +- c +# Channel definitions +channels: +- id: local + format: '%fullname%&r&f: ' + broadcast_scope: LOCAL + log_to_console: true + restricted_servers: [] + filtered: true + permissions: {} + shortcut_commands: + - /local + - /l +- id: global + format: '%fullname%&r&f: ' + broadcast_scope: GLOBAL + log_to_console: true + restricted_servers: [] + filtered: true + permissions: {} + shortcut_commands: + - /global + - /g +- id: staff + format: '&e[Staff] %name%: &7' + broadcast_scope: GLOBAL + log_to_console: true + restricted_servers: [] + filtered: false + permissions: + send: huskchat.channel.staff.send + receive: huskchat.channel.staff.receive + shortcut_commands: + - /staff + - /sc +- id: helpop + format: '�fb9a&[HelpOp] %name%:&7' + broadcast_scope: GLOBAL + log_to_console: true + restricted_servers: [] + filtered: false + permissions: + receive: huskchat.channel.helpop.receive + shortcut_commands: + - /helpop + - /helpme diff --git a/velocity/config/plugins/huskchat/config.yml b/velocity/config/plugins/huskchat/config.yml new file mode 100755 index 0000000..b92ff90 --- /dev/null +++ b/velocity/config/plugins/huskchat/config.yml @@ -0,0 +1,123 @@ +# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +# ┃ HuskChat - Config ┃ +# ┃ Developed by William278 ┃ +# ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +# ┣╸ Information: https://william278.net/project/huskchat/ +# ┣╸ Config Help: https://william278.net/docs/huskchat/config-files/ +# ┗╸ Documentation: https://william278.net/docs/huskchat/ + +# Locale of the default language file to use. Docs: https://william278.net/docs/huskclaims/translations +language: en-gb +# Whether to automatically check for plugin updates on startup +check_for_updates: false +# Whether to handle chat packets directly for better 1.19+ support (may cause rare compatibility issues) +use_packet_listening: true +# Placeholder settings +placeholder: + # Use PlaceholderAPI. If you're on Bungee/Velocity, this requires PAPIProxyBridge installed + use_papi: true + # If using PAPIProxyBridge, how long to cache placeholders for (in milliseconds) + cache_time: 3000 +# Message comamnd settings +message_command: + # Whether to enable the /msg command + enabled: true + # List of command aliases for /msg + msg_aliases: + - /msg + - /m + - /tell + - /whisper + - /w + - /pm + # List of command aliases for /reply + reply_aliases: + - /reply + - /r + # Whether to apply censorship filters on private messages + censor: false + # Whether to log private messages to the console + log_to_console: false + # Logging format for private messages + log_format: '[%sender% -> %receiver%]: ' + # Group private message settings + group_messages: + # Whether to enable group private messages (/msg Player1,Player2,...) + enabled: true + # Maximum amount of players in a group message + max_size: 10 + # Formats for private messages (uses MineDown) + format: + inbound: '&e&l%name% &8→ &e&lYou&8: &f' + outbound: '&e&lYou &8→ &e&l%name%&8: &f' + group_inbound: '&e&l%name% &8→ &e&lYou[₍₊%group_amount_subscript%₎](gray show_text=&7%group_members%)&8: + &f' + group_outbound: '&e&lYou &8→ &e&l%name%[₍₊%group_amount_subscript%₎](gray show_text=&7%group_members%)&8: + &f' + # (Bungee/Velocity only) List of servers where private messages cannot be sent + restricted_servers: [] +# Social spy settings (see other users' private messages) +social_spy: + enabled: false + format: '&e[Spy] &7%name% &8→ &7%receiver_name%:%spy_color% ' + group_format: '&e[Spy] &7%name% &8→ &7%receiver_name% [₍₊%group_amount_subscript%₎](gray + show_text=&7%group_members% suggest_command=/msg %group_members_comma_separated% + ):%spy_color% ' + socialspy_aliases: + - /socialspy + - /ss +# (Bungee/Velocity only) Local spy settings (see local messages on other servers) +local_spy: + enabled: false + format: '&e[Spy] &7[%channel%] %name%&8:%spy_color% ' + localspy_aliases: + - /localspy + - /ls + # List of channels to exclude from local spy + excluded_local_channels: [] +# Broadcast command settings +broadcast_command: + enabled: false + broadcast_aliases: + - /broadcast + - /alert + format: '&6[Broadcast]&e ' + log_to_console: true + log_format: '[BROADCAST]: ' +# Join and quit message settings +join_and_quit_messages: + # Use the "huskchat.join_message.[text]" permission to override this. + # Use the "huskchat.silent_join" permission to silence for a user. + join: + enabled: true + format: '&e%name% joined the network' + # Use the "huskchat.quit_message.[text]" permission to override this. + # Use the "huskchat.silent_quit" permission to silence for a user. + quit: + enabled: true + format: '&e%name% left the network' + # Note that on Velocity/Bungee, PASSTHROUGH modes won't cancel local join/quit messages + broadcast_scope: GLOBAL +# Discord integration settings. Docs: https://william278.net/docs/huskchat/discord-hook +discord: + # Enable hooking into Discord via Webhooks and/or Spicord + enabled: false + # Discord message format style (INLINE or EMBEDDED) + format_style: INLINE + # Send messages in channels to a webhook by mapped URL + channel_webhooks: {} + # Whether to hook into Spicord for two-way chat + spicord: + # Requires Spicord installed and "huskchat" added to the "addons" in config.toml + enabled: true + # Format of Discord users in-game. Note this doesn't support other placeholders + username_format: '@%discord_handle%' + # Send in-game messages on these channels to a specified Discord channel (by numeric ID) + receive_channel_map: + global: '123456789012345678' + # Send Discord messages on these channels (by numeric ID) to a specified in-game channel + send_channel_map: + '123456789012345678': global +# Custom names to display wherever you use the "%server%" placeholder instead of their default name +server_name_replacement: + very-long-server-name: VLSN diff --git a/velocity/config/plugins/huskchat/filters.yml b/velocity/config/plugins/huskchat/filters.yml new file mode 100755 index 0000000..e9db218 --- /dev/null +++ b/velocity/config/plugins/huskchat/filters.yml @@ -0,0 +1,93 @@ +# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +# ┃ HuskChat - Filters ┃ +# ┃ Developed by William278 ┃ +# ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +# ┣╸ Information: https://william278.net/project/huskchat/ +# ┗╸ Channels Help: https://william278.net/docs/huskchat/filters-and-replacers/ + +filters: + ADVERTISING: + type: filter + enabled: false + channels: + - global + - local + private_messages: true + broadcast_messages: false + REPEAT: + type: repeat + enabled: false + channels: + - global + - local + private_messages: true + broadcast_messages: false + previous_messages_to_check: 5 + REGEX: + type: regex + enabled: false + channels: + - global + - local + private_messages: true + broadcast_messages: false + patterns: [] + SPAM: + type: spam + enabled: false + channels: + - global + - local + private_messages: true + broadcast_messages: false + period_seconds: 4 + messages_per_period: 3 + ASCII: + type: filter + enabled: false + channels: + - global + - local + private_messages: true + broadcast_messages: false + PROFANITY: + type: profanity + enabled: false + channels: + - global + - local + private_messages: true + broadcast_messages: false + library_path: '' + mode: AUTOMATIC + tolerance: 0.78 + CAPS: + type: caps + enabled: false + channels: + - global + - local + private_messages: true + broadcast_messages: false + max_caps_percentage: 0.4 +replacers: + EMOJI: + type: emoji + enabled: true + channels: + - global + - local + private_messages: true + broadcast_messages: false + case_insensitive: false + emoji: + ':heart:': ❤ + ':smile:': ☺ + :-(: ☹ + :-): ☺ + <3: ❤ + ':frown:': ☹ + ':star:': ⭐ + ':fire:': 🔥 + :(: ☹ + :): ☺ diff --git a/velocity/config/plugins/huskchat/messages-en-gb.yml b/velocity/config/plugins/huskchat/messages-en-gb.yml new file mode 100755 index 0000000..de587cc --- /dev/null +++ b/velocity/config/plugins/huskchat/messages-en-gb.yml @@ -0,0 +1,75 @@ +# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +# ┃ HuskChat - Locales ┃ +# ┃ Developed by William278 ┃ +# ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ +# ┣╸ See plugin about menu for international locale credits +# ┣╸ Formatted in MineDown: https://github.com/Phoenix616/MineDown +# ┗╸ Translate HuskClaims: https://william278.net/docs/huskchat/translations + +locales: + error_no_permission: '[Error:](#ff3300) [You do not have permission to execute that + command.](#ff7e5e)' + error_invalid_syntax: '[Error:](#ff3300) [Incorrect syntax. Usage: %1%](#ff7e5e)' + channel_switched: '[You are now talking in](#00fb9a) [%1%](#00fb9a bold) [chat!](#00fb9a)' + error_no_permission_send: '[Error:](#ff3300) [You do not have permission to talk + in %1% chat.](#ff7e5e)' + error_invalid_channel: '[Error:](#ff3300) [Please specify a valid chat channel.](#ff7e5e)' + error_invalid_channel_command: '[Error:](#ff3300) [That channel is invalid](#ff7e5e)' + error_no_channel: '[Error:](#ff3300) [You are trying to talk in an invalid chat + channel. Use](#ff7e5e) [/channel](#ff7e5e italic show_text=&#ff7e5e&Click here + to suggest command suggest_command=/channel ) [to switch to a valid one.](#ff7e5e)' + error_player_not_found: '[Error:](#ff3300) [Could not find the specified player; + are they online?](#ff7e5e)' + error_cannot_message_self: '[Error:](#ff3300) [You can''t message yourself!](#ff7e5e)' + error_reply_no_messages: '[Error:](#ff3300) [There is nobody who has sent you a + message to reply to!](#ff7e5e)' + error_reply_not_online: '[Error:](#ff3300) [The last person you messaged is no longer + online.](#ff7e5e)' + error_message_restricted_server: '[Error:](#ff3300) [You cannot message players + from this server.](#ff7e5e)' + error_message_recipient_restricted_server: '[Error:](#ff3300) [That player is on + a server where messages cannot be received.](#ff7e5e)' + error_channel_restricted_server: '[Error:](#ff3300) [You cannot talk in %1% chat + from this server.](#ff7e5e)' + social_spy_toggled_on: '[You are now spying on private messages.](#00fb9a)' + social_spy_toggled_on_color: '[You are now spying on private messages in](#00fb9a) + %1%%2%' + social_spy_toggled_off: '[You are no longer spying on private messages.](#00fb9a)' + local_spy_toggled_on: '[You are now spying on other servers'' local chat channels.](#00fb9a)' + local_spy_toggled_on_color: '[You are now spying on local chat in](#00fb9a) %1%%2%' + local_spy_toggled_off: '[You are no longer spying on other servers'' local chat + channels.](#00fb9a)' + error_chat_filter_advertising: '[You cannot advertise or post links in chat.](#ff7e5e)' + error_chat_filter_profanity: '[You cannot use profanity in chat.](#ff7e5e)' + error_chat_filter_caps: '[Please watch your caps in chat.](#ff7e5e)' + error_chat_filter_spam: '[Please wait! You are sending messages too quickly.](#ff7e5e)' + error_chat_filter_ascii: '[You cannot use special characters in chat.](#ff7e5e)' + error_chat_filter_repeat: '[You''ve already sent that message recently!](#ff7e5e)' + error_chat_filter_regex: '[Your message contains blocked text.](#ff7e5e)' + error_in_game_only: 'Error: That command can only be used in-game.' + error_console_local_scope: 'Error: Sending messages from console to channels with + a local scope is unsupported.' + error_console_switch_channels: 'Error: You cannot switch to another channel from + console. Please use the shortcut command instead.' + error_group_messages_disabled: '[Error:](#ff3300) [You cannot send messages to multiple + people.](#ff7e5e)' + error_group_messages_max: '[Error:](#ff3300) [You can only send messages to a maximum + of %1% people at once.](#ff7e5e)' + error_players_not_found: '[Error:](#ff3300) [Could not find any of the specified + players; are they online?](#ff7e5e)' + error_reply_none_online: '[Error:](#ff3300) [Nobody in the last group of people + you messaged are still online.](#ff7e5e)' + error_last_message_not_group: '[Error:](#ff3300) [The last message you received + was not a group message.](#ff7e5e)' + error_no_messages_opt_out: '[Error:](#ff3300) [You have not yet sent or received + group messages.](#ff7e5e)' + removed_from_group_message: '[Removed you from the group message between:](#00fb9a) + %1%' + list_conjunction: and + error_passthrough_shortcut_command: '[Error:](#ff3300) [Sending messages to passthrough + channels using shortcut commands is not supported. Please switch to the channel + first.](#ff7e5e)' + up_to_date: '[HuskChat](#00fb9a bold) [| You are running the latest version of HuskChat + (v%1%).](#00fb9a)' + update_available: '[HuskChat](#ff7e5e bold) [| A new version of HuskChat is available: + v%1% (running: v%2%).](#ff7e5e)'