Crosschat Ascended

Free + paid Crosschat Ascended 1.5.5

No permission to download
This resource is free, with optional premium version
Cross chat ascended

Features
  • Focused on performance: The plugin is fully async, meaning that the chat fetch & send does not cause ANY lag or performance decrease on the server
  • Free lifetime basic crosschat
  • Paid access to better features and a discord bot available now!
  • Easy to set up! You just need a mysql or mariadb server!
  • Works with newer MySQL versions and does not require legacy authentication anymore!
  • Better security, other crosschats expose too much data to the internet. With my new mysql implementation the connections are done trough SSL
  • Use -serverkey=your map name in your launch args to determine the map's name in the cross chat
  • Chat logs! Every chat interaction records a log on the database, with its timestamp so you can make use of them whenever!

Premium Features

1. Discord Bot Integration:
  • Ingame Chat ↔ Discord: Supports two-way chat communication between in-game and Discord, using a customizable format. For instance, the in-game chat format is [Time] {Platform} [{Map}] {Player}{Tribe}: {Message}.
  • Live Player Lists: Dynamic player lists with separate settings for normal and admin users.The lists can include detailed player info, like playtime and map details.
  • Remote RCON Commands: Allows execution of RCON commands remotely. Responses can be formatted as "Response from {Server} (Command: {Cmd}\n`{Response}`)". Some specific commands can also be tied to custom buttons on Discord.
  • Discord Link Verification: Verifies Discord users and syncs roles. Includes options to rename users based on custom formats such as {Name} {Tribe}.
2. Kickme Button:
  • A built-in button in the panel to allow players to kick themselves from the cluster. This action can be confirmed using the text "You have been kicked from the cluster."
3. Custom Bot Presence:
  • Allows specifying different bot statuses like "PLAYING", "WATCHING", and "LISTENING", with placeholders for live player counts or map details.
4. Customizable Chat Formatting:
  • Supports customizable chat formatting based on permission groups. Formatting parts include color customization and special tags. For example, admins have their messages styled with red text.
  • Stacked Tags: Players can have multiple tags displayed based on their permission groups.
5. Chat Tags:
  • Prefixes or special tags can be added to players, with options to enable or disable them individually. Admins have the flexibility to display red-colored [Admin] tags.
6. Tribe Logs to Discord:
  • A simple system to link tribe logs to a Discord webhook. Only authorized members (owners or admins) can set up these webhooks with custom messages.
7. Mute Functionality:
  • Players in the muted permission group cannot send messages. The muted group is labeled as "Muted" in the configuration.
8. Auto Mute for Offensive Words:
  • Words specified in a blocked words list can trigger an automatic mute for a set duration (e.g., 5 minutes) for players who violate it. This system supports regex-based or literal word filtering.
9. Player Utilities:
  • A dedicated panel for player utilities with custom buttons for actions such as sending information or executing specific RCON commands like wiping wild dinosaurs.
10. Role Syncing:
  • Syncs Discord roles with in-game permission groups, ensuring roles are consistent across both platforms.
Additional Improvements:
  • Custom Buttons and Commands: Different buttons can be customized with actions like sending personalized messages or executing RCON commands.
  • Heartbeat Task: Automated monitoring of server health via scheduled HTTP heartbeat checks.

Buy the plugin here, automatic process (make sure to join discord first!): https://store.pelayori.com/



Screenshots:
imag2.png

imag3e.png

image.png

image4.png

image5.png

If you get error 126 on load, you must install OpenSSL



Config explained

