Introduction
Oyasai Server Platform is a comprehensive infrastructure platform for managing the Oyasai Minecraft server. Built as a monorepo, it provides unified management of plugins, infrastructure configurations, and web applications using Nix flakes for reproducible builds and deployments.What is Oyasai Server Platform?
Oyasai Server Platform is an integrated development and deployment environment that leverages Nix’s reproducibility guarantees to manage:- Custom Minecraft plugins written in Kotlin for the Purpur server
- Server configurations with declarative Nix expressions
- Infrastructure as code using Terraform and Docker
- Development tooling with consistent environments across all contributors
Key Features
Declarative Server Configs
Define Purpur server configurations in Nix with version pinning, plugin management, and automated setup
Plugin Development
Build and test Kotlin plugins with Gradle integration and automated dependency management
Reproducible Builds
Nix flakes ensure identical builds across development, CI, and production environments
Unified Tooling
Single development shell with Java, Gradle, Node.js, Terraform, and all required tools
Architecture Overview
The platform is structured as a Nix-based monorepo:Core Technologies
- Nix Flakes: Reproducible package management and build system
- Gradle: Build automation for Kotlin plugins with gradle2nix integration
- Purpur: Minecraft server fork based on Paper with additional features
- Kotlin: Plugin development language
- Terraform: Infrastructure as code for deployment
Current Plugins
The platform includes several custom plugins:- DynamicProfile: Player profile management
- EntityPose: Entity positioning utilities
- OyasaiAdminTools: Administrative tools for server management
- OyasaiPets: Pet system implementation
- OyasaiUtilities: Core utilities used across the server
- PaintTools: Building and creative tools
- SocialLikes3: Social interaction system
- SocialVotes: Voting system
- TPswitch: Teleportation utilities
- Vertex: Additional server features
Server Configurations
The platform includes pre-built server configurations:Who Is This For?
Plugin Developers
If you’re developing custom Minecraft plugins for Oyasai server, this platform provides a complete development environment with hot-reloading capabilities and automated builds.Infrastructure Engineers
Manage server deployments declaratively with Nix, ensuring consistent environments from development to production.Contributors
The platform enforces code formatting, conventional commits, and automated testing through CI, making contributions straightforward and reliable.Windows users should use WSL (Windows Subsystem for Linux) for development. All work must be done inside the WSL environment.
Next Steps
Quickstart
Set up your development environment and run your first server
Plugin Development
Learn how to build and test Minecraft plugins
Server Configuration
Create custom server configurations with Nix
Contributing
Learn about code standards and contribution workflow