diff --git a/StatusAPI/src/main/resources/chat.yml b/StatusAPI/src/main/resources/chat.yml index b8d34c5..d4ec80f 100644 --- a/StatusAPI/src/main/resources/chat.yml +++ b/StatusAPI/src/main/resources/chat.yml @@ -1,376 +1,376 @@ -# ============================================================ -# StatusAPI - ChatModule Konfiguration -# Kompatibel mit Java & Bedrock (Geyser) | BungeeCord Secure Chat -# ============================================================ - -# Standard-Kanal beim Einloggen -default-channel: "global" - -server-colors: - default: "&7" # Fallback für unbekannte Server - lobby: - color: "&a" - display: "Lobby" # Anzeigename (optional, sonst wird der echte Servername verwendet) - survival: - color: "&#E8A020" - display: "Survival" - skyblock: - color: "&b" - display: "SkyBlock" - citybuild: - color: "&#A020E8" - display: "CityBuild" - minigames: - color: "&e" - display: "MiniGames" - -chatlog: - enabled: true - retention-days: 7 # 7 oder 14 - -reports: - enabled: true - webhook-enabled: true - confirm-message: "&aDein Report &8({id}) &awurde eingereicht. Danke!" - close-permission: "chat.admin.bypass" - view-permission: "chat.admin.bypass" - # Leer = jeder Spieler darf reporten, sonst Permission eintragen (z.B. "chat.report") - report-permission: "" - cooldown: 60 - # Discord Webhook für Report-Benachrichtigungen (leer = deaktiviert) - discord-webhook: "" - # Telegram Chat-ID für Report-Benachrichtigungen (leer = deaktiviert) - telegram-chat-id: "" - -# ============================================================ -# KANÄLE -# Jeder Kanal hat eigene Permissions, Format und Brücken. -# format-Platzhalter: -# {server} - Servername -# {prefix} - LuckPerms Prefix -# {player} - Spielername -# {suffix} - LuckPerms Suffix -# {message} - Nachricht -# {channel} - Kanalname -# ============================================================ -channels: - global: - name: "Global" - symbol: "G" - permission: "" - color: "&a" - format: "&8[&a{server}&8] {prefix}&r{player}&8: &f{message}" - discord-webhook: "" - discord-channel-id: "" - telegram-chat-id: "" - # Themen-ID für Telegram-Gruppen mit Themen (0 = kein Thema / normale Gruppe) - telegram-thread-id: 0 - - local: - name: "Local" - symbol: "L" - permission: "chat.channel.local" - color: "&e" - local-only: true - format: "&8[&e{server}&8] {prefix}&r{player}&8: &f{message}" - discord-webhook: "" - discord-channel-id: "" - telegram-chat-id: "" - telegram-thread-id: 0 - - trade: - name: "Trade" - symbol: "T" - permission: "chat.channel.trade" - color: "&6" - format: "&8[&6TRADE&8] &8[&7{server}&8] {prefix}&r{player}&8: &f{message}" - discord-webhook: "" - discord-channel-id: "" - telegram-chat-id: "" - telegram-thread-id: 0 - - staff: - name: "Staff" - symbol: "S" - permission: "chat.channel.staff" - color: "&c" - format: "&8[&cSTAFF&8] &8[&7{server}&8] {prefix}&r{player}&8: &f{message}" - discord-webhook: "" - discord-channel-id: "" - telegram-chat-id: "" - telegram-thread-id: 0 - use-admin-bridge: true - -# ============================================================ -# HELPOP -# ============================================================ -helpop: - # Format der HelpOp-Nachricht - format: "&8[&eHELPOP&8] &f{player}&8@&7{server}&8: &e{message}" - # Wer bekommt HelpOp zu sehen - receive-permission: "chat.helpop.receive" - # Cooldown in Sekunden - cooldown: 30 - # Bestätigungsnachricht an den Spieler - confirm-message: "&aHilferuf wurde an das Team gesendet!" - # Discord / Telegram auch für HelpOp - discord-webhook: "" - telegram-chat-id: "" - -# ============================================================ -# BROADCAST -# ============================================================ -broadcast: - format: "&c&l[&6&lBroadcast&c&l] &r&e{message}" - permission: "chat.broadcast" - -# ============================================================ -# PRIVATE NACHRICHTEN -# ============================================================ -private-messages: - enabled: true - format-sender: "&8[&7Du &8→ &b{player}&8] &f{message}" - format-receiver: "&8[&b{player} &8→ &7Dir&8] &f{message}" - # Social Spy: Admins können alle PMs sehen - format-social-spy: "&8[&dSPY &7{sender} &8→ &7{receiver}&8] &f{message}" - social-spy-permission: "chat.socialspy" - -# ============================================================ -# JOIN / LEAVE NACHRICHTEN -# Platzhalter: -# {player} - Spielername -# {prefix} - LuckPerms Prefix -# {suffix} - LuckPerms Suffix -# {server} - Zuletzt bekannter Server (bei Leave) oder "Netzwerk" -# ============================================================ -join-leave: - enabled: true - # Normale Join/Leave-Nachrichten (für alle sichtbar) - join-format: "&8[&a+&8] {prefix}&a{player}&r &7hat das Netzwerk betreten." - leave-format: "&8[&c-&8] {prefix}&c{player}&r &7hat das Netzwerk verlassen." - # Vanish: Unsichtbare Spieler erzeugen keine normalen Join/Leave-Meldungen. - # Ist vanish-show-to-admins true, sehen Admins mit bypass-permission eine - # abweichende, dezente Benachrichtigung. - vanish-show-to-admins: true - vanish-join-format: "&8[&7+&8] &8{player} &7hat das Netzwerk betreten. &8(Vanish)" - vanish-leave-format: "&8[&7-&8] &8{player} &7hat das Netzwerk verlassen. &8(Vanish)" - # Brücken-Weitergabe (leer = deaktiviert) - discord-webhook: "" - telegram-chat-id: "" - telegram-thread-id: 0 - -# ============================================================ -# GLOBALES RATE-LIMIT-FRAMEWORK -# Zentraler Schutz für Chat/PM/Command-Flood. -# ============================================================ -rate-limit: - chat: - enabled: true - window-ms: 2500 - max-actions: 3 - block-ms: 6000 - message: "&cBitte nicht so schnell schreiben!" - - private-messages: - enabled: true - window-ms: 5000 - max-actions: 4 - block-ms: 10000 - message: "&cDu sendest zu viele private Nachrichten. Bitte warte kurz." - -# ============================================================ -# MUTE -# ============================================================ -mute: - # Standard-Mute-Dauer in Minuten (0 = permanent) - default-duration-minutes: 60 - # Nachricht an gemuteten Spieler - muted-message: "&cDu bist aktuell stummgeschaltet. Noch: &f{time}" - -# ============================================================ -# EMOJI -# Spieler schreiben :smile: -> wird zu \uD83D\uDE0A konvertiert -# Bedrock-Spieler erhalten Fallback-Text wenn kein Unicode -# ============================================================ -emoji: - enabled: true - # Ob Bedrock-Spieler (via Geyser) auch Emojis erhalten - bedrock-support: true - mappings: - ":smile:": "\uD83D\uDE0A" - ":laugh:": "\uD83D\uDE04" - ":sad:": "\uD83D\uDE22" - ":cry:": "\uD83D\uDE2D" - ":angry:": "\uD83D\uDE20" - ":heart:": "\u2764\uFE0F" - ":fire:": "\uD83D\uDD25" - ":star:": "\u2B50" - ":check:": "\u2705" - ":x:": "\u274C" - ":warning:": "\u26A0\uFE0F" - ":thumbsup:": "\uD83D\uDC4D" - ":thumbsdown:": "\uD83D\uDC4E" - ":wave:": "\uD83D\uDC4B" - ":clap:": "\uD83D\uDC4F" - ":sword:": "\u2694\uFE0F" - ":shield:": "\uD83D\uDEE1\uFE0F" - ":diamond:": "\uD83D\uDC8E" - ":crown:": "\uD83D\uDC51" - ":skull:": "\uD83D\uDC80" - ":sun:": "\u2600\uFE0F" - ":moon:": "\uD83C\uDF19" - ":tree:": "\uD83C\uDF33" - ":house:": "\uD83C\uDFE0" - ":money:": "\uD83D\uDCB0" - ":rocket:": "\uD83D\uDE80" - ":rainbow:": "\uD83C\uDF08" - ":ghost:": "\uD83D\uDC7B" - ":gift:": "\uD83C\uDF81" - ":cake:": "\uD83C\uDF82" - ":chicken:": "\uD83D\uDC14" - ":pig:": "\uD83D\uDC37" - ":creeper:": "\uD83D\uDCA3" - ":gg:": "\uD83C\uDFAE" - -# ============================================================ -# DISCORD INTEGRATION -# ============================================================ -discord: - enabled: false - # Bot-Token für bidirektionale Kommunikation - bot-token: "YOUR_BOT_TOKEN_HERE" - # Server (Guild) ID - guild-id: "YOUR_GUILD_ID" - # Polling-Intervall in Sekunden (Discord → Minecraft) - poll-interval: 3 - # Format für Discord → Minecraft Nachrichten - from-discord-format: "&9[&bDiscord&9] &b{user}&8: &f{message}" - # Extra Admin-Kanal (für Staff-Kanal und HelpOp) - admin-channel-id: "" - # Standard-Embed-Farbe (Hex ohne #) - embed-color: "5865F2" - -# ============================================================ -# TELEGRAM INTEGRATION -# ============================================================ -telegram: - enabled: false - # Bot-Token von @BotFather - bot-token: "YOUR_TELEGRAM_BOT_TOKEN" - # Polling-Intervall in Sekunden - poll-interval: 3 - # Format für Telegram → Minecraft Nachrichten - from-telegram-format: "&3[&bTelegram&3] &b{user}&8: &f{message}" - # Extra Admin-Chat-ID (für Staff-Kanal und HelpOp) - admin-chat-id: "" - # Themen-Gruppe: Topic-ID für den Chat-Kanal (0 = kein Topic / normale Gruppe) - # Die message_thread_id findest du indem du eine Nachricht im Topic weiterleitest - # und dir die forwarded_from_message_id anschaust, oder via Bot-API getUpdates. - chat-topic-id: 0 - # Topic-ID für den Admin-Kanal (0 = kein Topic) - admin-topic-id: 0 - -# ============================================================ -# ACCOUNT-VERKNÜPFUNG (Discord & Telegram) -# Spieler können ihre Minecraft-Accounts mit Discord/Telegram -# verknüpfen damit ihr Name im Chat angezeigt wird. -# ============================================================ -account-linking: - enabled: true - # Token läuft nach X Minuten ab - token-expire-minutes: 10 - # Nachricht die der Spieler nach /linkdiscord bekommt - discord-link-message: "&aSchreibe den folgenden Code als Nachricht an unseren Discord-Bot:\n&f&l{token}\n&7Der Code läuft in &f10 Minuten &7ab." - # Nachricht die der Spieler nach /linktelegram bekommt - telegram-link-message: "&aSchreibe den folgenden Code als Nachricht an unseren Telegram-Bot:\n&f&l{token}\n&7Der Code läuft in &f10 Minuten &7ab." - # Bestätigung nach erfolgreicher Verknüpfung (im Spiel) - success-discord: "&aDiscord-Account erfolgreich verknüpft! &8(&7{discord}&8)" - success-telegram: "&aTelegram-Account erfolgreich verknüpft! &8(&7{telegram}&8)" - # Bestätigung die der Bot in Discord/Telegram schickt - bot-success-discord: "✅ Dein Minecraft-Account **{player}** wurde erfolgreich verknüpft!" - bot-success-telegram: "✅ Dein Minecraft-Account {player} wurde erfolgreich verknüpft!" - # Format wenn verknüpfter Nutzer in Discord/Telegram schreibt - # {player} = Minecraft-Name, {user} = Discord/Telegram-Name, {message} = Nachricht - linked-discord-format: "&9[&bDiscord&9] &f{player} &8(&7{user}&8)&8: &f{message}" - linked-telegram-format: "&3[&bTelegram&3] &f{player} &8(&7{user}&8)&8: &f{message}" - # Themen-ID für den Admin-Chat (0 = kein Thema) - admin-thread-id: 0 - -# ============================================================ -# ADMIN BYPASS -# Spieler mit dieser Permission können nicht geblockt werden -# und sind von Mutes ausgenommen -# ============================================================ -admin: - bypass-permission: "chat.admin.bypass" - # Admins erhalten Benachrichtigung bei Mutes/Blocks - notify-permission: "chat.admin.notify" - -# ============================================================ -# CHAT-FILTER & ANTI-SPAM -# ============================================================ -chat-filter: - anti-spam: - enabled: true - cooldown-ms: 1500 - max-messages: 3 - message: "&cBitte nicht so schnell schreiben!" - duplicate-check: - enabled: true - message: "&cBitte keine identischen Nachrichten senden." - blacklist: - enabled: true - words: - - "beispielwort1" - - "beispielwort2" - caps-filter: - enabled: true - min-length: 6 - max-percent: 70 - - anti-ad: - enabled: true - message: "&cWerbung ist in diesem Chat nicht erlaubt!" - # Domains/Substrings die NICHT geblockt werden (z.B. eigene Serveradresse) - # Vergleich ist case-insensitiv und prüft ob der Substring im Match enthalten ist - whitelist: - - "viper-network.de" - - "m-viper.de" - - "https://www.spigotmc.org" - # TLDs die als Werbung gewertet werden. - # Leer = alle Domain-Treffer blockieren (nicht empfohlen, hohe False-Positive-Rate) - blocked-tlds: - - "net" - - "com" - - "de" - - "org" - - "gg" - - "io" - - "eu" - - "tv" - - "xyz" - - "info" - - "me" - - "cc" - - "co" - - "app" - - "online" - - "site" - - "fun" - -# ============================================================ -# MENTIONS (@Spielername) -# ============================================================ -mentions: - enabled: true - highlight-color: "&e&l" - sound: "ENTITY_EXPERIENCE_ORB_PICKUP" - allow-toggle: true - notify-prefix: "&e&l[Mention] &r" - -# ============================================================ -# CHAT-HISTORY -# ============================================================ -chat-history: - max-lines: 50 +# ============================================================ +# StatusAPI - ChatModule Konfiguration +# Kompatibel mit Java & Bedrock (Geyser) | BungeeCord Secure Chat +# ============================================================ + +# Standard-Kanal beim Einloggen +default-channel: "global" + +server-colors: + default: "&7" # Fallback für unbekannte Server + lobby: + color: "&a" + display: "Lobby" # Anzeigename (optional, sonst wird der echte Servername verwendet) + survival: + color: "&#E8A020" + display: "Survival" + skyblock: + color: "&b" + display: "SkyBlock" + citybuild: + color: "&#A020E8" + display: "CityBuild" + minigames: + color: "&e" + display: "MiniGames" + +chatlog: + enabled: true + retention-days: 7 # 7 oder 14 + +reports: + enabled: true + webhook-enabled: true + confirm-message: "&aDein Report &8({id}) &awurde eingereicht. Danke!" + close-permission: "chat.admin.bypass" + view-permission: "chat.admin.bypass" + # Leer = jeder Spieler darf reporten, sonst Permission eintragen (z.B. "chat.report") + report-permission: "" + cooldown: 60 + # Discord Webhook für Report-Benachrichtigungen (leer = deaktiviert) + discord-webhook: "" + # Telegram Chat-ID für Report-Benachrichtigungen (leer = deaktiviert) + telegram-chat-id: "" + +# ============================================================ +# KANÄLE +# Jeder Kanal hat eigene Permissions, Format und Brücken. +# format-Platzhalter: +# {server} - Servername +# {prefix} - LuckPerms Prefix +# {player} - Spielername +# {suffix} - LuckPerms Suffix +# {message} - Nachricht +# {channel} - Kanalname +# ============================================================ +channels: + global: + name: "Global" + symbol: "G" + permission: "" + color: "&a" + format: "&8[&a{server}&8] {prefix}&r{player}&8: &f{message}" + discord-webhook: "" + discord-channel-id: "" + telegram-chat-id: "" + # Themen-ID für Telegram-Gruppen mit Themen (0 = kein Thema / normale Gruppe) + telegram-thread-id: 0 + + local: + name: "Local" + symbol: "L" + permission: "chat.channel.local" + color: "&e" + local-only: true + format: "&8[&e{server}&8] {prefix}&r{player}&8: &f{message}" + discord-webhook: "" + discord-channel-id: "" + telegram-chat-id: "" + telegram-thread-id: 0 + + trade: + name: "Trade" + symbol: "T" + permission: "chat.channel.trade" + color: "&6" + format: "&8[&6TRADE&8] &8[&7{server}&8] {prefix}&r{player}&8: &f{message}" + discord-webhook: "" + discord-channel-id: "" + telegram-chat-id: "" + telegram-thread-id: 0 + + staff: + name: "Staff" + symbol: "S" + permission: "chat.channel.staff" + color: "&c" + format: "&8[&cSTAFF&8] &8[&7{server}&8] {prefix}&r{player}&8: &f{message}" + discord-webhook: "" + discord-channel-id: "" + telegram-chat-id: "" + telegram-thread-id: 0 + use-admin-bridge: true + +# ============================================================ +# HELPOP +# ============================================================ +helpop: + # Format der HelpOp-Nachricht + format: "&8[&eHELPOP&8] &f{player}&8@&7{server}&8: &e{message}" + # Wer bekommt HelpOp zu sehen + receive-permission: "chat.helpop.receive" + # Cooldown in Sekunden + cooldown: 30 + # Bestätigungsnachricht an den Spieler + confirm-message: "&aHilferuf wurde an das Team gesendet!" + # Discord / Telegram auch für HelpOp + discord-webhook: "" + telegram-chat-id: "" + +# ============================================================ +# BROADCAST +# ============================================================ +broadcast: + format: "&c&l[&6&lBroadcast&c&l] &r&e{message}" + permission: "chat.broadcast" + +# ============================================================ +# PRIVATE NACHRICHTEN +# ============================================================ +private-messages: + enabled: true + format-sender: "&8[&7Du &8→ &b{player}&8] &f{message}" + format-receiver: "&8[&b{player} &8→ &7Dir&8] &f{message}" + # Social Spy: Admins können alle PMs sehen + format-social-spy: "&8[&dSPY &7{sender} &8→ &7{receiver}&8] &f{message}" + social-spy-permission: "chat.socialspy" + +# ============================================================ +# JOIN / LEAVE NACHRICHTEN +# Platzhalter: +# {player} - Spielername +# {prefix} - LuckPerms Prefix +# {suffix} - LuckPerms Suffix +# {server} - Zuletzt bekannter Server (bei Leave) oder "Netzwerk" +# ============================================================ +join-leave: + enabled: true + # Normale Join/Leave-Nachrichten (für alle sichtbar) + join-format: "&8[&a+&8] {prefix}&a{player}&r &7hat das Netzwerk betreten." + leave-format: "&8[&c-&8] {prefix}&c{player}&r &7hat das Netzwerk verlassen." + # Vanish: Unsichtbare Spieler erzeugen keine normalen Join/Leave-Meldungen. + # Ist vanish-show-to-admins true, sehen Admins mit bypass-permission eine + # abweichende, dezente Benachrichtigung. + vanish-show-to-admins: true + vanish-join-format: "&8[&7+&8] &8{player} &7hat das Netzwerk betreten. &8(Vanish)" + vanish-leave-format: "&8[&7-&8] &8{player} &7hat das Netzwerk verlassen. &8(Vanish)" + # Brücken-Weitergabe (leer = deaktiviert) + discord-webhook: "" + telegram-chat-id: "" + telegram-thread-id: 0 + +# ============================================================ +# GLOBALES RATE-LIMIT-FRAMEWORK +# Zentraler Schutz für Chat/PM/Command-Flood. +# ============================================================ +rate-limit: + chat: + enabled: true + window-ms: 2500 + max-actions: 3 + block-ms: 6000 + message: "&cBitte nicht so schnell schreiben!" + + private-messages: + enabled: true + window-ms: 5000 + max-actions: 4 + block-ms: 10000 + message: "&cDu sendest zu viele private Nachrichten. Bitte warte kurz." + +# ============================================================ +# MUTE +# ============================================================ +mute: + # Standard-Mute-Dauer in Minuten (0 = permanent) + default-duration-minutes: 60 + # Nachricht an gemuteten Spieler + muted-message: "&cDu bist aktuell stummgeschaltet. Noch: &f{time}" + +# ============================================================ +# EMOJI +# Spieler schreiben :smile: -> wird zu \uD83D\uDE0A konvertiert +# Bedrock-Spieler erhalten Fallback-Text wenn kein Unicode +# ============================================================ +emoji: + enabled: true + # Ob Bedrock-Spieler (via Geyser) auch Emojis erhalten + bedrock-support: true + mappings: + ":smile:": "\uD83D\uDE0A" + ":laugh:": "\uD83D\uDE04" + ":sad:": "\uD83D\uDE22" + ":cry:": "\uD83D\uDE2D" + ":angry:": "\uD83D\uDE20" + ":heart:": "\u2764\uFE0F" + ":fire:": "\uD83D\uDD25" + ":star:": "\u2B50" + ":check:": "\u2705" + ":x:": "\u274C" + ":warning:": "\u26A0\uFE0F" + ":thumbsup:": "\uD83D\uDC4D" + ":thumbsdown:": "\uD83D\uDC4E" + ":wave:": "\uD83D\uDC4B" + ":clap:": "\uD83D\uDC4F" + ":sword:": "\u2694\uFE0F" + ":shield:": "\uD83D\uDEE1\uFE0F" + ":diamond:": "\uD83D\uDC8E" + ":crown:": "\uD83D\uDC51" + ":skull:": "\uD83D\uDC80" + ":sun:": "\u2600\uFE0F" + ":moon:": "\uD83C\uDF19" + ":tree:": "\uD83C\uDF33" + ":house:": "\uD83C\uDFE0" + ":money:": "\uD83D\uDCB0" + ":rocket:": "\uD83D\uDE80" + ":rainbow:": "\uD83C\uDF08" + ":ghost:": "\uD83D\uDC7B" + ":gift:": "\uD83C\uDF81" + ":cake:": "\uD83C\uDF82" + ":chicken:": "\uD83D\uDC14" + ":pig:": "\uD83D\uDC37" + ":creeper:": "\uD83D\uDCA3" + ":gg:": "\uD83C\uDFAE" + +# ============================================================ +# DISCORD INTEGRATION +# ============================================================ +discord: + enabled: false + # Bot-Token für bidirektionale Kommunikation + bot-token: "YOUR_BOT_TOKEN_HERE" + # Server (Guild) ID + guild-id: "YOUR_GUILD_ID" + # Polling-Intervall in Sekunden (Discord → Minecraft) + poll-interval: 3 + # Format für Discord → Minecraft Nachrichten + from-discord-format: "&9[&bDiscord&9] &b{user}&8: &f{message}" + # Extra Admin-Kanal (für Staff-Kanal und HelpOp) + admin-channel-id: "" + # Standard-Embed-Farbe (Hex ohne #) + embed-color: "5865F2" + +# ============================================================ +# TELEGRAM INTEGRATION +# ============================================================ +telegram: + enabled: false + # Bot-Token von @BotFather + bot-token: "YOUR_TELEGRAM_BOT_TOKEN" + # Polling-Intervall in Sekunden + poll-interval: 3 + # Format für Telegram → Minecraft Nachrichten + from-telegram-format: "&3[&bTelegram&3] &b{user}&8: &f{message}" + # Extra Admin-Chat-ID (für Staff-Kanal und HelpOp) + admin-chat-id: "" + # Themen-Gruppe: Topic-ID für den Chat-Kanal (0 = kein Topic / normale Gruppe) + # Die message_thread_id findest du indem du eine Nachricht im Topic weiterleitest + # und dir die forwarded_from_message_id anschaust, oder via Bot-API getUpdates. + chat-topic-id: 0 + # Topic-ID für den Admin-Kanal (0 = kein Topic) + admin-topic-id: 0 + +# ============================================================ +# ACCOUNT-VERKNÜPFUNG (Discord & Telegram) +# Spieler können ihre Minecraft-Accounts mit Discord/Telegram +# verknüpfen damit ihr Name im Chat angezeigt wird. +# ============================================================ +account-linking: + enabled: true + # Token läuft nach X Minuten ab + token-expire-minutes: 10 + # Nachricht die der Spieler nach /linkdiscord bekommt + discord-link-message: "&aSchreibe den folgenden Code als Nachricht an unseren Discord-Bot:\n&f&l{token}\n&7Der Code läuft in &f10 Minuten &7ab." + # Nachricht die der Spieler nach /linktelegram bekommt + telegram-link-message: "&aSchreibe den folgenden Code als Nachricht an unseren Telegram-Bot:\n&f&l{token}\n&7Der Code läuft in &f10 Minuten &7ab." + # Bestätigung nach erfolgreicher Verknüpfung (im Spiel) + success-discord: "&aDiscord-Account erfolgreich verknüpft! &8(&7{discord}&8)" + success-telegram: "&aTelegram-Account erfolgreich verknüpft! &8(&7{telegram}&8)" + # Bestätigung die der Bot in Discord/Telegram schickt + bot-success-discord: "✅ Dein Minecraft-Account **{player}** wurde erfolgreich verknüpft!" + bot-success-telegram: "✅ Dein Minecraft-Account {player} wurde erfolgreich verknüpft!" + # Format wenn verknüpfter Nutzer in Discord/Telegram schreibt + # {player} = Minecraft-Name, {user} = Discord/Telegram-Name, {message} = Nachricht + linked-discord-format: "&9[&bDiscord&9] &f{player} &8(&7{user}&8)&8: &f{message}" + linked-telegram-format: "&3[&bTelegram&3] &f{player} &8(&7{user}&8)&8: &f{message}" + # Themen-ID für den Admin-Chat (0 = kein Thema) + admin-thread-id: 0 + +# ============================================================ +# ADMIN BYPASS +# Spieler mit dieser Permission können nicht geblockt werden +# und sind von Mutes ausgenommen +# ============================================================ +admin: + bypass-permission: "chat.admin.bypass" + # Admins erhalten Benachrichtigung bei Mutes/Blocks + notify-permission: "chat.admin.notify" + +# ============================================================ +# CHAT-FILTER & ANTI-SPAM +# ============================================================ +chat-filter: + anti-spam: + enabled: true + cooldown-ms: 1500 + max-messages: 3 + message: "&cBitte nicht so schnell schreiben!" + duplicate-check: + enabled: true + message: "&cBitte keine identischen Nachrichten senden." + blacklist: + enabled: true + words: + - "beispielwort1" + - "beispielwort2" + caps-filter: + enabled: true + min-length: 6 + max-percent: 70 + + anti-ad: + enabled: true + message: "&cWerbung ist in diesem Chat nicht erlaubt!" + # Domains/Substrings die NICHT geblockt werden (z.B. eigene Serveradresse) + # Vergleich ist case-insensitiv und prüft ob der Substring im Match enthalten ist + whitelist: + - "viper-network.de" + - "m-viper.de" + - "https://www.spigotmc.org" + # TLDs die als Werbung gewertet werden. + # Leer = alle Domain-Treffer blockieren (nicht empfohlen, hohe False-Positive-Rate) + blocked-tlds: + - "net" + - "com" + - "de" + - "org" + - "gg" + - "io" + - "eu" + - "tv" + - "xyz" + - "info" + - "me" + - "cc" + - "co" + - "app" + - "online" + - "site" + - "fun" + +# ============================================================ +# MENTIONS (@Spielername) +# ============================================================ +mentions: + enabled: true + highlight-color: "&e&l" + sound: "ENTITY_EXPERIENCE_ORB_PICKUP" + allow-toggle: true + notify-prefix: "&e&l[Mention] &r" + +# ============================================================ +# CHAT-HISTORY +# ============================================================ +chat-history: + max-lines: 50 default-lines: 10 \ No newline at end of file diff --git a/StatusAPI/src/main/resources/filter.yml b/StatusAPI/src/main/resources/filter.yml index f4f6e85..61730a8 100644 --- a/StatusAPI/src/main/resources/filter.yml +++ b/StatusAPI/src/main/resources/filter.yml @@ -1,16 +1,16 @@ -# ============================================================ -# StatusAPI - ChatModule Wort-Blacklist -# Wörter werden case-insensitiv und als Teilwort geprüft. -# Erkannte Wörter werden durch **** ersetzt. -# -# Diese Datei wird bei /chatreload automatisch neu eingelesen. -# Wörter die hier stehen ÜBERSCHREIBEN NICHT die Einträge in -# chat.yml → beide Listen werden zusammengeführt. -# ============================================================ - -words: - - beispielwort1 - - beispielwort2 - # Hier eigene Wörter eintragen, eines pro Zeile: - # - schimpfwort +# ============================================================ +# StatusAPI - ChatModule Wort-Blacklist +# Wörter werden case-insensitiv und als Teilwort geprüft. +# Erkannte Wörter werden durch **** ersetzt. +# +# Diese Datei wird bei /chatreload automatisch neu eingelesen. +# Wörter die hier stehen ÜBERSCHREIBEN NICHT die Einträge in +# chat.yml → beide Listen werden zusammengeführt. +# ============================================================ + +words: + - beispielwort1 + - beispielwort2 + # Hier eigene Wörter eintragen, eines pro Zeile: + # - schimpfwort # - spam \ No newline at end of file diff --git a/StatusAPI/src/main/resources/messages.txt b/StatusAPI/src/main/resources/messages.txt index 7277ccf..d89128e 100644 --- a/StatusAPI/src/main/resources/messages.txt +++ b/StatusAPI/src/main/resources/messages.txt @@ -1,52 +1,52 @@ -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Der Server läuft 24/7 – also keine Hektik beim Spielen :) -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Dies ist ein privater Server – hier zählt der Zusammenhalt. -§8[%gradient:&b:&f:&b:&lTipp%§8] §7Wenn du denkst, du bist sicher… schau nochmal nach. Creeper machen keine Geräusche beim Tippen. -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Wähle einen Server, leg los – der Rest ergibt sich. Oder explodiert. -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Mehr Server. Mehr Blöcke. Mehr Unfälle. Willkommen! -§8[%gradient:&b:&f:&b:&lTipp%§8] §7Halte eine Spitzhacke mit Glück bereit. Man weiß nie, wann das nächste Erz kommt. -§8[%gradient:&b:&f:&b:&lTipp%§8] §7Dein Bett ist dein Ankerpunkt – platziere es weise! -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Das wichtigste Plugin? Du selbst. Spiel fair, sei kreativ! -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Redstone ist keine Magie – aber fast. -§8[%gradient:&b:&f:&b:&lTipp%§8] §7Schilde sind cool. Besonders wenn Skelette zielen. -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Wenn du in Lava fällst, bist du nicht der Erste. Nur der Nächste. -§8[%gradient:&b:&f:&b:&lTipp%§8] §7Villager sind nicht dumm – nur sehr… eigen. -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Bau groß, bau sicher – oder bau eine Treppe zur Nachbarschaftsklage. -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Gras wächst. Spieler auch. Gib jedem eine Chance! -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Ein Creeper ist keine Begrüßung. Es sei denn, du willst es spannend machen. -§8[%gradient:&b:&f:&b:&lTipp%§8] §7Ein voller Magen ist halbe Miete. Farmen lohnt sich! -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Wir haben keine Probleme – nur Redstone-Schaltungen mit Charakter. -§8[%gradient:&b:&f:&b:&lTipp%§8] §7Markiere dein Grundstück frühzeitig, bevor es jemand anderes tut! -§8[%gradient:&b:&f:&b:&lLobby%§8] §7Hier beginnt alles – such dir deinen Server aus und leg los! -§8[%gradient:&b:&f:&b:&lLobby%§8] §7Die Lobby ist kein Ziel, sondern der Start. Oder ein Treffpunkt. Oder beides. -§8[%gradient:&b:&f:&b:&lLobby%§8] §7Noch unentschlossen? Einfach mal reinschauen – auf allen Servern! -§8[%gradient:&b:&f:&b:&lCitybuild%§8] §7Auf Citybuild baust du deine eigene Stadt – Block für Block. -§8[%gradient:&b:&f:&b:&lCitybuild%§8] §7Grundstück sichern nicht vergessen – sonst baut jemand anderes drauf! -§8[%gradient:&b:&f:&b:&lCitybuild%§8] §7Gute Nachbarn bauen gute Städte. Oder zumindest hübschere. -§8[%gradient:&b:&f:&b:&lCitybuild%§8] §7Je größer die Stadt, desto mehr Redstone geht schief. Viel Erfolg! -§8[%gradient:&b:&f:&b:&lTipp%§8] §7Auf Citybuild kannst du dein Grundstück mit Freunden teilen – baut zusammen mehr! -§8[%gradient:&b:&f:&b:&lFreebuild%§8] §7Auf Freebuild gibt es keine Grenzen – außer deiner Fantasie. -§8[%gradient:&b:&f:&b:&lFreebuild%§8] §7Bauen ohne Regeln. Na ja, fast. Sei trotzdem nett zu deinen Nachbarn. -§8[%gradient:&b:&f:&b:&lFreebuild%§8] §7Riesige Projekte, verrückte Ideen – Freebuild macht's möglich. -§8[%gradient:&b:&f:&b:&lTipp%§8] §7Auf Freebuild gilt: Erst messen, dann bauen. Oder erst bauen und dann bereuen. -§8[%gradient:&b:&f:&b:&lSurvival%§8] §7Auf Survival zählt jeder Block – den du abbaust und den, der auf dich fällt. -§8[%gradient:&b:&f:&b:&lSurvival%§8] §7Tag 1: Holz hacken. Tag 2: Höhle finden. Tag 3: Creeper ärgert dich. Klassiker. -§8[%gradient:&b:&f:&b:&lSurvival%§8] §7Die Nether-Festung wartet. Bring Feuerresistenz mit – und Mut. -§8[%gradient:&b:&f:&b:&lSurvival%§8] §7Ein Bett in der Nähe spart lange Laufwege nach dem Tod. Spar dir den Fußmarsch! -§8[%gradient:&b:&f:&b:&lTipp%§8] §7Auf Survival lohnt sich ein Außenposten – Ressourcen gibt's nie genug. -§8[%gradient:&b:&f:&b:&lTipp%§8] §7Verzaubere deine Ausrüstung so früh wie möglich. Schutzverzauberung rettet Leben! -§8[%gradient:&b:&f:&b:&lSkyblock%§8] §7Auf Skyblock fängst du mit einer Insel an. Was du draus machst, liegt bei dir. -§8[%gradient:&b:&f:&b:&lSkyblock%§8] §7Wasser + Lava = Kobblestone. Das Fundament jeder Skyblock-Karriere. -§8[%gradient:&b:&f:&b:&lSkyblock%§8] §7Deine Insel, deine Regeln – aber Creeper kennen keine Regeln. Und keine Ränder. -§8[%gradient:&b:&f:&b:&lSkyblock%§8] §7Tipp vom Profi: Nie rückwärts auf einer Skyblock-Insel laufen. -§8[%gradient:&b:&f:&b:&lTipp%§8] §7Auf Skyblock ist ein Kompostierer Gold wert – Essen ist alles! -§8[%gradient:&b:&f:&b:&lTipp%§8] §7Baue deine Skyblock-Insel nach außen aus, bevor du in die Höhe gehst. -§8[%gradient:&b:&f:&b:&lMinigames%§8] §7Auf Minigames zählt Schnelligkeit, Köpfchen – und manchmal einfach Glück. -§8[%gradient:&b:&f:&b:&lMinigames%§8] §7Gewonnen oder verloren – beim nächsten Spiel ist alles wieder offen! -§8[%gradient:&b:&f:&b:&lMinigames%§8] §7Minigames sind der perfekte Ort, um Freunde zu finden. Oder Rivalen. -§8[%gradient:&b:&f:&b:&lMinigames%§8] §7Kurze Runden, viel Spaß – einfach Minigames starten und loslegen! -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Sechs Server, ein Netzwerk – such dir deinen Lieblingsplatz! -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Egal ob Bauen, Überleben oder Kämpfen – hier ist für jeden was dabei. -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Neue Spieler sind immer willkommen. Zeig ihnen, wie es geht! -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Respekt kostet nichts – macht aber den Server für alle besser. -§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Probleme oder Fragen? Wende dich ans Team – wir helfen gerne! +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Der Server läuft 24/7 – also keine Hektik beim Spielen :) +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Dies ist ein privater Server – hier zählt der Zusammenhalt. +§8[%gradient:&b:&f:&b:&lTipp%§8] §7Wenn du denkst, du bist sicher… schau nochmal nach. Creeper machen keine Geräusche beim Tippen. +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Wähle einen Server, leg los – der Rest ergibt sich. Oder explodiert. +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Mehr Server. Mehr Blöcke. Mehr Unfälle. Willkommen! +§8[%gradient:&b:&f:&b:&lTipp%§8] §7Halte eine Spitzhacke mit Glück bereit. Man weiß nie, wann das nächste Erz kommt. +§8[%gradient:&b:&f:&b:&lTipp%§8] §7Dein Bett ist dein Ankerpunkt – platziere es weise! +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Das wichtigste Plugin? Du selbst. Spiel fair, sei kreativ! +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Redstone ist keine Magie – aber fast. +§8[%gradient:&b:&f:&b:&lTipp%§8] §7Schilde sind cool. Besonders wenn Skelette zielen. +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Wenn du in Lava fällst, bist du nicht der Erste. Nur der Nächste. +§8[%gradient:&b:&f:&b:&lTipp%§8] §7Villager sind nicht dumm – nur sehr… eigen. +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Bau groß, bau sicher – oder bau eine Treppe zur Nachbarschaftsklage. +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Gras wächst. Spieler auch. Gib jedem eine Chance! +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Ein Creeper ist keine Begrüßung. Es sei denn, du willst es spannend machen. +§8[%gradient:&b:&f:&b:&lTipp%§8] §7Ein voller Magen ist halbe Miete. Farmen lohnt sich! +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Wir haben keine Probleme – nur Redstone-Schaltungen mit Charakter. +§8[%gradient:&b:&f:&b:&lTipp%§8] §7Markiere dein Grundstück frühzeitig, bevor es jemand anderes tut! +§8[%gradient:&b:&f:&b:&lLobby%§8] §7Hier beginnt alles – such dir deinen Server aus und leg los! +§8[%gradient:&b:&f:&b:&lLobby%§8] §7Die Lobby ist kein Ziel, sondern der Start. Oder ein Treffpunkt. Oder beides. +§8[%gradient:&b:&f:&b:&lLobby%§8] §7Noch unentschlossen? Einfach mal reinschauen – auf allen Servern! +§8[%gradient:&b:&f:&b:&lCitybuild%§8] §7Auf Citybuild baust du deine eigene Stadt – Block für Block. +§8[%gradient:&b:&f:&b:&lCitybuild%§8] §7Grundstück sichern nicht vergessen – sonst baut jemand anderes drauf! +§8[%gradient:&b:&f:&b:&lCitybuild%§8] §7Gute Nachbarn bauen gute Städte. Oder zumindest hübschere. +§8[%gradient:&b:&f:&b:&lCitybuild%§8] §7Je größer die Stadt, desto mehr Redstone geht schief. Viel Erfolg! +§8[%gradient:&b:&f:&b:&lTipp%§8] §7Auf Citybuild kannst du dein Grundstück mit Freunden teilen – baut zusammen mehr! +§8[%gradient:&b:&f:&b:&lFreebuild%§8] §7Auf Freebuild gibt es keine Grenzen – außer deiner Fantasie. +§8[%gradient:&b:&f:&b:&lFreebuild%§8] §7Bauen ohne Regeln. Na ja, fast. Sei trotzdem nett zu deinen Nachbarn. +§8[%gradient:&b:&f:&b:&lFreebuild%§8] §7Riesige Projekte, verrückte Ideen – Freebuild macht's möglich. +§8[%gradient:&b:&f:&b:&lTipp%§8] §7Auf Freebuild gilt: Erst messen, dann bauen. Oder erst bauen und dann bereuen. +§8[%gradient:&b:&f:&b:&lSurvival%§8] §7Auf Survival zählt jeder Block – den du abbaust und den, der auf dich fällt. +§8[%gradient:&b:&f:&b:&lSurvival%§8] §7Tag 1: Holz hacken. Tag 2: Höhle finden. Tag 3: Creeper ärgert dich. Klassiker. +§8[%gradient:&b:&f:&b:&lSurvival%§8] §7Die Nether-Festung wartet. Bring Feuerresistenz mit – und Mut. +§8[%gradient:&b:&f:&b:&lSurvival%§8] §7Ein Bett in der Nähe spart lange Laufwege nach dem Tod. Spar dir den Fußmarsch! +§8[%gradient:&b:&f:&b:&lTipp%§8] §7Auf Survival lohnt sich ein Außenposten – Ressourcen gibt's nie genug. +§8[%gradient:&b:&f:&b:&lTipp%§8] §7Verzaubere deine Ausrüstung so früh wie möglich. Schutzverzauberung rettet Leben! +§8[%gradient:&b:&f:&b:&lSkyblock%§8] §7Auf Skyblock fängst du mit einer Insel an. Was du draus machst, liegt bei dir. +§8[%gradient:&b:&f:&b:&lSkyblock%§8] §7Wasser + Lava = Kobblestone. Das Fundament jeder Skyblock-Karriere. +§8[%gradient:&b:&f:&b:&lSkyblock%§8] §7Deine Insel, deine Regeln – aber Creeper kennen keine Regeln. Und keine Ränder. +§8[%gradient:&b:&f:&b:&lSkyblock%§8] §7Tipp vom Profi: Nie rückwärts auf einer Skyblock-Insel laufen. +§8[%gradient:&b:&f:&b:&lTipp%§8] §7Auf Skyblock ist ein Kompostierer Gold wert – Essen ist alles! +§8[%gradient:&b:&f:&b:&lTipp%§8] §7Baue deine Skyblock-Insel nach außen aus, bevor du in die Höhe gehst. +§8[%gradient:&b:&f:&b:&lMinigames%§8] §7Auf Minigames zählt Schnelligkeit, Köpfchen – und manchmal einfach Glück. +§8[%gradient:&b:&f:&b:&lMinigames%§8] §7Gewonnen oder verloren – beim nächsten Spiel ist alles wieder offen! +§8[%gradient:&b:&f:&b:&lMinigames%§8] §7Minigames sind der perfekte Ort, um Freunde zu finden. Oder Rivalen. +§8[%gradient:&b:&f:&b:&lMinigames%§8] §7Kurze Runden, viel Spaß – einfach Minigames starten und loslegen! +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Sechs Server, ein Netzwerk – such dir deinen Lieblingsplatz! +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Egal ob Bauen, Überleben oder Kämpfen – hier ist für jeden was dabei. +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Neue Spieler sind immer willkommen. Zeig ihnen, wie es geht! +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Respekt kostet nichts – macht aber den Server für alle besser. +§8[%gradient:&b:&f:&b:&lViper-Network%§8] §7Probleme oder Fragen? Wende dich ans Team – wir helfen gerne! §8[%gradient:&b:&f:&b:&lTipp%§8] §7Du kannst zwischen allen Servern wechseln – einfach den Kompass nutzen! \ No newline at end of file diff --git a/StatusAPI/src/main/resources/network-guard.properties b/StatusAPI/src/main/resources/network-guard.properties index 3c89825..459f871 100644 --- a/StatusAPI/src/main/resources/network-guard.properties +++ b/StatusAPI/src/main/resources/network-guard.properties @@ -72,6 +72,15 @@ antibot.vpn_check.timeout_ms=2500 antibot.security_log.enabled=true antibot.security_log.file=antibot-security.log +# Whitelist (kommagetrennt). Verwaltung auch per /antibot whitelist add|remove|list +# IPs/CIDR werden komplett vom AntiBot ausgenommen (z.B. 203.0.113.5 oder 10.0.0.0/24). +antibot.whitelist.ips= +# Spielernamen: Nach erfolgreichem Login wird die IP des Spielers fuer trust_hours vertraut +# (Namen sind beim PreLogin ungeprueft, daher nicht sofort). Gleiches gilt fuer die +# Permission statusapi.antibot.bypass. +antibot.whitelist.players= +antibot.whitelist.trust_hours=24 + # Lernmodus: Muster mitschreiben, Score bilden und erst ab Schwellwert blockieren. antibot.learning.enabled=true antibot.learning.score_threshold=100 @@ -105,6 +114,24 @@ backendguard.allowed_proxy_cidrs=10.0.0.0/24 # Leer = kein API-Key erforderlich (nur im internen Netzwerk empfohlen) backendguard.sync.api_key= +# =========================== +# HTTP-API SICHERHEIT +# =========================== +# API-Key fuer schreibende Endpunkte (/economy/update, /punishment/update, /stats/update, +# /ticket/update, /scoreboard/*, /player/*, /broadcast/cancel). Wird als Header X-API-Key erwartet. +# Leer = KEINE Pruefung (nur fuer rein interne Netze!). Der StatusAPIBridge muss denselben Key senden. +api.write_key= +# Optionaler Key fuer GET /antibot/security-log (enthaelt Namen, UUIDs, IPs). Leer = offen. +api.securitylog.key= +# Rate-Limit pro Client-IP fuer den HTTP-Server +api.ratelimit.enabled=true +api.ratelimit.max_per_minute=300 +api.ratelimit.block_seconds=30 +# Anfragen mit gueltigem api.write_key sind nie rate-limitiert. Zusaetzlich werden Clients aus +# Loopback-/Privatnetzen (Unterserver-Bridges) ausgenommen. Steht die API hinter einem Reverse-Proxy +# (z. B. NPM), sehen alle Anfragen wie private Clients aus -> dann auf false setzen und api.write_key nutzen. +api.ratelimit.exempt_private=true + # =========================== # MULTI ACCOUNT GUARD # =========================== diff --git a/StatusAPI/src/main/resources/plugin.yml b/StatusAPI/src/main/resources/plugin.yml index c18d7b6..8dd8246 100644 --- a/StatusAPI/src/main/resources/plugin.yml +++ b/StatusAPI/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: StatusAPI main: net.viper.status.StatusAPI -version: 4.1.5 +version: 4.1.6 author: M_Viper description: StatusAPI für BungeeCord inkl. Update-Checker, Modul-System und ChatModule # Mindestanforderung: Minecraft 1.20 / BungeeCord mit PlayerChatEvent-Unterstützung diff --git a/StatusAPI/src/main/resources/verify.properties b/StatusAPI/src/main/resources/verify.properties index 046b565..c619d52 100644 --- a/StatusAPI/src/main/resources/verify.properties +++ b/StatusAPI/src/main/resources/verify.properties @@ -1,20 +1,20 @@ -# _____ __ __ ___ ____ ____ -# / ___// /_____ _/ /___ _______/ | / __ \/ _/ -# \__ \/ __/ __ `/ __/ / / / ___/ /| | / /_/ // / -# ___/ / /_/ /_/ / /_/ /_/ (__ ) ___ |/ ____// / -# /____/\__/\__,_/\__/\__,_/____/_/ |_/_/ /___/ - - -broadcast.enabled=true -broadcast.prefix=[Broadcast] -broadcast.prefix-color=&c -broadcast.message-color=&f -broadcast.format=%prefixColored% %messageColored% -# broadcast.format kann angepasst werden; nutze Platzhalter: %name%, %prefix%, %prefixColored%, %message%, %messageColored%, %type% - -# =========================== -# StatusAPI Einstellungen -# =========================== +# _____ __ __ ___ ____ ____ +# / ___// /_____ _/ /___ _______/ | / __ \/ _/ +# \__ \/ __/ __ `/ __/ / / / ___/ /| | / /_/ // / +# ___/ / /_/ /_/ / /_/ /_/ (__ ) ___ |/ ____// / +# /____/\__/\__,_/\__/\__,_/____/_/ |_/_/ /___/ + + +broadcast.enabled=true +broadcast.prefix=[Broadcast] +broadcast.prefix-color=&c +broadcast.message-color=&f +broadcast.format=%prefixColored% %messageColored% +# broadcast.format kann angepasst werden; nutze Platzhalter: %name%, %prefix%, %prefixColored%, %message%, %messageColored%, %type% + +# =========================== +# StatusAPI Einstellungen +# =========================== statusapi.port=9191 # =========================== @@ -22,92 +22,92 @@ statusapi.port=9191 # =========================== # Schreibt UUID, Name und IP jedes Spielers beim Join in player-logins.log # Standardmaessig deaktiviert - nur auf deinem Server auf true setzen -login-logger.enabled=false - -# =========================== -# INGAME HILFE -# =========================== -# Befehlsname für die Ingame-Hilfe (Standard: help) -# Beispiel: statusapi.help=vn → Befehl wird /vn -statusapi.help=sapi - -# Permission, die Admin-Befehle in der Hilfe sichtbar macht -# (OP und Spieler mit dieser Permission sehen die Admin-Sektion) -statusapi.help.permission=statusapi.admin - -# =========================== -# WORDPRESS / VERIFY EINSTELLUNGEN -# =========================== -wp_verify_url=https://example.com - -# Gemeinsames API-Secret (muss identisch sein mit mc_bridge_api_secret in den WP Forum-Einstellungen) -forum.api_secret=HIER_EIN_SICHERES_PASSWORT_SETZEN - -# Verzögerung in Sekunden bevor Login-Benachrichtigungen zugestellt werden -# (damit der Spieler den Server-Wechsel abgeschlossen hat) -forum.login_delay_seconds=3 - -# =========================== -# COMMAND BLOCKER -# =========================== -commandblocker.enabled=true -commandblocker.bypass.permission=commandblocker.bypass - -# =========================== -# SERVER KONFIGURATION -# =========================== -# Hier legst du für jeden Server alles fest: -# 1. Den Anzeigenamen für den Chat (z.B. &bLobby) -# 2. Die Server ID für WordPress (z.B. id=1) -# 3. Das Secret für WordPress (z.B. secret=...) - -# Server 1: Lobby -server.Lobby=&bLobby -server.Lobby.id=64 -server.Lobby.secret=GeheimesWortFuerLobby789 - -# Server 1: Citybuild -server.citybuild=&bCitybuild -server.citybuild.id=67 -server.citybuild.secret=GeheimesWortFuerCitybuild789 - -# Server 2: Survival -server.survival=&aSurvival -server.survival.id=68 -server.survival.secret=GeheimesWortFuerSurvival789 - -# Server 3: SkyBlock -server.skyblock=&dSkyBlock -server.skyblock.id=3 -server.skyblock.secret=GeheimesWortFuerSkyBlock789 - -# =========================== -# AUTOMESSAGE -# =========================== -# Aktiviert den automatischen Nachrichten-Rundruf -automessage.enabled=true - -# Zeitintervall in Sekunden (Standard: 300 = 5 Minuten) -automessage.interval=300 - -# Optional: Ein Prefix, das VOR jede Nachricht aus der Datei gesetzt wird. -# Wenn du das Prefix bereits IN der messages.txt hast, lass dieses Feld einfach leer. -automessage.prefix= - -# Der Name der Datei, in der die Nachrichten stehen (liegt im Plugin-Ordner) -automessage.file=messages.txt - - -# =========================== -# ECONOMY (Serverübergreifendes Geld) -# =========================== -# Alle Server (SurvivalPlus + StatusAPI/BungeeCord) müssen dieselbe Datenbank nutzen. -# Die Tabelle bc_accounts wird automatisch erstellt. -economy.mysql.host=localhost -economy.mysql.port=3306 -economy.mysql.database=survivalplus -economy.mysql.username=root -economy.mysql.password= -economy.start-balance=500.0 - - +login-logger.enabled=false + +# =========================== +# INGAME HILFE +# =========================== +# Befehlsname für die Ingame-Hilfe (Standard: help) +# Beispiel: statusapi.help=vn → Befehl wird /vn +statusapi.help=sapi + +# Permission, die Admin-Befehle in der Hilfe sichtbar macht +# (OP und Spieler mit dieser Permission sehen die Admin-Sektion) +statusapi.help.permission=statusapi.admin + +# =========================== +# WORDPRESS / VERIFY EINSTELLUNGEN +# =========================== +wp_verify_url=https://example.com + +# Gemeinsames API-Secret (muss identisch sein mit mc_bridge_api_secret in den WP Forum-Einstellungen) +forum.api_secret=HIER_EIN_SICHERES_PASSWORT_SETZEN + +# Verzögerung in Sekunden bevor Login-Benachrichtigungen zugestellt werden +# (damit der Spieler den Server-Wechsel abgeschlossen hat) +forum.login_delay_seconds=3 + +# =========================== +# COMMAND BLOCKER +# =========================== +commandblocker.enabled=true +commandblocker.bypass.permission=commandblocker.bypass + +# =========================== +# SERVER KONFIGURATION +# =========================== +# Hier legst du für jeden Server alles fest: +# 1. Den Anzeigenamen für den Chat (z.B. &bLobby) +# 2. Die Server ID für WordPress (z.B. id=1) +# 3. Das Secret für WordPress (z.B. secret=...) + +# Server 1: Lobby +server.Lobby=&bLobby +server.Lobby.id=64 +server.Lobby.secret=GeheimesWortFuerLobby789 + +# Server 1: Citybuild +server.citybuild=&bCitybuild +server.citybuild.id=67 +server.citybuild.secret=GeheimesWortFuerCitybuild789 + +# Server 2: Survival +server.survival=&aSurvival +server.survival.id=68 +server.survival.secret=GeheimesWortFuerSurvival789 + +# Server 3: SkyBlock +server.skyblock=&dSkyBlock +server.skyblock.id=3 +server.skyblock.secret=GeheimesWortFuerSkyBlock789 + +# =========================== +# AUTOMESSAGE +# =========================== +# Aktiviert den automatischen Nachrichten-Rundruf +automessage.enabled=true + +# Zeitintervall in Sekunden (Standard: 300 = 5 Minuten) +automessage.interval=300 + +# Optional: Ein Prefix, das VOR jede Nachricht aus der Datei gesetzt wird. +# Wenn du das Prefix bereits IN der messages.txt hast, lass dieses Feld einfach leer. +automessage.prefix= + +# Der Name der Datei, in der die Nachrichten stehen (liegt im Plugin-Ordner) +automessage.file=messages.txt + + +# =========================== +# ECONOMY (Serverübergreifendes Geld) +# =========================== +# Alle Server (SurvivalPlus + StatusAPI/BungeeCord) müssen dieselbe Datenbank nutzen. +# Die Tabelle bc_accounts wird automatisch erstellt. +economy.mysql.host=localhost +economy.mysql.port=3306 +economy.mysql.database=survivalplus +economy.mysql.username=root +economy.mysql.password= +economy.start-balance=500.0 + + diff --git a/StatusAPI/src/main/resources/welcome.yml b/StatusAPI/src/main/resources/welcome.yml index 249a6d5..fdbaca6 100644 --- a/StatusAPI/src/main/resources/welcome.yml +++ b/StatusAPI/src/main/resources/welcome.yml @@ -1,8 +1,8 @@ -# Willkommensnachrichten, die zufällig gesendet werden, wenn ein Spieler joint. -# %player% wird durch den Spielernamen ersetzt. -welcome-messages: - - "&aWillkommen, %player%! Viel Spaß auf unserem Server!" - - "&aHey %player%, schön dich hier zu sehen! Los geht's!" - - "&a%player%, dein Abenteuer beginnt jetzt! Viel Spaß!" - - "&aWillkommen an Bord, %player%! Entdecke den Server!" +# Willkommensnachrichten, die zufällig gesendet werden, wenn ein Spieler joint. +# %player% wird durch den Spielernamen ersetzt. +welcome-messages: + - "&aWillkommen, %player%! Viel Spaß auf unserem Server!" + - "&aHey %player%, schön dich hier zu sehen! Los geht's!" + - "&a%player%, dein Abenteuer beginnt jetzt! Viel Spaß!" + - "&aWillkommen an Bord, %player%! Entdecke den Server!" - "&a%player%, herzlich willkommen! Lass uns loslegen!" \ No newline at end of file