Discord Integrator

Unmaintained Discord Integrator 1.1.5b

No permission to download

Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
The "Unmaintained" prefix is a technical term often used in the development world to signal that a specific piece of code, feature, or a resource is no longer actively managed or updated by its creators. It's similar to a 'Beware' sign on a physical property, warning visitors to proceed with caution.

For instance, if a developer creates a resource for other users to use, but later decides not to continue updating it due to various reasons like time constraints or shifting focus to other projects, they might attach an 'unmaintained' tag to it. This tag serves as a clear indication to other users that while they can still use this resource, they should be aware that it may not be up-to-date with the latest coding standards or security updates.

From a user perspective, an 'unmaintained' tag can help yourself identify resources that may not provide the best experience or security. It signals that the resource in question may have outdated features, potential security vulnerabilities, or bugs that are unlikely to be fixed.
Discord Integrator
Introducing Discord Integrator!
- Seamless discord integration with Atlas


Features:
  • Safely Multi-Threaded plugin!
  • C++ Discord Bot using web sockets
  • Now works on as many servers as you have !
  • Adds player that register with the Bot to the "Discord" permission group, also grants them permission "Discord". (automatically created)
  • Seamless management of in-game Discord permission group as players leave/enter the Discord server.
  • Ability to automatically give Discord users roles based on in-game permission groups they have.
  • Ability to send a Discord warning message to players as their in-game structures are under attack. (only warns when they are offline. And in private discord message)
  • oj6RAeB.png
  • Each player can individually set how often a Raid Warning would be sent.
  • Seamless 2-way integration of a Discord text channel with the in-game General channel. With spam protection.
  • !players on your Discord channel will make the bot post list of online players.
  • L8lAaIw.png
  • Colorable tags for users.
  • chatcolor.png
  • Ability to color nicknames and chat messages based on group^^
  • Cross server chat that looks the same on all servers, except [server] tag!
  • Fully configurable!

