# 📁 Files & Database

## Config

The file config.yml is the main file of the plugin, there are many option that you can change how you want.&#x20;

The options are described directly in the file.

{% code title="config.yml" %}

```yaml
#     ____            _             ___  __
#    / ___|___  _ __ | |_ _ __ ___ | \ \/ /
#   | |   / _ \| '_ \| __| '__/ _ \| |\  /
#   | |__| (_) | | | | |_| | | (_) | |/  \
#    \____\___/|_| |_|\__|_|  \___/|_/_/\_\
#
# Mady by TWProject ❤️ [DavideTW,RobyFasa]
#
# DISCORD: https://discord.tw-project.it/
# DOCS: https://docs.tw-project.it/
#

# ---------------------------------------- #
#                                          #
#           LICENSE & DATABASE             #
#                                          #
# ---------------------------------------- #

license: "null" # The license of the plugin, if you dont have it, contact us in our Discord.

database:
  MySQL:
    host: "localhost"
    database: "ControlX"
    username: "username"
    password: "password"
    port: 3306

# ---------------------------------------- #
#                                          #
#               MAIN OPTION                #
#                                          #
# ---------------------------------------- #

control:
  server: DEFAULT # Name of the ScreenShare Server
  command:
    deny: true # true if you want to deny command in ScreenShare
    alias: # Alias of command /Control, without /
      - ss
    whitelist: # List of the command whitelisted in ScreenShare
      - /Invsee
    disconnect: # The commands executed from the console if a "hacker" disconnect while control, set to - "" if you want to disable this
      - "ban %hacker% Slog from hack control"

return:
  staffer: true # true if you want to send back the staffer at the server he was ( on command /Finish or on an eventual slog of the player checked )
  hacker: true # true if you want to send back the player checked at the server he was( on command /Finish of the staffer )

# ---------------------------------------- #
#                                          #
#            TITLE & SUBTITLE              #
#                                          #
# ---------------------------------------- #

title:
  enabled: true # true if you want to enable the title in the Screen of the player checked.
  title: '&4Hack Control!' # The message of the title, ChatColor enabled
  subtitle: "&cDon't slog!" # The message of the subTitle, ChatColor enabled
  stay: 100 # in Ticks
  fadein: 10
  fadeout: 10

# ---------------------------------------- #
#                                          #
#              SAVING DATA                 #
#                                          #
# ---------------------------------------- #

save:
  control-info: true # true if you want to save information ( like date,duration etc ) of ScreenShare
```

{% endcode %}

***

## Messages

The file messages.yml is the file that contains all the messages from the plugin. There are 2 avaiable translation by default, you can change it in the file config.yml.&#x20;

You can translate every message how you want, but by default the plugin create the file messages in English.

If you want to select the other language, change it, delete the file messages.yml and restart the proxy.

{% code title="messages.yml" %}

