Config Velocity

plugins/mythicproxy/config.json is the MythicProxy config of the proxy. The plugin creates it with these defaults on the first start and reads it only when the proxy starts, so restart the proxy after you change it. The plugin never writes to the file again. A missing key uses its default, and key names are case-sensitive.

{
  "proxy-id": "proxy",
  "bind": "0.0.0.0:25580",
  "advertise": "",
  "secret": "",
  "storage": "SQLITE",
  "sqlite-file": "variables.db",
  "mysql": {
    "host": "127.0.0.1",
    "port": 3306,
    "database": "mythicproxy",
    "user": "root",
    "password": "",
    "pool-size": 4
  },
  "cleanup-interval-seconds": 300
}

Options

Option Description Default
proxy-id Name of this proxy, shown in backend logs. Give every proxy its own id, see Multiple Proxies, and do not use it as a server name, see Server Names. "proxy"
bind Address and port the proxy listens on for backends. The port is required. See Hub Port and Firewall. "0.0.0.0:25580"
advertise The host:port the proxy tells backends to connect to. Leave it empty to pick one automatically, see Announced Address. ""
secret The shared secret. Leave it empty to use the Velocity forwarding secret, see Secret. ""
storage SQLITE or MYSQL, see Storage. "SQLITE"
sqlite-file The SQLite database file. A relative path starts in plugins/mythicproxy/. Folders in the path are not created. "variables.db"
mysql.host Host of the MySQL server. "127.0.0.1"
mysql.port Port of the MySQL server. 3306
mysql.database Name of the database. It must already exist. "mythicproxy"
mysql.user User that connects to the database. "root"
mysql.password Password of that user. ""
mysql.pool-size Most database connections at once, at least 1. 4
cleanup-interval-seconds Seconds between two cleanups of expired variables. Values below 10 count as 10. 300

If the file cannot be read or a value is invalid, for example a storage other than SQLITE or MYSQL or a bind without a port, MythicProxy stays disabled. See Troubleshooting.

Storage

The proxy keeps the network variables, and the leases and blobs of the API, in a database. Changing storage does not move existing data.

SQLite

SQLite is the default. The data is in one file, plugins/mythicproxy/variables.db unless sqlite-file says otherwise, and the files variables.db-wal and variables.db-shm can appear next to it. With more than one proxy, use MySQL, see Multiple Proxies.

MySQL

Set storage to "MYSQL" and fill in the mysql keys.

  • Create the database first. MythicProxy creates its tables mythicproxy_variables, mythicproxy_leases and mythicproxy_blobs when the proxy starts, so the user needs the rights to create tables and to read, write and delete rows.
  • The table names have no prefix, so give each network its own database.
  • There are no other connection settings, such as SSL options.

Cleanup

Every cleanup-interval-seconds the proxy deletes the variables that have expired, see Persistence and Expiry. The first cleanup runs one interval after the proxy starts. Leases and blobs are never cleaned up.

Updated Oct 29, 2026