Search the Community
Showing results for tags 'discord connection'.
-
Version 2.0.0
759 downloads
RUST Plugin Test Server TEST MY PLUGINS THERE! connect play.thepitereq.ovh:28050 Discord Core creates essential links between your RUST and Discord servers. It let you display player count, synchronize ranks, chat between game and Discord, even manage tickets and votes. You can also print F7 reports into your discord and manage cupboard access through private messages. Allows you to connect users RUST accounts to their Discord accounts. Most recent Discord methods implementation (modals, buttons, slash commands) Send private messages to connected players through the API.. You can grant Discord or game roles to players who have linked their accounts. Show your player count in the bot's status. Grant game group reward for boosting your discord server Create Rust - Discord chat channel to communcate between platforms. You can create a chat between Discord and RUST, displaying messages from RUST in a Discord channel. Create discord tickets. Needed something for myself, so I though it might be cool to add it to the plugin. Make votes on the Discord, where vote weight is based on playtime and owned ranks. Send F7 reports into your admin channels. Send F7 ideas into discord channel so players can vote for best ideas. Manage cupboard authorization. Recommended for PvE servers. You can make that player before authorization need to accept auth through game if he is online, or through Discord if he have connected account. To make this plugin work, you need to have the Discord Extension and a pre-made Discord Bot. A full tutorial on how to set it up is available on the Discord Extension web page. Please note, the bot must be connected to only one server! How to connect? To connect your Steam account to Discord: As an Discord admin you need to use /generateconnect command to create button for verification. This message is visible for everyone and everyone can use this button. Click the button on generated message. It will generate an 6-digit code. Write this code in /connect <code> command (default command, can be changed) in-game, and if code is valid your account is connected. In-Game Commands /connect <code> - If code is valid, makes connection between your game and Discord account. (Editable in config) Discord Commands /close - Closes the ticket. /vote - Opens modal for vote creation. (requires admin perms) /voteend <messageId> - Force-end vote and print results. Must be sent on same channel as vote exist. (requires admin perms) /generateconnect - Creates embed for Discord-RUST connection. (requires admin perms) /generateticket - Creates ticket creation embed. (requires admin perms) void API_SendPrivateMessage(string userId, string message) - If player is connected, it sends private message to connected discord user. void API_SendMessage(string channelId, string message) - Sends message to channel on discord. void API_SendEmbedMessage(string channelId, string title, string description, string color, string thumbnailUrl = "", string footerUrl = "", string footerText = "") - Sends embed message to channel on discord. void API_SynchronizeDiscord(ulong userId) - Synchronize discord connection with player. If not present will remove all bonuses. { "BOT API Token": "Paste Token Here!", "Show Player Count In Status": true, "Connection - In-Game Command": "connect", "Connection - Granted Discord Group ID": "", "Connection - Synced Groups": { "svip": "332265", "vip": "123456" }, "Connection - Synchronize In-Game Nickname": true, "Connection - Granted RUST Group Name": "", "Connection - Nitro Boost Granted RUST Group Name": "", "Discord Rust Chat - Enabled": true, "Discord Rust Chat - Channel ID": "", "Discord Rust Chat - Discord To Rust Format": "<color=#aaee32>[Discord]</color> <color=#5c81ed>{0}</color> » {1}", "Discord Rust Chat - Discord To Rust Format With Required Permission": { "discordcore.chat.admin": "<color=#aaee32>[Discord]</color> <color=red>[Admin]</color> <color=#5c81ed>{0}</color> » {1}", "discordcore.chat.vip": "<color=#aaee32>[Discord]</color> <color=yellow>[VIP]</color> <color=#5c81ed>{0}</color> » {1}" }, "Discord Rust Chat - Rust To Discord Format": "**{0}** » *{1}*", "Discord Rust Chat - Rust To Discord Format With Required Permission": { "discordcore.chat.admin": "*[A]* **{0}** » *{1}*", "discordcore.chat.vip": "*[VIP]* **{0}** » *{1}*" }, "Discord Rust Chat - Valid ChatNations Channels": [ "en", "pl", "de", "ru" ], "Tickets - Enabled": true, "Tickets - Language Buttons": { "en": { "Displayed Name": "English", "Displayed Icon": "", "Assigned Support Discord Group IDs": [ "5643345", "223235" ], "Response Message": "Ticket has been created! {0}", "Greeting Message - Title": "New Ticket", "Greeting Message - Description": "Hey, <@{0}>! Welcome in your ticket! \nSupport group has been informed about your problem.\n**Describe your problem here and wait for the answer!**\nIf you want to close your ticket, feel free to write **/close** command." }, "pl": { "Displayed Name": "Polski", "Displayed Icon": "", "Assigned Support Discord Group IDs": [ "5643345", "223235" ], "Response Message": "Strefa pomocy została stworzona! {0}", "Greeting Message - Title": "Nowe Zgłoszenie", "Greeting Message - Description": "Hej, <@{0}>! Witaj w swoim zgłoszeniu \nGrupa wsparcia została poinformowana o Twoim problemie.\n**Opisz tutaj swój problem i poczekaj na odpowiedź!**\nJeśli chcesz zamknąć zgłoszenie, napisz polecenie **/close**." } }, "Tickets - Log Tickets To Files": true, "Tickets - New Tickets Parent ID": "", "Tickets - Closed Tickets Parent ID": "", "Votes - Enabled": true, "Votes - Ping Role ID": "", "Votes - Default Vote Title": "Map Vote", "Votes - Default Vote Description": "Feel free to vote for one of the maps that will appear on the next wipe.\nYour vote will have more points if you played enough on current wipe.\nYour ranks also may vary on the point amount.\nIf your account is not connected to discord you will vote with 1 point.", "Votes - Default Vote Fields": "Procedural Map\nCustom Map", "Votes - Default Vote Time": "24h", "Votes - Playtime Vote Points (minutes : points)": { "1800": 3, "300": 2, "4500": 4, "9000": 5 }, "Votes - Permission Vote Points Multipliers (perm : multiplier)": { "discordcore.svip": 2.0, "discordcore.vip": 1.5 }, "F7 Reports - Enabled": true, "F7 Reports - Abuse Report Channel (0, to disable)": "", "F7 Reports - Bug Report Channel (0, to disable)": "", "F7 Reports - Cheat Report Channel (0, to disable)": "", "F7 Reports - General Report Channel (0, to disable)": "", "F7 Reports - Offensive Report Channel (0, to disable)": "", "F7 Reports - Idea Report Channel (0, to disable)": "", "F7 Reports - Idea Yes Emote": ":yes:1038108556542627891", "F7 Reports - Idea No Emote": ":no:1038108555007492187", "Cupboard Auth Check - Enabled": true, "Cupboard Auth Check - Command": "tcallow", "Text Messages": { "Connection - Embed Title": "[Discord - RUST] Connection Verification", "Connection - Embed Description": "Click button below to generate code that will allow you to connect your Discord account with your RUST account.", "Connection - Embed Button Text": "Verify Connection", "Connection - Sent Code": "Your verification code is **{0}**.\nGo to the server and run `/{1} {0}` to connect your Discord to Rust account.", "Vote - End Title": "Vote has ended.", "Vote - End Description": "These are the vote results:\n\n", "Vote - End Time": "\nVote results will be available {0}.", "Vote - Ended": "This vote has been ended. You can no longer vote for that!", "Vote - Button": "Vote", "Vote - Voting Title": "Vote Submit - Your vote will have {0} points", "Vote - Voting Text": "Vote by letter. You can use {0} letters.", "Vote - Not Valid Input": "Your vote input is not valid. Try again!", "Vote - Valid Input": "You've successfully voted for **{0}** with **{1}** points!", "Tickets - Embed Title": "Create Report", "Tickets - Embed Description": "If you need help, feel free to create a ticket to get in touch with **Admins**.\nSelect in what language you need to get in touch.", "Tickets - Cannot Close": "This channel isn't an ticket that can be closed or it has been closed already.", "Tickets - Closed Title": "Ticket Closed", "Tickets - Closed Description": "Ticket has been closed.\nIt will be automatically removed after 24 hours.", "Cupboard Auth Check - Title": "Cupboard Authorization Request", "Cupboard Auth Check - Description": "Player **{0}** is requesting for cupboard access at **{1}**.\nClick button to grant him access or just ignore this message.", "Cupboard Auth Check - Button": "Authorize", "Cupboard Auth Check - Error": "An error occured while trying to respond to this request. Probably cupboard is missing, or you've already responded to this request.", "Cupboard Auth Check - Granted Access": "You've successfully granted access to the cupboard!" } }Free- 24 comments
-
- #discord
- #discordbot
- (and 14 more)
-
Version 1.2.7
1,332 downloads
Shoppy Stock introduces a plethora of innovative features to the RUST server economy that were previously unavailable. This plugin enables the creation of multiple shops with diverse currencies, stock markets with item listing, a highly customizable server selling center, and numerous other functionalities. Video Preview (Version 1.0.0) Features Global Over 12 detailed RUST-Themed GUI windows. Wrote with performance in mind. All plugin actions are lightweight for server. Highly expandable plugin. All that limits you is your imagination! Fully customizable PopUp message through PopUp API. Command and API currency management. Full language support for any displayed message and item. NoEscape support. Full UI color change support. NPC interact shop and stock market support. Shops Create multiple shops with different currencies. Easily transfer your old currency to the plugin with other economy plugins support. Split your shop items into categories with custom icons for easier navigation. Search though all categories with one search bar. Buy exact amount of items that you need. Full custom item support. You can configure which currencies should be available to transfer. Transfer currency to online/offline players. When currency is an item, you can make it available for deposit into the shop as virtual currency. The page is saved when you close the shop, so you can get easily back where you were. Full permission system configurable for each action. Limits for daily/wipe purchases. Set cooldown to your purchases. Discount system. Stock Market Create multiple different markets with different currencies. Mark your favorite items and have them in Favorite tab. Automatically adds all vanilla RUST items with ability to blacklist unwanted. Few options to sort all listings for better economy management. Create sell and buy requests for the items. Configurable server sell price history. Permission based system on how many listings can one player create. Listings can be canceled and refunded or placed back to the market without any costs. Configurable tax on each market action. Additional info support for things such as durability and plant genes. Price rolls can be configured to run on specific hours. Demand system which will increase/decrease price of item on the market based on their demand. Messages requires DiscordCore. Selling center with the price calculator with over 15 variables based on amount sold, players online and more. Stock Market Broker. You can give permission for access to bank, where players can store and optionally refund items that are available in the server's sell list. You can also set the alert price and insta-sell price, which will execute an PopUp or will insta-sell your bank resources even if you are offline. Custom category and full custom item support. Configurable Web API for your server developers or for checking the item price if you are offline. Requires Web Server. Statistics module for server technicians for easier economy setup. Permissions The permissions listed below are static and cannot be altered. The configuration files offer hundreds of possible permissions. shoppystock.admin - Gives access to the currency management command. Commands All commands can be fully customized. Here is a list of the default commands. /market /shop /s /m - Opens Shoppy Stock UI. /list - Open's window to create Sell Request in RP stock market. /sell - Open's window to sell items in RP stock market. curr - Admin command. Full usage description is available when you run this command. (Chat and console command) updateprices <shopName> - Forcefully update stock prices of the shop. (Chat and console command) Optional Supported Currency Plugins Economics ServerRewards BankSystem IQEconomic Help Page Due to the extensive features offered by this plugin, it may be challenging for some users to configure certain aspects without guidance. Therefore, we have provided a brief walkthrough below. Configuration Files The plugin is extensive, resulting in the configuration files being split into three distinct ones, with two of them varying for each shop. Firstly, in your oxide/config folder, you will find the default configuration file, which contains all the fundamental configuration lines to add or remove more shops and stock markets. Secondly, in the oxide/data/ShoppyStock folder, you will find three folders. The first is Shops, which contains all the configurations for each shop created in the primary configuration file. The second is StockMarket, which includes several folders with all the stock-related content. More information on this is provided later. Lastly, UserData contains data on each shop player's currency, username, and daily/wipe purchases. StockMarket Folder In the StockMarket folder, you will find up to six folders, namely AlertData, Config, FavouriteData, PlayerData, PriceCache, and Statistics.\ The AlertData folder contains data on the alert and insta-sell prices set by players. The Config folder contains all the configuration files for each available stock market. The FavouriteData folder holds data on favorite items marked by players. The PlayerData folder includes data on all buy/sell requests and their banks. The PriceCache folder contains cache on all the necessary data of current item prices and their price/sell history for the graph to function. The size of this file depends on how long your timeline goes. Lastly, the Statistics folder includes all the statistics collected in the market by all players, split into global/player values, which are further divided into all time/daily actions. These values should help you understand how many resources are being sold on the server and justify your Default Sell Amount Calculation or Price Calculator. Server-Selling Items → Default Sell Amount Calculation (DSAC) The Default Sell Amount Calculation (DSAC) is a critical component that determines the amount of items sold during a given period. It serves as a reflection of the average item sales by all players during that period. For instance, in a PvE x10 server with an average of 20-30 players online, the wood amount sold could be set to 1800000. However, this value is only an example, and it is not recommended to base your configuration solely on it. A good stock market requires time and effort. Web API The plugin offers a Web API feature that enables you to check your market prices through your website. To activate this feature, you need website hosting with PHP support and to download the provided PHP file named apiupdate.php. CLICK HERE TO DOWNLOAD! It should be placed in the same directory as the "Web Price API - Link" points to. While experienced users can change the file name for security reasons, they should remember to modify the plugin code as well. Ensure the file has sufficient permissions to create an output api.html file (the file's directory can be altered in the PHP file). If configured correctly, the output should be available at <Web Price API - Link>/api.html. Always Run Timer on Hour Minute The Always Run Timer on Hour Minute feature sets the time when the timer will commence rolling the prices of your stock market. For example, if the values are set to 0, 30, and 60, the timer will start rolling prices on the hour or half-hour (x:00 or x:30). Similarly, if the values were 0, 20, 40, and 60, the timer would start rolling prices on the hour or at intervals of 20 minutes (x:00, x:20, or x:40). Stock Market - Default Categories The stock market contains 4 default categories. Sometimes you want to display them as first when opening the stock market. here are their codenames for config usage: my_listings bank_management favourites all_items Stock Market - Category Icons These options are formatted as follows: "config/rust default category name": "URL". Stock Market - Custom Item Info Lang Key For custom items, it's possible to create custom info tags in listings, similar to the tool condition or genetic information for clones. You can add your own tag for certain types of items, such as "Upgrade Ingredients". Stock Market - Refund Storage Name A storage with this name needs to be created in the RedeemStorageAPI. Otherwise, items from certain actions may disappear and the plugin will generate errors. Custom Item Listings All items configured in the stock market must have the exact format of the keys. The correct format is: <shortname>-<skinId>. For instance, the key for a Metal Chestplate with skinId 2497693972 will be "metal.plate.torso-2497693972". Generating Shop Config With All Vanilla Items Go to main plugin config in oxide/config/ folder and in the shop section you want to add all vanilla items search for Config Generation - Generate With All Default Items and set it to true. After all, go to oxide/data/ShoppyStock/Shops/ and delete your desired shop JSON file and reload the plugin. The plugin should generate a new config with all vanilla RUST items. Shop Items - Commands Commands support 2 types of variables. {userId} - Will be replaced with steamId of buyer. {userName} - Will be replaced with nickname of buyer. {userPosX} - Coordinate X of buyer. {userPosY} - Coordinate Y of buyer. {userPosZ} - Coordinate Z of buyer. Community Q&A Multiplier Events Q: How does the demand system work? How does weight come into play? A: Demands works based on "Multiplier Events" in the main config. Each event has its own "Weight" which represents their chance to be rolled on a demand roll. Values for how often demands should appear can be found in your stock market configuration in /data/ShoppyStock/StockMarket/Config/<shopName>.json. Names from the main configuration must be equal to these in the data file in order to make them work. Q: How do minimal and maximal work? A: It's a randomized value by which the price will be multiplied/divided. So if the price is 1.4 and the rolled demand is between 1.4 and 1.8, the random value would be, for example, 1.685, and the price would be 2.359. If the price is larger or less than the max value, it will get locked to the value near min/max. Stock Market - Timestamps Q: What is it used for? Is it a historical trend? A: If you run your stock market for a while, the plugin will store the price data, and it will be available in a chart for all players with permission. The amount of data saved is equivalent to the highest timestamp, so if you want to start collecting data, I recommend making this a real value even without giving permission to players for high timestamp values. Data Folder, Stock Market Config Q: Blocked Multiplier Listing Keys A: These are listings that shouldn't be multiplied with the price multiplier bonus, which is implemented, but the items that give the price bonus aren't available yet. Item Price Calculator Q: Price Change - Regular Curve A: It's a randomization value of the stock prices. Each time the price is rolled, it adds or subtracts a certain percentage from the price to make it more "realistic" and not stay in one place if none of the other events are run. Q: Price Change - Same Price Actions Min/Max A: Actions on the market aren't random if they go up or down every time. You can specify how long the price should go up or down (not including other events). You can make it so that prices will go up for five rolls in a row and then go down for the next two rolls. Q: Price Change - Chances to Increment A: It's the chance to run the action listed above. It's made in "<price percentage>": <price increase chance (percentage)> format. It's made to make prices go higher more easily when they are low and harder when they are high. As far as I remember, the basic configuration has a 2% price increase if the price is below 50%, 4% below 47%, etc. Q: Price Drop - Amount Sell Values Penalty Multiplier A: If any of the listed values are exceeded, the price roll is always negative, plus it's multiplied by the configured value to make prices go realistically lower faster when there are a lot of items sold on the market in a short period of time. Q: Price Drop - Amount Sold Max Price Penalty A: If your players sell too much of any item, you can set that price to be locked at a certain percentage for a certain period of time. If they sell, 10000% of DSAC of wood, the price is locked at a maximum of 25% for 24 price rolls. Q: Price Increase - Goal Not Achieved (Which goal is this referring to here?) A: If there is a low demand for some items and there is less than 100% of the DSAC amount sold, you can encourage players to farm and sell them by increasing the price by a certain multiplier every time the price is rolled. Like making the price increase x1.5 times faster when there are less than 10% of items sold. Q: Default Sell Amount Calculation - Players Online Multiplier (What does the set value with respect to players online do?) A: If your server population varies from 20 to 150, you can easily manage the DSAC values by just multiplying or dividing them based on the current player count. The player count is checked on every price roll. Q: Price Multipliers - Minimal Time Distance Between Events (The event here refers to what? (Is it a player buying or selling listings?) A: It refers to the price multipliers that I described above in Multiplier Events. Q: Price Multipliers - Chance Based On Sell Amount (0-100) (What does this configuration do?) A: You can make the price multipliers run more often if there are not enough or too many items sold. Q: Price multipliers [minimal actions vs. maximal actions] A: It's how long in price rolls the price increase or decrease event runs. Server Sell Items Q: How does price parent impact the server sell price? A: Parent items are useful when you want to add item like Metal Fragments and Metal Ore, but encourage players to smelt them, because Metal Fragments price will be always higher than Metal Ore by an certain amount configured there. API for Developers int GetCurrencyAmount(string shopName, BasePlayer player) - Returns player's balance. If not found returns 0. int GetCurrencyAmount(string shopName, ulong userId) - Returns player's balance. If not found returns 0. bool TakeCurrency(string shopName, BasePlayer player, int amount) - Takes player currency. Returns true if taken and false if not. bool TakeCurrency(string shopName, ulong userId, int amount) - Takes player currency. Returns true if taken and false if not. void GiveCurrency(string shopName, ulong sellerId, int amount) - Gives player currency. string FormatCurrency(string shopName, BasePlayer player) - Returns player's formatted balance. Example Files (Version 1.0.0) Contains all configuration files from the video, without most of the custom items. It's not recommended to run this files, CLICK HERE TO DOWNLOAD! Default Main Config (Version 1.0.6) CLICK HERE! Default Shop Config (Version 1.0.6) CLICK HERE! Default Stock Market Config (Version 1.0.6) CLICK HERE!$50.00