Config File with explanations:
JSON:
{
  "MasterBotGrid": "0.0",                 // The grid to run the actual Discord bot.
  "MySQL": {
    "UseMySQL": true,                     // Must be true until SqLite is implemented.
    "UseMySQL CrossServerChat": true,     // Cross server chat.
    "CrossServerChatFetchInterval": 0.25, //How often the chat is fetched in seconds.
    "HostAdress": "localhost",       
    "Username": "root",
    "Password": "mysql",
    "DataBaseName": "discord_database"    // MYsql database name, plugin will create the tables here.
  },
  "UseAutoPermissionsIngameToDiscord": true, // If true, will automatically set user Discord role, if User has configured permission.
  "AutoPermissionsIngameToDiscord": { // Array that contains the configured auto ingame Permissions to Discord Roles.
    "Admin": [ // Ingame permission group name;
      "834907747594575572" // Discord Role ID;
    ],
    "Vip": [ // You can add multiple ingame permissions.
      "424907728503177216",
      "503177216424907728" // And multiple Discord Roles, as demonstrated here.
    ]
  },
  "DiscordBot": {
    "DiscordBotToken": "PutYourBotTokenHere", // This is your Bot's token. That you get from Discord Developer site.
    "RaidWarningMinInterval": 15, // Minimum amount of minutes between a raid warning sendt to the same user by the Discord Bot.
    "IntegratedChannelID": "0", // The ID of Discord Channel to integrate ingame global chat with. 0 = OFF.
    "IntegratedChannelWebHook": "webhook URL", // Webhook to the channel to post ingame messages too.
    "IngameMsgNameTagFormat": "[Discord]: {}", // The Ingame Name Tag format of Discord->Ingame messages. Default = [Discord]: John Doe
    "IngameMsgMessageFormat": "{}", // Format of Discord -> Ingame messages. Default adds nothing to the message.
    "IngameName_IN_Tribe_Format": "{}  **{}**[{}]:  {}\\n", // The Name Tag format of Ingame->Discord messages. When the speaker is in a tribe. Default = <mapname>   **<name>**[<tribe>]:  <message>
    "IngameName_NO_Tribe_Format": "{}  **{}**:  {}\\n", // The Name no-tribe Tag format of Ingame->Discord messages. When the speaker is NOT a tribe. Default = same as above, without tribe.
    "WebHook_IN_Tribe_Format": "**{}**[{}]:  {}\n",
    "WebHook_NO_Tribe_Format": "**{}**:  {}\n"
  }, // PS: Any newline tag must be escaped \\n and NEVER \n. (except the webhook formatting string.)
  "DiscordBotMessages": { // Messages sent by bot
    "AuthencationMessage": "Thank you for joining our Discord!\\nTo link your discord to the server go in game, and type : /setdiscord {}", // Message sendt by bot after /setdiscord <name> is called by player ingame. Returns random 4digit code.
    "RaidWarning": "RAID WARNING: You're ingame structures are under attack!", // RaidWarning message sent by bot to players that have enabled it.
    "LinkedChannelSpamProtMsg": "<@{}> You must wait {} seconds to write another message." // Spam protection message in integrated channel.
  },
  "Messages": { // Messages sent to player ingame.
    "DiscordActivationCodeSent": "Sent activation code to {}. Please type the activation code received ingame.", // Player used /setdiscord and plugin successfully found the user on the server. Now sending auth code on Discord.
    "DiscordAlreadyLinked": "You are already linked with username:<RichColor Color=\"0, 1, 0, 1\">{}</>", // Player is trying to link same Discord twice.
    "DiscordCannotFindUserName": "<RichColor Color=\"1, 0, 0, 1\">Cannot find username: {}</>, make sure you have joined our server and that the username provided is correct.", // Cannot find the Discord user provived by player on the server.
    "DiscordLinkFail": "<RichColor Color=\"1, 0, 0, 1\">Wrong or expired validation code.</>", // Player wrote wrong auth code.
    "DiscordLinkSuccess": "<RichColor Color=\"0, 1, 0, 1\">Successfully linked your Discord!</>", // Successfully linked their Discord.
    "DiscordLinkUsage": "Link you Discord Account with our server and receive benefits like Raidwarning on Discord! <RichColor Color=\"0, 1, 0, 1\">/setdiscord <username></>",
    "DiscordLinkedWith": "You are linked with: {}",
    "DiscordRaidWarningActive": "Raid Warning activated. Message Interval set to: {} minutes", // User has just activated raid warning.
    "DiscordRaidWarningError": "<RichColor Color=\"1, 0, 0, 1\">ERROR.</> Correct usage:<RichColor Color=\"0, 1, 0, 1\">/raidwarning <minutes></>", // Wrongly formatted /raidwarning command
    "DiscordRaidWarningNotActive": "Raid Warning NOT active. Use /raidwarning <minutes>  to activate!",
    "DiscordRaidWarningNotLinked": "You need to link your Discord with<RichColor Color=\"0, 1, 0, 1\">/setdiscord</> before you can use this command.",
    "DiscordRaidWarningOff": "Raid Warning Turned<RichColor Color=\"1, 0, 0, 1\">Off.</>", // Message when player sets raid warning OFF.
    "DiscordRaidWarningSet": "Raid Warning set to once each {}. minutes", // Message when player sets raid warning.
    "setDiscordWrongUsage": "<RichColor Color=\"1, 0, 0, 1\">Error.</>Usage:<RichColor Color=\"0, 1, 0, 1\">/setdiscord <full username></>" // Wrong usage of /setdiscord command.
  },
  "AtlasGridNames":{ // The Names of your atlas servers used in chat, by grid. Must be unique!
    "0.0": "A1",
    "1.0": "B1",
    "2.0": "C1",
    "3.0": "D1",
    "0.1": "A2",
    "1.1": "B2",
    "2.1": "C2",
    "3.1": "D2",
    "0.2": "A3",
    "1.2": "B3",
    "2.2": "C3",
    "3.2": "D3",
    "0.3": "A4",
    "1.3": "B4",
    "2.3": "C4",
    "3.3": "D4"
  },
  "UseChatColors": true, //Use custom ingame chat colors. (name, tag and message)
  "ChatColorsByGroup": { //defined chat colors by groupname.
    "Admins": {
      "Tag": "[Admin]", //Tag shown before nickname. Add space if you want it.
      "R": 0.5, // Message Red       you can use 255 rgb values directly on all colors, the plugin will calculate ark values.
      "G": 0.8, // Message Green
      "B": 0,   // Message Blue.
      "NameR": 0, // name colors
      "NameG": 1,
      "NameB": 0,
      "TagR": 0, // Tag colors
      "TagG": 1,
      "TagB": 1
    },
    "Discord": {
      "Tag": "[Linked]",
      "R": 0,
      "G": 1,
      "B": 1,
      "NameR": 1,
      "NameG": 0,
      "NameB": 0,
      "TagR": 0,
      "TagG": 1,
      "TagB": 0
    }
  },
  "ChatColorsDefault": { //default name colors
    "PlayerName_R": 0.859,
    "PlayerName_G": 0.804,
    "PlayerName_B": 0.09
  }
}
PS: You can use regular 0-255 RGB values for colors.

