Skip to content

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

Host: <mongodb-host>
Port: 27017

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 settings
  • members - Member data
  • giveaways - Active giveaways
  • modlogs - Moderation logs
  • suggestions - Suggestion system

autodonate database

  • pending_donations - Unprocessed donations
  • completed_donations - Processed donations

MariaDB

Used by traditional Minecraft plugins that require SQL.

Connection

Host: <mariadb-host>
Port: 3306

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}

From Website

// Next.js MongoDB connection
import { MongoClient } from 'mongodb';

const client = new MongoClient(process.env.MONGODB_URI);