JSON:
{
   "MySQL": {
     "Host": "localhost",
     "User": "root",
     "Password": "",
     "Database": "test",
     "Port": 3306
   },
   "General": {
     "FetchChatInterval": 0.25 // How often to fetch chat in seconds
   },
   "Premium": { // Premium features
     "PermissionsFormatting": { // Formatting override for certain permission groups
       "Default": { // The default formatting for the chat
         "ChatFormat": "{map}: {tags} {sender} {tribe}: {message}", // The format of the chat message.
         "Priority": 0, // The priority of the permission group. The higher the more priority it is given.
         "Icon": "", // The icon to show before the name in chat
         "FormattingParts": { // The formatting parts of the chat message
           "map": "[{name}]",
           "tags": "{name}",
           "sender": "<RichColor Color=\"1, 0.9, 0, 1\">{name}</>", // Yellowish color, same as ark
           "tribe": "<RichColor Color=\"1, 0.9, 0, 1\">[{name}]</>", // Yellowish color, same as ark
           "message": "{message}"
         }
       },
       "Admin": {
         "Priority": 9999, // The priority of the permission group. The higher the more priority it is given.
         "ChatFormat": "{map}: {tags} {sender} {tribe}: {message}", // The format of the chat message.
         "Icon": "", // The icon to show before the name in chat
         "FormattingParts": {
           "map": "[{name}]",
           "tags": "{name}",
           "sender": "<RichColor Color=\"1, 0.9, 0, 1\">{name}</>",
           "tribe": "<RichColor Color=\"1, 0.9, 0, 1\">[{name}]</>",
           "message": "<RichColor Color=\"1, 0, 0, 1\">{message}</>"
         }
       }
     },
     "ChatTags": { // The chat tags. Can have multiple tags with different permissions and formatting.
       "StackChatTags": true, // if true players will have all their tags stacked in chat. Otherwise only the highest priority tag will be shown.
       "Admin": { // The name of the tag
         "Priority": 9999, // The priority of the tag. The higher the more priority it is given.
         "Icon": "", // The icon to show before the name in chat
         "Text": "<RichColor Color=\"1, 0, 0, 1\">[{icon}Admin]</>", // The text to show in chat
         "CanBeDisabled": true // Whether the tag can be disabled or not
       }
     },
     "Tribelogs": { // The settings for the tribe logs
       "Enabled": true, // Whether the tribe logs to discord are enabled or not
       "OnlyTribeOwnerCanSetWebhook": true, // Whether only the tribe owner can set the webhook
       "OnlyTribeAdminsCanSetWebhook": false, // Whether only tribe admins can set the webhook
       "AdminWebhook": "", // The webhook to send the logs to
       "Permission": "CCA.Tribelog", // The permission to set the webhook
       "Format": "{map}: {log}" // The format of the log message
     },
     "MutedPermissionGroup": "Muted", // The permission group for muted players
     "MapIcons": {
       "TheIsland_WP": "..." // The icon for the map. This will have the least priority. If a player has a formatting permission that has an icon, it will override this.
     },
     "JoinLeaveWebhook": "", // The webhook to send join/leave messages to
     "JoinFormat": "{map}: Player logged in. PlatformName: {platformname}. IngameName: {ign}. EOS: {eosid}. TribeId: {tribeid}. TribeName: {tribename}. DiscordName: {discordName}", // The format of the join message
     "LeaveFormat": "{map}: Player logged off. PlatformName: {platformname}. IngameName: {ign}. EOS: {eosid}. TribeId: {tribeid}. TribeName: {tribename}. DiscordName: {discordName}", // The format of the leave message
     "OnlinePlayerListNormal": "{name}{tribeName}. Discord: {discordName}. {map}({playtime})", // The format of the online player list for normal players
     "OnlinePlayerListAdmin": "{name}{tribeName}({eos})(PlayerId: {playerId}). TribeId: {tribeId}. Discord: {discordName}({discordId}). {map}({playtime})", // The format of the online player list for admin players
     "OnlinePlayerListDisplayScale": 1.0, // The scale of the online player list
     "OnlinePlayerListPlayersPerPage": 10, // The amount of players to show per page
     "OnlinePlayerListColor": [ 0, 255, 0 ], // RGB color of the online player list
     "OnlinePlayerListBackgroundColor": [ 0, 0, 0 ], // if Asa Api Utils Mod is instlaled, this will be the background color
     "OnlinePlayerListBackgroundOpacity": 1, // If Asa Api Utils Mod is installed, this will be the opacity of the background. 0 means no background and 1 means full background
     "PrivateMessaging": {
       "PmFormatReceiver": "{map}: <RichColor Color=\"0, 0.843, 1, 1\">[{sender} -> You]</>: <RichColor Color=\"0.878, 0.878, 0.878, 1\">{message}</>",
       "PmFormatSender": "{map}: <RichColor Color=\"0, 0.843, 1, 1\">[You -> {receiver}]</>: <RichColor Color=\"0.878, 0.878, 0.878, 1\">{message}</>",
       "PmIcon": ""
     },
     "NeverIgnoredPermissionGroups": "Admins,Moderators" // The permission groups that cannot be ignored. Also will not be muted for blocked words.
   },
   "Commands": {
     "EnableTag": "/enabletag",
     "DisableTag": "/disabletag",
     "ChatMode": {
       "Command": "/chatmode",
       "Modes": {
         "Global": "cluster",
         "Tribe": "tribe",
         "Local": "map"
       }
     },
     "SetTribelog": "/tribelog",
     "SetDiscordCode": "/setdiscord",
     "OnlinePlayerList": "/online",
     "Pm": "/pm",
     "PmReply": "/r",
     "Ignore": "/ignore",
     "Unignore": "/unignore"
   },
   "Messages": {
     "SenderName": "Crosschat",
     "TagEnabled": "Tag enabled successfully",
     "TagDisabled": "Tag disabled successfully",
     "NoPermissionTag": "You don't have permission to enable that tag",
     "EnableTagSyntax": "Syntax: /enabletag <tag>",
     "DisableTagSyntax": "Syntax: /disabletag <tag>",
     "TagDisabledAlready": "That tag is already disabled",
     "TagNotFound": "That tag doesn't exist",
     "CannotDisableTag": "You cannot disable this tag",
     "TagAlreadyEnabled": "That tag is already enabled",
     "ChangeChatModeSyntax": "Syntax: /chatmode <cluster|tribe|map>",
     "GlobalChatMode": "Global chat mode enabled",
     "TribeChatMode": "Tribe chat and local map mode enabled",
     "LocalChatMode": "Local map chat mode enabled",
     "Muted": "You are muted and cannot chat. You can check the time left with /groups",
     "SetTribeLogSyntax": "Syntax: /tribelog <webhook>",
     "TribeLogSet": "Tribe log webhook set successfully",
     "OnlyTribeOwnerCanSetWebhook": "Only the tribe owner can set the webhook",
     "OnlyTribeAdminsCanSetWebhook": "Only tribe admins can set the webhook",
     "NoPermissionTribeLog": "You don't have permission to set the tribe log webhook",
     "InvalidWebhook": "Invalid webhook",
     "SetDiscordCodeSyntax": "Syntax: /setdiscord <code>",
     "CheckingDiscordCode": "Checking discord code...",
     "DiscordCodeSet": "Discord code set successfully",
     "InvalidDiscordCode": "Invalid discord code",
     "DiscordCodeAlreadySet": "You are already linked!",
     "Name": "Player name",
     "Platform": "Platform",
     "PlatformName": "Platform name",
     "EOSId": "EOS ID",
     "TribeId": "Tribe ID",
     "TribeName": "Tribe name",
     "DiscordName": "Discord name",
     "DiscordId": "Discord ID",
     "Playtime": "Playtime",
     "PlayerId": "Player ID",
     "Map": "Map",
     "OnlinePlayerListPagination": "Page {page}/{totalPages}. Do /online <page> to change pages",
     "PmSyntax": "Syntax: /pm '<player>' <message>",
     "ReplySyntax": "Syntax: /r <message>",
     "IgnoreSyntax": "Syntax: /ignore '<player>'",
     "UnignoreSyntax": "Syntax: /unignore '<player>'",
     "PlayerIgnored": "Player ignored successfully",
     "PlayerUnignored": "Player unignored successfully",
     "NoReplyAvailable": "No player to reply to",
     "CannotPmSelf": "You cannot pm yourself",
     "PlayerNotOnline": "Player is not online",
     "CannotIgnoreSelf": "You cannot ignore yourself",
     "PlayerNotIgnored": "Player is not ignored"
   },
   "ServerNames": { // Custom server names
     "ServerKey1": "TheIsland",
     "ServerKey2CustomName": "CustomName"
   },
   "Platforms": { // Custom platform names
     "Steam": "Steam",
     "Xbox": "Xbox",
     "Playstation": "PS"
   },
   "MapColors": { // Custom map colors
     "TheIsland_WP": [ 0, 125, 125 ]
   },
   "WordBlacklist": { // Word blacklist. Playes with groups in NeverIgnoredPermissionGroups will not be muted for these words.
     "BlockedWords": [ // The blocked words, in regex format or literal words
       "(\\b|[Uu][Rr])[GgƓɠḠḡǴǵĜĝǦǧĞğĢģǤǥĠġ6]+(?:[^a-zA-Z]*)([ÂâÅåÀàÁáÃãÄäEeAaÆæ4@*]+)(?:[^a-zA-Z]*)[YyÝýŶŷŸÿỸỹЧч]",
       "[HhĤĥȞȟḦḧĦħḤḥ]([OoØø0ÒòÓóÖöÕõÔô]+)[MmṂṃ][OoØø0ÒòÓóÖöÕõÔô]",
       "[FfƑƒ]([AaÂâÅåÀàÁáÃãÄäÆæ@4]+)[GgƓɠḠḡǴǵĜĝǦǧĞğĢģǤǥĠġ]",
       "([^a-zA-Z]|^)[Ll]+[-]*[Aa]+[-]*[Gg]",
       ".*(?=.*[Aa]+[Dd][Mm][Ii][Nn][Ss]?)(?=.*[Hh][Ee]+[Ll][Pp]).*",
       ".*(?=.*[Aa][Dd][Mm][Ii]+[Nn][Ss]?)(?=.*[Aa][Bb][Uu]+[Ss][Ee]).*",
       "[NnÑñ][EeÉéÈèËëÊê3]+[GgƓɠḠḡǴǵĜĝǦǧĞğĢģǤǥĠġ]+[Rr][OoØø0ÒòÓóÖöÕõÔô]",
       "[CcƇƈĆćĈĉČčÇçĊċȻȼ][UuÜüÛûÙùÚú]+[NnÑñ][t]",
       "[NnÑñ](?:[^a-zA-Z]*)([Ii1ÌìÍíÎîÏï]+)(?:[^a-zA-Z]*)([Gg](?:[^a-zA-Z]*)[Gg]|([(][¬]))",
       "[CcƇƈĆćĈĉČčÇçĊċȻȼ][OoØø0ÒòÓóÖöÕõÔô]+[CcƇƈĆćĈĉČčÇçĊċȻȼKkƘƙḰḱǨǩĶķ]{2,}",
       "\\b[Kk]+[Yy]+[Ss](([^a-zA-Z])|$)",
       "[Pp][EeÉéÈèËëÊê*]+[Nn][Ii1ÌìÍíÎîÏï*]+[Ss]",
       "\\b[Rr]([ÂâÅåÀàÁáÃãÄäAaÆæ@]+)[Pp]([EeÉéÈèËëÊê]+|[Ii1ÌìÍíÎîÏï]+[Ss][Tt])"
     ],
     "AutoMuteMinutes": 5 // The amount of minutes to mute a player for when they say a blocked word. 0 to disable
   }[/B][/B]
 [B][B]}[/B][/B]
 [B][B]

