Purpur Server
Oyasai uses Purpur, a highly customizable Minecraft server implementation based on Paper.Why Purpur?
- High performance with extensive optimization
- Full compatibility with Paper and Spigot plugins
- Additional gameplay features and configuration options
- Active development and community support
Running a Test Server
You can either manually set up a Purpur server or use the platform’s built-in infrastructure.Option 1: Platform-Managed Server (Recommended)
The platform includes a minimal server configuration that you can use for testing.Run the Minimal Server
- Downloads Purpur 1.21.8
- Configures the server with essential plugins
- Creates a
local/directory for server files - Starts the server
The first run will take time to download the server and plugins. The server files persist in the
local/ directory.Included Plugins
The minimal server includes:- EssentialsX - Core server commands and features
- FastAsyncWorldEdit - World editing tool
- PlugManX - Plugin management
Option 2: Custom Server Configuration
You can create your own server configuration to test specific plugins or settings.Create a configuration file
Create a new Nix file in
packages/ directory, for example packages/my-test-server.nix:Register in oyasai-scope.nix
Open
nix/oyasai-scope.nix and find the section where other servers are defined (search for oyasai-minecraft-minimal).Add an entry for your server:Server Configuration Details
Server Version
Theversion field specifies the Minecraft version:
Server Directory
Thedirectory field specifies where server files are stored:
local/ directory in your project root containing:
- World data
- Server configuration files
- Plugin data and configs
- Logs
The directory is created automatically on first run. You can customize settings by editing files in this directory.
Testing Your Plugins
To test plugins you’ve built:Server Management
Stopping the Server
In the server console, type:Server Console Commands
Common commands for testing:reload confirm- Reload all pluginsplugins- List loaded pluginshelp- Show available commandsop <player>- Grant operator permissionsgamemode creative <player>- Set creative mode
Logs and Debugging
Server logs are stored in:Docker Deployment
The platform supports building Docker images for deployment.Available Images
Linux systems can build Docker images for:- Minecraft servers
- MariaDB database
- Backup services
Building Docker Images
Build a specific Docker image:Docker image building is only available on Linux systems due to platform-specific dependencies.
Production Deployment
For production deployment:- Use Nix flakes to ensure reproducible builds
- Build Docker images for containerized deployment
- Use infrastructure-as-code (Terraform) for cloud deployment
- Follow security best practices for production servers
Deployment Best Practices
- Version Control: Always commit working configurations
- Incremental Testing: Test plugins individually before combining
- Backup Worlds: Keep backups of test world data
- Monitor Performance: Watch for memory leaks or performance issues
- Review Logs: Check logs after each test session
Troubleshooting
Server Won’t Start
Check:- Port 25565 is not already in use
- Sufficient disk space in the server directory
- Valid plugin configurations
- Server logs for error messages
Plugin Not Loading
Verify:- Plugin JAR is in
local/plugins/directory - Plugin is compatible with server version
- No conflicting plugins
- Plugin dependencies are installed
Performance Issues
Try:- Reduce view distance in
server.properties - Allocate more memory to the JVM
- Disable unnecessary plugins
- Profile with
/timingscommand
Next Steps
- Review the Contributing Guide
- Explore plugin source code in
plugins/directory - Join the development community
- Submit pull requests with your improvements