πŸ”₯Join our Discord for support, updates, and custom commissions.
Polaroid Studio Logo
PolaroidSTUDIO
DiscordLog In

πŸ’» Installation

Requirements

  • Paper 1.21 or newer. Spigot is not supported: the plugin builds messages as components.
  • Java 21.

Nothing else is required. Every plugin listed in For developers is optional and detected at startup.

Getting it running

  1. Put the jar in plugins/.
  2. Start the server. The folder and its files are written on first run.
  3. Stop, edit what you want, start again.

The files

Everything lives in plugins/PolaroidChat/.

FileWhat it decides
config.ymlNicks, notifications, keywords, mentions, menus, history slots
database.ymlWhere player data is stored
commands.ymlWhich root aliases exist (/nick, /msg, …)
formats.ymlHow a chat message is built, per rank
channels.ymlThe channels, and the ones players make themselves
announcements.ymlWhat the server says on a timer
emojis.ymlThe shortcuts players type
lang/messages_en.ymlEvery word the plugin says
menus/Every menu, and the templates they share

Reloading

/polaroidchat reload picks up every file above except commands.yml. Root aliases are registered with the server at startup, so adding or removing one needs a full restart.

Storage

database.yml picks one of two.

SQLite (the default) writes to data.db in the plugin folder. Nothing to set up, and it is the right answer for a single server.

MySQL is for several servers sharing one set of nicks and colours:

storage:
  type: mysql
  mysql:
    host: localhost
    port: 3306
    database: polaroidchat
    username: root
    password: ''

The remaining keys tune the connection pool and are safe to leave alone.

Upgrading

Files carry a version. When the jar ships a newer one, the plugin:

  1. copies your file to backups/<name>.<timestamp>,
  2. rebuilds it from the new template, keeping every value you had set,
  3. keeps whole sections that are yours to fill β€” your announcements, your chat formats, your colour swatches, your history tiers, your own templates.

A key that no longer exists is dropped. If you had customised a setting that moved into a shared block, its old value does not carry over β€” check the backup after a version bump.