Docs
Storage
PulsePrison stores player data in JSON, SQLite or MySQL. Choose once in config.yml before opening the server.
yaml
storage:
type: json # json, sqlite or mysql
profile-autosave-seconds: 60 # how often profiles are saved
database: # only for sqlite and mysql
host: localhost
port: 3306
database: pulseprison
username: root
password: ''| Type | Best for | Notes |
|---|---|---|
json | A single server | Readable files, required by /prison backup |
sqlite | A single server with many players | A database.db file in the plugin folder |
mysql | Several servers sharing data | Needs a MySQL server |
An unknown value falls back to json with an error in the console. Changing the type does not migrate existing data.
What is stored and where
Depends on storage.type:
| Data | JSON | SQL |
|---|---|---|
| Money, tokens, gems, rank, prestige | data/players/<uuid>.json | table player_data |
| Pickaxe and enchants | data/pickaxes/<uuid>.json | tables player_pickaxes, pickaxe_enchantments |
| Clans | data/clans/ | tables clans, clan_members |
Profile: profile currencies, levels, autominer, attributes, personal boosters, milestones, masteries, skins, crystals, abilities, settings | data/profiles/ | table pulseprison_profiles |
Always in files:
| Data | File |
|---|---|
| Private mines | data/pmines/ (one mine per file in data/pmines/mines/) |
| Rank mines | mines.yml |
| Backpacks | data/backpacks/<uuid>.yml |
| Pets, robots, skill tree, market | data/pets.yml, data/robots.yml, data/skills.yml, data/market.yml |
| AFK blocks, global boosters, cells | data/afk-blocks.yml, data/global-boosters.yml, data/cells.yml |
| Language and automatic rankup | data/preferences.yml |
| Seasons | seasons/, or the database with storage.type: database in seasons.yml |
When data is saved
- When the player leaves and when the server stops.
- Profiles, every
profile-autosave-seconds. - The pickaxe, on level up and every 50 blocks mined.
- Changed private mines, every
performance.autosave-secondsinpmines/config.yml. - Backpacks, every two minutes if they changed.
Several servers
With mysql, the storage.type data is shared. Private mines, backpacks, pets and robots stay in files, so they work per server. For a network, run PulsePrison on one prison server and use MySQL to share economy and progress with the rest.
Backups
See Backups.