```yaml
prefix: '&c&l&oCONTROL&4&l&l&oX &7» '

error:
  only-player: '%prefix%&cOnly player can execute this command.'
  no-permission: "%prefix%&cYou don't have permission to do this command."
  cannot-control-yourself: "%prefix%&cYou can't check yourself!"
  not-in-control: '%prefix%&cYou cannot execute this command while in control!'
  only-one-control: '%prefix%&cYou are already under control with &4%hacker%, &cfinish that control with &b/Finish %hacker%&c!'
  wrong-index-number: '%prefix%&cThe number &4%num%&c does not seem to be a valid index!'

player:
  not-exist: '%prefix%&cThe player &4%hacker%&c does not exist or is not online!'
  not-found: "%prefix%&cPlayer &4%name%&c not found."
  exempt: "%prefix%&cYou can't control the player &4%hacker%&c."
  already-in-control: '%prefix%&cThe player &4%hacker%&c is already under control.'
  non-in-control: '%prefix%&4%hacker%&c is not under control.'
  slogged: '%prefix%&aControl finished, &c%hacker%&4 has quit!'

message:
  control:
    broadcast: '%prefix%&c%staff%&f is checking &4%hacker%&f.'
    info:
      message: '%prefix%&fYou are checking the player: &4%hacker%&f.'
      special-messages:
        cheating:
          text: '&c&lCHEAT'
          hover: '&cClick here to suggest the command of ban for cheating.'
          clickAction: SUGGEST_COMMAND
          clickMessage: "/Ban %hacker% Cheating"
        finish:
          text: '&a&lFINISH'
          hover: '&aClick here to finish the control of the player.'
          clickAction: RUN_COMMAND
          clickMessage: "/Finish %hacker%"
  finish: '%prefix%&c%staff%&f has finished checking &4%hacker%&f.'
  reload: '%prefix%&aPlugin reloaded successfully!'
  finish-hacker: '%prefix%&aControl finished. Thank you for the patience!'

server:
  not-set: '%prefix%&cThe server of controls is not set. Configure it via config.yml!'
  offline: '%prefix%&cThe server of controls&c is &4&lOFFLINE&c.'

top:
  header:
    - '&7&m|+-------------+|+&r &4&lCONTROL &c&lTOP &7&m+|+--------------+|'
    - ''
  staffer: '     &f#%pos% &c%staffer% &7» &b%amount%'
  footer:
    - ''
    - '&7&m|+-------------+|+&r &4&lCONTROL &c&lTOP &7&m+|+--------------+|'
  no-data: '%prefix%&cThere are no staffer to show.'

info:
  player-control:
    - '&7&m|+-------------+|+&r &4&lCONTROL &c&lINFO &7&m+|+--------------+|'
    - ''
    - ' • &dPlayer &7» &9&n%name%'
    - ''
    - ' • &5Controls &7» &d%num%'
    - ' • &5First control &7» &d%data-first%'
    - ' • &5Last control &7» &d%data-last%'
    - ''
    - '&7&m|+-------------+|+&r &4&lCONTROL &c&lINFO &7&m+|+--------------+|'
  staffer-control:
    - '&7&m|+-------------+|+&r &4&lCONTROL &c&lINFO &7&m+|+--------------+|'
    - ''
    - '  &fPlayer &7» &b%name%'
    - ''
    - '  &fControls &7» &b%num%'
    - '  &fFirst control &7» &b%data-first% &7(%diff-date-first%)'
    - '  &fLast control &7» &b%data-last% &7(%diff-date-last%)'
    - ''
    - '&7&m|+-------------+|+&r &4&lCONTROL &c&lINFO &7&m+|+--------------+|'
  control:
    - '&7&m|+-------------+|+&r &4&lCONTROL &c&lINFO &7&m+|+--------------+|'
    - ''
    - '  &fPlayer &7» &b%name%'
    - '  &fStaffer &7» &c%staffer%'
    - '  &fControl number &7» &b%num%'
    - ''
    - '  &fDate start &7» &d%data-start% &7(%diff-date-first%)'
    - '  &fDate end &7» &d%data-end% &7(%diff-date-last%)'
    - ''
    - '&7&m|+-------------+|+&r &4&lCONTROL &c&lINFO &7&m+|+--------------+|'

list:
  empty:
    - '&7&m|+-------------+|+&r &4&lCONTROL &c&lLIST &7&m+|+--------------+|'
    - ''
    - '&cAt the moment there are no controls in progress.'
    - ''
    - '&7&m|+-------------+|+&r &4&lCONTROL &c&lLIST &7&m+|+--------------+|'
  header:
    - '&7&m|+-------------+|+&r &4&lCONTROL &c&lLIST &7&m+|+--------------+|'
    - ''
    - '&aAt the moment there are &b%num%&a controls in progress.'
    - ''
  control: '     &c%staffer% &7» &4%hacker%'
  footer:
    - ''
    - '&7&m|+-------------+|+&r &4&lCONTROL &c&lLIST &7&m+|+--------------+|'
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tw-project.it/plugins/controlx/bungeecord/files-or-databases.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
