CarbonCleaner
CarbonCleaner CarbonCleaner

4.99 EUR

Checkout
CarbonCleaner

🧹 CarbonCleaner

Project: CarbonCleaner
Engine: Carbon (Rust Server)
Language: C#
Version: 1.0.0  Author: RustFlash


🧩 Short description

Finds orphaned files in carbon/config/, carbon/data/, and carbon/lang/ based on the installed/loaded plugins and provides a sleek in-game CUI for selecting and deleting them.


⚙️ Features

  • Matching logic (plugin detection)

    • Reads plugin base names from carbon/plugins (*.cs) and from the Carbon runtime (loaded plugins).
    • Base names Admin and CorePlugin are always treated as present.
  • Scan areas

    • config: Top-level *.json and top-level folders whose base name does not correspond to a plugin.
    • data: Top-level files (except *.data/*.db) and top-level folders without a plugin match.
    • lang: lang/<LOCALE>/*.json whose base name does not correspond to a plugin.
  • UI (CUI)

    • Three columns: CONFIG, DATA, LANG with count, file size, and checkboxes.

    • Select All for CONFIG/DATA, language sections can be expanded/collapsed for LANG.

    • Delete button shows number of selections; after deletion, automatic rescan.

    • Secure deletion

    • Deletes only within the carbon/ root (path is validated).

    • Supports files and folders (recursively).

Note: *.data and *.db in the data root are not listed as orphaned (are skipped). This protects runtime databases.


💬 Commands

In-Game (Chat)

  • /carboncleaner — Opens the UI (requires permission).

Server console

  • carboncleaner.scan — Shows number/size of hits.
  • carboncleaner.delete “<relativePath>|<relativePath>|...”
    Example:
    carboncleaner.delete “config/Old.json|data/OldFolder|lang/en/Old.json”
    Deletes the specified relative paths under carbon/.

🔐 Permissions

  • carboncleaner.admin — required for all functions (chat/UI).

🗃️ What is considered “orphaned”?

  • Base name of the file/folder (without extension) does not match any plugin name from carbon/plugins or the Carbon runtime.
  • config: *.json & top-level folders without plugin match.
  • data: Top-level files (without *.data/*.db) & top-level folders without plugin match.
  • lang: lang/<LOCALE>/*.json without plugin match.