Databases¶
Kaizen Network uses two database systems: MongoDB for custom systems and MariaDB for plugins.
MongoDB¶
Primary database for custom game systems and web applications.
Connection¶
Databases¶
| Database | Purpose | Used By |
|---|---|---|
kaizenmc |
Website data | KaizenMC website |
autodonate |
Donation queue | AutoDonate plugin |
survival_data |
Custom Skript data | Survival Mix |
tycoon_data |
Custom Skript data | Tycoon |
kzn_utils |
Bot data | Discord bot |
Collections (Examples)¶
kzn_utils database¶
guilds- Discord server settingsmembers- Member datagiveaways- Active giveawaysmodlogs- Moderation logssuggestions- Suggestion system
autodonate database¶
pending_donations- Unprocessed donationscompleted_donations- Processed donations
MariaDB¶
Used by traditional Minecraft plugins that require SQL.
Connection¶
Databases¶
| Database | Plugin |
|---|---|
luckperms |
LuckPerms permissions |
libertybans |
LibertyBans punishments |
quickshop |
QuickShop chest shops |
plan |
Plan analytics |
Backup Strategy¶
Automated Backups
See Database Backup for backup system details.
Backups are performed by python_scripts/database_backups/backup_script.py:
- Frequency: Daily
- Retention: 7 days local, 30 days S3
- Notification: Discord webhook on completion/failure
Access Patterns¶
From Game Servers¶
Plugins connect directly using credentials in their config files:
# Example: LuckPerms config.yml
storage-method: MariaDB
data:
address: <mariadb-host>:3306
database: luckperms
username: <username>
password: <password>
From Skript¶
MongoDB access via SkMongo addon:
set {_db} to mongo client from "<connection-string>"
set {_collection} to collection "players" from database "tycoon_data" from {_db}