Auto Demo Record
Auto Demo Record
1.3.0
10 months ago
demorecorderautopho3nix90admintoolrustoxideumodcarbonadrautodemorecord

Auto Demo Recorder - Premium (Markdown Documentation)

Auto Demo Recorder - Premium is a Rust server plugin designed to automatically record players who have been reported a certain number of times. The plugin offers the ability to upload combat logs and demo files to a Discord webhook. Below are the key features, commands, configurations, and API details.

Features

  • Automatic recording of players with a specified number of reports.
  • Ability to upload combat logs and demo files to a Discord webhook.
  • Disk usage during recording is approximately 1MB per 1 minute.
  • Utilizes Discord's 8MB upload limit or 100MB for Nitro users.
  • Self-recording initiation using a chat command.
  • Manual recording using console commands.
  • Blacklist feature to record specific players at set intervals.

Chat Commands

  • /record: Initiates a self-recording for the player who enters the command in the chat.

Console Commands

  1. autodemorecord.record [steam64id] [minutes]: Initiates recording for a player on demand or as scheduled from another plugin. Requires the player's Steam64 ID and the recording duration in minutes.

  2. autodemorecord.blacklist add [steam64id] [recordingMinutes] [intervalMinutes]: Adds a player to the blacklist, recording them for a specific duration at defined intervals. Requires the Steam64 ID, recording duration, and interval duration.

  3. autodemorecord.blacklist remove [steam64id]: Removes a player from the blacklist.

Permissions

  • autodemorecord.record: Allows players to initiate recordings of themselves. Useful for streamers, tournaments, or for providing end-of-wipe footage. The recording length will be set according to the configured "Auto record for X minutes."

Configuration

  1. "Auto record after X reports": Starts recording the player after receiving the specified number of reports.

  2. "Only record when reports within X seconds": Records only when the number of reports above is received within the defined timeframe. Use 0 to record always when the above value is reached.

  3. "Save/Load reports to datafile on reload": When disabled, data overhead may not be saved if the above config is used.

  4. "Auto record for X minutes": Sets the duration for which the player will be recorded.

  5. "Discord MSG Color": Sets the color for the embed message in Discord.

  6. "Discord Webhook": Specifies the Discord webhook to which all information will be sent.

  7. "Discord: Notify if recording is started": Enables sending a message to the Discord webhook when the recording starts.

  8. "Discord: Include report with start message?": Allows inclusion of the player's report in the recording start message.

  9. "Discord: Notify if recording is stopped": Enables sending a message to the Discord webhook when the recording ends.

  10. "Discord: Include report with end message?": Allows inclusion of the player's report in the recording end message.

  11. "Upload Combat Log to discord webhook?": Determines whether the player's combat log should be uploaded to the Discord webhook as a txt file.

  12. "Upload DEMO file to discord webhook?": Determines whether the player's demo file should be uploaded to the Discord webhook.

  13. "Split DEMO files for non-nitro discord (8mb chunks)?": Enables splitting and uploading multiple files to Discord for non-Nitro servers. Turn off if Nitro with a 100MB upload limit is available.

  14. "Discord Webhook - Self Record": All self-initiated recordings will be posted to this webhook. If not set, it will go to the main one.

  15. "Record if FlyHacked in last X seconds": Initiates a recording when a player rejoins the server after being kicked for flyhacking.

  16. "Save recording to server?": Determines if the recording should be saved to the HDD. Set to false to save space, but ensure you have a webhook setup to prevent data loss.

API

To trigger a recording from your plugin, use the following API call:

AutoDemoRecord.Call("API_StartRecording", BasePlayer player, string Reason, int LengthInMin);

Feel free to suggest any improvements or enhancements to the plugin!