JSON:
[/B][/B]
 [B][B]{
   "AccountKey": "", // Account key
   "AutoRestartOnCrash": true, // Auto restart on crash
   "AutoRestartEveryHours": 6, // Auto restart every x hours. Set to -1 to disable
   "Debug": false, // Debug mode. Will log more information
   "BotToken": "", // Bot token. Get one from https://discord.com/developers/applications
   "MySQL": { // Crosschat MySQL database
     "Host": "",
     "User": "",
     "Password": "",
     "Database": "",
     "Port": 3306
   },
   "PermissionsMySQL": { // Permissions MySQL database
     "Host": "",
     "User": "",
     "Password": "",
     "Database": "",
     "Port": 3306
   },
   "General": {
     "MemberCachingPolicy": "aggressive", // possible values are "aggressive", "normal", "none". Aggressive means it will use more RAM, but will be faster. None means it will not cache members at all. Normal is in between, caching only the users that interact wit the bot. Less caching means more CPU usage and slower response times.
     "DiscordOwnerId": 1057656944556515368, // Discord owner id
     "RconResponsesJustYouCanSeeIt": true, // if true, only you can see the rcon responses
     "RconResponseFormat": "Response from `{server}` (Command: {cmd}\\n```{response}```", // Rcon response format
     "IngameChatChannelId": 1057656944556515368, // Channel id for 2 way ingame chat (ingame <-> discord)
     "PurgeChatOlderThanDays": 7, // How many days of chat to keep in the database. This will delete anyting older than this amount of days
     "TimeFormat": "%Y-%m-%d %H:%M:%S", // Time format for the chat
     "IngameChatFormat": "[{time}] {platform} **[{map}] {player}{tribename}**: {message}", // Ingame chat format
     "Platforms": {
       "Steam": "Steam",
       "Xbox": "Xbox",
       "Playstation": "PS"
     },
     "PanelEmbed": { // Panel embed for the crosschat panel that contains various buttons
       "Color": [ 0, 255, 0 ], // RGB Color
       "Url": "",
       "Title": {
         "Text": "Crosschat Ascended Panel",
         "Url": "",
         "IconUrl": ""
       },
       "Description": "Click one of the buttons to do something",
       "Thumbnail": "",
       "Image": "",
       "Footer": {
         "Text": "CrosschatAscended. Provided by Pelayori",
         "IconUrl": ""
       },
       "CustomButtons": [] // Custom buttons to show. These must be added in the CustomButtons section as well
     },
     "LinkDiscordButton": {
       "Enabled": true,
       "Text": "Link Discord",
       "Style": "SUCCESS" // Button style. Can be PRIMARY, SECONDARY, SUCCESS, DANGER
     },
     "GetEosButton": {
       "Enabled": true,
       "Text": "Get your EOS ID",
       "Style": "PRIMARY"
     },
     "KickmeButton": {
       "Enabled": true,
       "Text": "Kick you from the cluster",
       "Style": "DANGER"
     }
   },
   "PlayerList": {
     "Enabled": false,
     "Color": [ 0, 255, 0 ],
     "ChannelId": 1202313051366510712, // Channel id for the player list.
     "RefreshRateSeconds": 10, // How frequently the player list should be refreshed
     "Thumbnail": "",
     "Image": "",
     "Title": "Cluster. {nmaps} maps, {nplayers} players", // Title of the embed
     "Server": "{map} - {players} players.", // Server line format
     "Players": "{name} {tribe}", // Player line format
     "SurroundPlayersInCodeBlock": true,
     "MarkupString": "md", // Markup string for the code block for each player. See discord code block language formatting for different styles
     "Footer": {
       "Text": "Provided by CrosschatAscended.",
       "IconUrl": ""
     }
   },
   "BotStatus": {
     "Enabled": true,
     "Statuses": [
       [ "PLAYING", "with {players} players" ], // Statuses. {players} will be replaced with the amount of players
       [ "WATCHING", "{maps} maps, {players} players" ], // {ma} will be replaced with the amount of maps
       [ "LISTENING", "to {players} players" ] // Status can be PLAYING, WATCHING or LISTENING
     ]
   },
   "AdminPlayerList": {
     "Enabled": true,
     "ChannelId": 1202313051366510712, // Channel id for the admin player list
     "RefreshRateSeconds": 10, // How frequently the player list should be refreshed
     "Color": [ 0, 255, 0 ],
     "Thumbnail": "",
     "Image": "",
     "Title": "Cluster. {nmaps} maps, {nplayers} players",
     "Server": "{map} - {players} players. Avg fps: {avgfps}. Current fps: {curfps}",
     "SurroundPlayersInCodeBlock": true,
     "MarkupString": "md", // Markup string for the code block for each player. See discord code block language formatting for different styles
     "Players": "({playtime}s = {play_secs}s {play_mins}m {play_hours}h) {name} {tribe} ({eos}, {playerid}, {tribeid}) - {discordId} - {discordUsername} - {discordMention} - {discordName}",
     "Footer": {
       "Text": "Provided by CrosschatAscended.",
       "IconUrl": ""
     }
   },
   "Verification": {
     "RolesToGiveOnVerification": [ // Roles to give on verification
       728358128218931360
     ],
     "RenameDiscordMember": true, // If true, the discord member will be renamed with the format below
     "RenameFormat": "{name} {tribe}", // Format for the discord member name. {name} will be replaced with the player name, {tribe} with the tribe name, {eos} with the eos id, {tribeid} with the tribe id, {playerid} with the player id
     "TribeNameFormat": "[{name}]", // Format for the tribe name. {name} will be replaced with the tribe name
     "TruncateNicknameIfTooLong": false, // If true, the nickname will be truncated if it is too long (32 characters)
     "RemoveTribeNameFromNicknameIfTooLong": true // If true, the tribe name will be removed from the nickname if it is too long
   },
   "RoleSyncing": [ // Roles to be synced discord <-> game. If role is given in discord, it will be given ingame and vice versa
     {
       "RoleId": 728358128218931360, // Discord role id
       "PermissionGroup": "Verified", // Permission group in the game
       "Sync_Discord_To_Game": true, // Sync from discord to game
       "Sync_Game_To_Discord": true // Sync from game to discord
     }
   ],
   "RconPasswords": { // Rcon passwords for each server
     "Default": "1234", // Default password. Will be used if there is not specific password for the server
     "Island-1": "1234",
     "1.1.1.1:32330": "1234",
     "1.1.1.1": "1234"
   },
   "Messages": {
     "ConnectCode": "Your connect code is: {0}",
     "ServerOffline": "Server is offline",
     "NotLinked": "You are not linked. Please link your account first.",
     "AlreadyLinked": "You are already linked.",
     "Kickme": "You have been kicked from the cluster.",
     "GetEos": "Your EOS ID is: {0}"
   },
   "ScheduledTasks": {
     "Hearbeat": { // Unique id for the task
       "IntervalSeconds": 60, // Interval in seconds. How often it runs
       "ForMap": "All", // For which map it should run. Can be All, Online or a specific map name. Also "Bot" is a special map for the bot that will run a task not tied to any map
       "Action": "HTTP", // Action to run. Can be HTTP or RCON
       "LogChannel": 1057656944556515368, // Channel id for the log. The response will be sent here
       "ForEachMap": { // For each map, what to do
         "RequireOnlineServer": true, // If true, the server must be online for the task to run (ignored for "Bot")
         "Url": "http://localhost:8080/heartbeat", // Url to call
         "Data": "{ \"ForServer\": \"%map%\" }", // Data to send. %map% will be replaced with the map name
         "Type": "application/json", // Content type
         "Mode": "GET" // HTTP method (GET, POST)
       }
     },
     "BotHearbeat": {
       "IntervalSeconds": 60,
       "ForMap": "Bot",
       "Action": "HTTP",
       "LogChannel": 1057656944556515368,
       "ForEachMap": {
         "RequireOnlineServer": true,
         "Url": "http://localhost:8080/heartbeat",
         "Data": "{ \"ForServer\": \"%map%\" }",
         "Type": "application/json",
         "Mode": "GET"
       }
     },
     "DestroyWildDinos": {
       "IntervalSeconds": 86400,
       "ForMap": "All",
       "Action": "RCON", // Action to run. Can be HTTP or RCON
       "LogChannel": 1057656944556515368, // Channel id for the log. The response will be sent here
       "ForEachMap": {
         "Command": "DestroyWildDinos" // Rcon command to run
       }
     }
   },
   "CustomPanels": {
     "AdminPanel": { // Unique id for the panel
       "Color": [ 0, 255, 0 ],
       "Url": "",
       "Title": {
         "Text": "Crosschat Ascended Panel",
         "Url": "",
         "IconUrl": ""
       },
       "Description": "Click one of the buttons to do something",
       "Thumbnail": "",
       "Image": "",
       "Footer": {
         "Text": "CrosschatAscended. Provided by Pelayori",
         "IconUrl": ""
       },
       "Buttons": [ "rconWipeWildDinos" ] // Buttons to show. These must be added in the CustomButtons section
     },
     "PlayerUtilities": {
       "Color": [ 0, 255, 0 ],
       "Url": "",
       "Title": {
         "Text": "Crosschat Ascended Panel",
         "Url": "",
         "IconUrl": ""
       },
       "Description": "Click one of the buttons to do something",
       "Thumbnail": "",
       "Image": "",
       "Footer": {
         "Text": "CrosschatAscended. Provided by Pelayori",
         "IconUrl": ""
       },
       "Buttons": [ "info", "rconWipeWildDinos" ]
     }
   },
   "CustomButtons": {
     "info": { // Unique id for the button
       "Action": "message", // Action to run. Can be message or rcon
       "Response": "Hello {discordName} with eos id {eos} This is a custom button. ({discordId} - {discordUsername} - {discordMention} - {discordName})\n You can do anything with it. This is our website: https://example.com",
       "OnlyUserCanSee": true, // If true, only the user who clicked the button can see the response
       "RequireEOSLinked": true, // If true, the user must have linked their account
       "CooldownMinutes": 5, // Cooldown in minutes
       "Button": {
         "Text": "Info", // Button text
         "Style": "PRIMARY" // Button style. Can be PRIMARY, SECONDARY, SUCCESS, DANGER, LINK
       },
       "RequiresRoles": [ // Roles required to click the button. Only one of these roles is required
         728358128218931360
       ]
     },
     "infoLink": { // Unique id for the button
       "Button": { // Link buttons dont have action, response, or any action other than opening the link in the browser
         "Text": "Info", // Button text
         "Style": "LINK" // Button style. Can be PRIMARY, SECONDARY, SUCCESS, DANGER, LINK
       },
       "Url": "https://example.com" // Url to open when the button is clicked
     },
     "rconDoSomething": {
       "Action": "rcon",
       "ExecuteOnMap": "online", // Map to execute the command on. If online, it will execute it on the server player is currently on. No execution if the player is not online
       "Command": "DoSomething", // Rcon command to execute
       "Response": "Rcon command executed: {response} from {server}. Cmd: {cmd}", // Response to send. {response} will be replaced with the rcon response
       "OnlyUserCanSee": true, // If true, only the user who clicked the button can see the response
       "RequireEOSLinked": true, // If true, the user must have linked their account
       "RequireOnline": true, // If true, the player must be online for the command to execute
       "Button": {
         "Text": "Rcon Do Something", // Button text
         "Style": "PRIMARY" // Button style. Can be PRIMARY, SECONDARY, SUCCESS, DANGER
       },
       "RequiresRoles": [
         728358128218931360 // Roles required to click the button. Only one of these roles is required
       ]
     },
     "rconWipeWildDinos": {
       "Action": "rcon",
       "ExecuteOnMap": "all", // Map to execute the command on. If online, it will execute it on the server player is currently on. No execution if the player is not online
       "Command": "DestroyWildDinos", // Rcon command to execute
       "Response": "Rcon command executed: {response}", // Response to send. {response} will be replaced with the rcon response
       "OnlyUserCanSee": false,
       "RequireEOSLinked": false,
       "RequireOnline": false,
       "Button": {
         "Text": "Wipe wild dinos",
         "Style": "PRIMARY"
       },
       "RequiresRoles": [
         728358128218931360
       ]
     }
   },
   "ServerNames": { // Custom server names
     "ServerKey1": "TheIsland",
     "ServerKey2CustomName": "CustomName"
   },
   "MessageReplacements": [ // Message replacement. It will replace anything that is "from", with the text of "to". This is mainly used to translate emojis into text to get support for different mods/plugins ingame. Also works for any text.
   ]
}
Author
Pelayori
Downloads
196
Views
4,071
First release
Last update

Ratings

5.00 star(s) 3 ratings

More resources from Pelayori

Latest updates

  1. 1.5.5

    Fixed some crashes on logout Fixed a mysql crash Fixed an issue with pms and emojis Fixed PMs...
  2. 1.5.2 plugin, 1.4.0 bot

    Release 1.5 (1.4 skip) Bot 1.3.9 recommended for this version (older bots will send to discord...

Latest reviews

Everything I ever need from crosschat in one plugin
Chat from game to discord ✔️
Nice player display on discord ✔️
Rcon commands ✔️
Disocrd bot with configurable buttons ✔️
Ingame Chat tags ✔️

Free+pay version with optional subscription (eg subscribe if you want updates).
is also a great concept which why I to buy this plugin
Pelayori
Pelayori
Thank you for the review!
Top plugin with many possibilities
Pelayori
Pelayori
Thanks!
Crosschat is impossible to do without it, players from all maps can talk together, and connect to discord, it allows you to chat without being connected to the game.
Pelayori
Pelayori
Thanks! Glad you like it!
Back
Top