Overview
Our prison set-up is seven plugins that run on top of PinnaPrison. Together they add rank chat, crates, timed events, mining momentum, a battle pass, pickaxe perks and pets. They all use PinnaPrison's currencies, boosters and menus, so they work with your prison and with each other from the first start. This page covers installing them, putting your server's name on them, and what to check before you open. Each plugin has its own page for the details.
What's in the set-up
| Plugin | What it adds | Players use | Admin permission |
|---|---|---|---|
| PrisonChat | Chat formats by rank, tags, colours, item showcase, private messages, spam filters, staff tools and chat games. | /chat |
prisonchat.admin |
| PrisonCrates | Key crates with bulk opening, animated crates in the world and lootboxes. | /crates |
prisoncrates.admin |
| PrisonEvents | Timed mining, currency and community events that start on their own. | /events |
prisonevents.admin |
| PrisonMomentum | A ladder of boosts for mining without a break, which drains away when players stop. | /momentum |
prisonmomentum.admin |
| PrisonPass | A seasonal battle pass with free and premium rewards, and daily and weekly tasks. | /pass |
prisonpass.admin |
| PrisonPerks | Random boost perks that players roll onto their pickaxe with Perk Tickets. | /perks |
prisonperks.admin |
| PrisonPets | Pets that hatch from eggs, level up while players mine and boost their income. | /pets |
prisonpets.admin |
Run all seven or only the ones you want: none of them needs another to work. Operators have every admin permission already.
What you need
| Requirement | Details |
|---|---|
| Paper 26.1.1 | The server software the set-up is built for, running on Java 25. |
| PinnaPrison 1.2.25 | Required by all seven. EdLib ships inside the PinnaPrison jar, so don't install it separately. |
| PlaceholderAPI | Optional, but install it if you run PrisonChat: the default chat line needs it for the rank and rebirth numbers. You also need it to use any of the set-up's placeholders in another plugin, such as your tab list. |
| LuckPerms | Optional. PrisonChat takes chat formats and prefixes from LuckPerms groups, and PrisonCrates' permission: reward needs it. It's also the easiest way to give out the permissions in Before you open. |
| Vault, DiscordSRV | Optional. Vault lets PrisonCrates pay money rewards when PinnaPrison has no money currency of its own. DiscordSRV relays PrisonChat to Discord. |
| Internet on first start | Paper downloads each plugin's database drivers the first time it loads. After that, the plugins work offline. |
| A database | Nothing to set up. Each plugin keeps its data in its own folder, and MySQL is optional for all of them. |
Install it
The set-up is drag and drop: there's nothing to unzip and no installer to run.
- Make sure PinnaPrison 1.2.25 is installed and working on your Paper 26.1.1 server.
- Stop the server.
- Open the server's
pluginsfolder. On a host, use the file manager in your control panel (most let you drag files straight in) or an SFTP program such as FileZilla or WinSCP. On your own computer, open the folder in your file explorer. - Drag the seven
.jarfiles from your download into thepluginsfolder, next to the PinnaPrison jar. Leave out any you don't want. Drop them in as they are, not unzipped and not inside another plugin's folder. Add PlaceholderAPI or LuckPerms now too if you're using them. - Start the server. Each plugin creates its own folder in
plugins/, and all but PrisonEvents put their menus inplugins/PinnaPrison/guis/. - Join as an operator and run
/pinna reloadonce. It loads the "Perk:" line PrisonPerks adds to the pickaxe lore on its first start.
Then check everything loaded:
/plugins
/chat
/crates
/events list
/momentum
/pass admin season info
/perks
/pets/pluginslists the plugins you installed in green. A red one failed to start: read the console from the top of the start-up for the reason.- The next six commands each open a plugin's menu or list. Each plugin's page starts with a short test of its main features.
/pass admin season infoshould say Active. If it says Starting soon or Ended, set the season dates (see Before you open).
Updating. Stop the server, replace the old jar with the new one and start it again. The plugins only write a file when it's missing, so your edited files and menus are kept.
Change the names and links
The set-up ships with a placeholder server name and placeholder Discord and store links. Change these to your own before you open:
| What | Where to change it | What it says now |
|---|---|---|
| Server name | plugins/PinnaPrison/variables.yml, the value under servername |
&bPinna&fPrison |
| Discord invite | plugins/prisonchat/announcements.yml (the discord announcement) and plugins/prisonchat/emojis.yml (what [discord] turns into) |
https://discord.gg/yourserver |
| Store address | plugins/prisonchat/emojis.yml (what [store] turns into) and plugins/PinnaPrison/guis/prisonpass/prisonpass-tiers.yml (the premium lines) |
https://store.yourserver.net and store.yourserver.net |
| Links players may post | plugins/prisonchat/filters.yml, the whitelist under advert |
yourserver.net and discord.gg/yourserver |
| Store and vote buttons | plugins/prisonchat/announcements.yml (the store and vote announcements) |
They run /buy and /vote |
| Welcome, join and quit messages | plugins/prisonchat/config.yml, under join-quit |
"Welcome {player} to the server for the first time!" |
| The chat line | plugins/prisonchat/formats.yml |
See PrisonChat |
| Currency names and colours | plugins/PinnaPrison/currencies/<id>.yml, display-name and color |
Tokens, Gems, Money and so on |
| Message prefixes and wording | Each plugin's messages.yml |
For example [Events] and PETS » |
Nothing in the set-up shows the server name by itself. Use %pinnaprison_variable_servername% wherever you want it, such as your tab list, scoreboard or messages, so the name only lives in one place and changes everywhere at once.
The plugins' own files reload with their reload commands (see Files and reloads). PinnaPrison's files and every menu reload with /pinna reload. If a change doesn't show, restart the server.
Tab list and scoreboard
Neither PinnaPrison nor the set-up draws a tab list or a sidebar scoreboard. Those come from your tab or scoreboard plugin, so edit the header, footer and lines in that plugin's own config. These placeholders are the ones most worth adding (they need PlaceholderAPI):
| Shows | Placeholder |
|---|---|
| Your server name | %pinnaprison_variable_servername% |
| The player's name in their chosen colour | %prisonchat_name% |
| The player's chat tag | %tags_tag% |
| Crate keys held | %prisoncrates_total% |
| Time until the next event | %prisonevents_next_in% |
| Momentum level | %prisonmomentum_level_roman% |
| Battle pass tier | %pinnaprison_variable_pass_tier% |
| Pickaxe perk | %prisonperks_current_perk% |
| Pets equipped | %pinnaprison_variable_pets_equipped% |
If your tab plugin needs & codes, use %prisonchat_name_legacy% and %tags_tag_legacy% for the name and tag. Each plugin's page lists all its placeholders.
How the plugins work together
Boosts all go through PinnaPrison
PrisonPets, PrisonMomentum and PrisonPerks hand their boosts to PinnaPrison. They stack with each other and with your other boosters, and each one shows its own line in /boosters. Leave boosters turned on in plugins/PinnaPrison/boosters.yml. PrisonPets warns in the console when they're off.
Boosts are set by currency id, such as tokens or gems. Use the ids from plugins/PinnaPrison/currencies/. All three plugins warn in the console at start-up about an id PinnaPrison doesn't know.
Rewards from one plugin can give another plugin's rewards
Every plugin can run a console command as a reward, so any of them can hand out another's rewards:
| To give | Console command |
|---|---|
| Crate keys | prisoncrates give <player> <crate> <amount> -s |
| A lootbox | prisoncrates givelootbox <player> <lootbox> <amount> -s |
| A pet egg | pets admin give <player> egg <egg> <amount> |
| Perk Tickets | prisonperks tickets give <player> <amount> -s |
| Battle pass XP | pass admin xp give <player> <amount> -s |
| The premium pass | pass admin premium give <player> -s |
| Momentum | momentum addblocks <player> <amount> -s |
| Event score | events progress <player> <event> <amount> |
-s hides the confirmation message, which would otherwise go to the console. Pet eggs and lootboxes need the player to be online.
This is how each plugin writes a console command, and what stands for the player's name:
| Plugin | Reward line | Player's name |
|---|---|---|
| PrisonChat (chat games) | [console] <command> |
{player} |
| PrisonCrates | command:<command> |
{player} |
| PrisonEvents | [CONSOLE] <command> |
{player} |
| PrisonPass | [console] <command> |
{player} |
| PrisonPets (eggs) | A line under commands: |
%player% |
For example, this line in a PrisonEvents reward gives the winner one Rusty Crate key:
- "[CONSOLE] prisoncrates give {player} rusty 1 -s"Perk Tickets and battle pass XP are also PinnaPrison currencies, perktickets and passxp. Anywhere PinnaPrison takes actions, give-eco perktickets 5 gives five tickets.
PrisonPass also has weekly tasks for opening crates and hatching eggs. They're switched off until another plugin reports progress to them, as described in PrisonPass's daily and weekly tasks.
Menus are PinnaPrison menus
Every plugin except PrisonEvents, which has no menus, keeps its menus in plugins/PinnaPrison/guis/<plugin>/. They use PinnaPrison's GUI format and reload with /pinna reload, not the plugin's own reload command. The plugins write them once and never overwrite them. To get a default menu back, delete its file and restart the server.
Before you open
Some bundled files need changing before players arrive:
- Set the battle pass dates. The bundled season ends on 6 November 2026. Set
start,endandtimezoneinplugins/prisonpass/seasons/season-1/season.yml, then run/pass admin reload. See Seasons. - Fix the crate key rewards. PrisonPass's key rewards in
rewards.ymland PrisonEvents' Vote Party use a command PrisonCrates doesn't understand. Change them toprisoncrates give {player} <crate> <amount> -s. See PrisonPass and PrisonEvents. - Fix the Mythic Egg. The pet shop sells a
mythic_eggthateggs.ymldoesn't have. Add the egg or remove the listing. See PrisonPets. - Read the console. After a start-up, a line saying an id "is not a PinnaPrison currency" means a bundled file uses a currency your server doesn't have. Fix the id in that file and reload.
- Give out the permissions. Players start with no chat tags or colours, and nothing gives them extra pet slots. Add
prisonchat.tag.<id>,prisonchat.<part>color.<id>andprisonpets.slots.<n>to your ranks. See PrisonChat. - Change the names and links. See Change the names and links.
- Test as a normal player. Operators skip every chat filter and own every tag and colour, so chat and the menus look different to them. Check from an account that isn't an operator.
Files and reloads
| Plugin | Its folder | Reload command | Player data |
|---|---|---|---|
| PrisonChat | plugins/prisonchat/ |
/prisonchat reload |
chat.db |
| PrisonCrates | plugins/PrisonCrates/ |
/prisoncrates reload |
The data/ folder |
| PrisonEvents | plugins/PrisonEvents/ |
/events reload |
data/prisonevents.mv.db |
| PrisonMomentum | plugins/prisonmomentum/ |
/momentum reload |
momentum.db |
| PrisonPass | plugins/prisonpass/ |
/pass admin reload |
pass.db |
| PrisonPerks | plugins/prisonperks/ |
/prisonperks reload |
perks.db, with perks.db-wal and perks.db-shm |
| PrisonPets | plugins/prisonpets/ |
/pets admin reload |
pets.db |
- Changes to the
storagesection of any plugin'sconfig.ymlneed a restart. - Menus reload with
/pinna reload. - Back up the player data files with the rest of your server, but don't edit them. With MySQL, the data is in your database instead.
Last updated