Upcomming:
v1.1 - Automatic creation of private Tribe Voice and Text channels on your Discord server. The private text channel will be integrated with in-game Tribe channel. Permissions will be automatically configured to allow only tribe members to see/join the channels.
v1.2 - Optimizations and suggestions will be considered and implemented accordingly.

ETA: Constantly working on it...

How to install and configure:
You will need a Discord application client id and a bot token. You can follow: this guide to get one.​
Do not use the invite link provided by the guide above, instead use the one below for correct permissions:​
Posting this link with your client ID should show this: (Name will be the name you chose)​
sNWPzci.png
Click authorize and the bot should join your server.
You should manually check that bot has administrator permission.
You also need to make sure that your bot's role is above every other role in the discord server role config list.
H5OTt7j.png


Now you can start configuring the config.json.

To find Discord Role IDs check this link

To find Discord Channel IDs do this:

On Discord, open your User Settings -> Appearance -> Enable Developer Mode.
68747470733a2f2f6368696b616368692e6e65742f4368696b61636869446973636f72642f77696b692f646973636f72642d746f6b656e2d362e706e67


Right click on the Discord text channel you want the bot to interact with and press "Copy ID".
68747470733a2f2f6368696b616368692e6e65742f4368696b61636869446973636f72642f77696b692f646973636f72642d746f6b656e2d372e706e67

You now have the required ID for the config file!


Ingame Commands:
  • /discord - Prints information message.
  • /raidwarning <minutes> - Sets the raidwarning to <minutes> 0 = Off.
  • /setdiscord <username> - Sets player Discord username, no quotes needed.
    • Example: /setdiscord woolypenguin#3974
  • /setdiscord <authkey> - Authorizes player with received code.

Bot Commands:
  • !players - Prints player list on server.

Purchase Info:
After payment join my Discord via "Get Support" button (top right), and send me your hwid. The plugin will print it in console when not authorized.
Please give me at least 1-24 hours to setup hwid info. No new DLL is needed.
This purchase comes with basic support if needed.

Hwid Info:
- Each license represents a physical machine, so 6 ark servers running on one machine would only need 1 licence, Additional licensee's are required when using multiple physical servers.
- Are you moving server host/upgrading hardware and worried about the hwid? Not a problem send me a pm, here or on discord, with the new hwid and I will have it updated. In most cases within the hour, but it can take up to 24 hours depending upon my availability at that moment.

For questions or more information join my Discord via this link: https://discord.gg/fGPevkF
(This is a temporary link, and unless assigned a role, you automatically leave server when you go offline on discord.)
  • Like
Reactions: lEGlGnoml

Latest updates

  1. 1.1.5b

    - Same updates as for ark + Fix so that it works for BlackWood and any map that is not Ocean.
Tempest Dedicated Servers
Tebex
Back
Top