Installation
Install Toolkit on each Paper server of a Bridge network through the Aegis loader, then learn its settings.yml, messages.yml and menus.yml.
Before you start
Toolkit needs a working Bridge network. Set that up first with Bridge requirements. Each Paper server that runs Toolkit also needs:
- Kernel and Bridge, both included with Bridge.
- packetevents.
Toolkit runs on Paper servers only. Do not add it on the Velocity proxy.
Toolkit has no database settings of its own. Friends, follows, vouchers and notifications are stored by Catalyst through Bridge. Announcements are saved to the MongoDB that Stash connects to, and changes reach the other servers over Stash's Redis.
Install
Products are delivered through your personal Aegis loader. If the loader is not on the server yet, follow Installation first.
Add Toolkit to the loader
On each Paper server, add Toolkit under products: in the loader's config.yml, next to Bridge.
products:
Toolkit:
enabled: true
release: latest
channel: stable
required: trueRestart the server
Toolkit loads after Kernel, Bridge and packetevents. On first start it creates settings.yml, messages.yml and menus.yml in plugins/Toolkit/.
Replace the sample announcement
A fresh install has one announcement, "Hello world, from Toolkit!", sent to every player once a minute. Run /announcement editor to edit or delete it. See Network tools.
Give out permissions
Player features such as /friend, /msg, /profile and /settings need no permission. Staff commands do. Grant the nodes to your ranks with Bridge. The full list is on Permissions.
Check it works
- Join a Paper server and run
/settings. On a 1.21.6 or newer client you get a dialog; older clients get a chest menu. - From a second account on another server, run
/friend <name>on the first account. The first account should get a clickable friend request in chat. - Run
/msg <name> hellobetween the two accounts.
Config files
Toolkit keeps three files in plugins/Toolkit/ on each Paper server:
| File | What it holds |
|---|---|
settings.yml | Reply window, message sound, name history length, crit sound, zoom, the potion effect HUD and time of day values. |
messages.yml | Every chat line Toolkit sends. |
menus.yml | Titles and items of every Toolkit menu, and the names and descriptions of every player setting. |
Each file is written with its defaults and a description above every setting. Saving a file reloads it. Delete a line to get its default back. The files are per server, so copy them to every Paper server if you want the same text everywhere.
settings.yml
| Key | Default | What it does |
|---|---|---|
social. | 300 | Seconds /reply keeps answering your last private conversation. |
social. | BLOCK_NOTE_BLOCK_PLING | Sound played when you receive a private message, if your Message Sounds setting is on. |
social. | 3 | How many previous names the profile menus list. |
gameplay. | ENTITY_PLAYER_ATTACK_CRIT | Sound played to an attacker on a critical hit while their Enhanced Crit/Hit Sounds setting is on. |
gameplay. | 0.9 | Volume of that sound. 1.0 is normal. |
gameplay. | 1.7 | Pitch of that sound, from 0.5 to 2.0. |
gameplay. | 25.0 | Field of view, in degrees, that the zoom key zooms to. Lower zooms in further. |
gameplay. | 0.26 | Text size of the potion effect HUD. |
gameplay. | -0.42 | Sideways offset of the HUD in blocks. Negative moves it left. |
gameplay. | 0.18 | Height of the HUD above eye level, in blocks. |
gameplay. | 0.75 | Distance of the HUD in front of the eyes, in blocks. |
preferences. | Day: 1000, Sunset: 12000, Night: 18000 | World time, in ticks, that each Time of day choice sets for the player. |
Sound names are Paper sound names, such as ENTITY_PLAYER_ATTACK_CRIT.
social:
replyExpiry: 600
messageSound: ENTITY_EXPERIENCE_ORB_PICKUP
nameHistory: 5messages.yml and menus.yml
Every message and menu item lists the placeholders it gets, such as {player}, in the file itself. Colours can be & codes, hex like &#FFAA00, or MiniMessage tags.
In menus.yml, the settings section holds the name and description of each setting and each settings page. Change them there to rename settings for your players.