Orchestrating Conductor
Rees Morris ยท 11 Aug, 2025
Game server hosting has always been a complex dance of port management, resource allocation, and deployment orchestration. While Railway provides an excellent platform for deploying applications, managing multiple game server instances - each with their own configurations, ports, and resource requirements - requires a specialised control layer that understands the unique needs of game hosting.
Conductor bridges this gap by providing a purpose-built orchestration platform that leverages Railway's powerful infrastructure while abstracting away the complexities of game server management.
What is Conductor?
Conductor is a deployment orchestration platform specifically designed for managing game servers on Railway. Think of it as your personal train dispatcher - coordinating multiple game server "trains" running on Railway's infrastructure tracks.
Built during the 2025 Railway Hackathon, Conductor transforms Railway from a general-purpose deployment platform into a specialised game server hosting powerhouse.
Key Features
1. One-Click Game Server Deployment
- Deploy popular game servers (starting with Minecraft) directly to Railway with a single click
- Pre-configured Railway templates for optimal performance
- Automatic TCP proxy configuration for game connectivity
2. Railway-Native Integration
- Direct integration with Railway's GraphQL API
- Template deployment using Railway's v2 mutation system
- Service lifecycle management (create, monitor, delete)
- TCP proxy management for game server connections
3. Enterprise-Ready Architecture
- Secure authentication with Better Auth
- PostgreSQL for persistent data storage
- Redis for session management and caching
- MinIO for S3-compatible file storage (game saves, configurations)
4. With much more to come
- Support for multiple game types (CS:GO, Valheim, Terraria, etc.)
- Automatic backups and restore functionality
- Player analytics and reporting
- Mod management for popular games
Technical Architecture
Conductor is built as a modern monorepo using cutting-edge technologies:
Frontend (Panel)
- Next.js 15 with App Router for optimal performance
- React 19 with Server Components
- Panda CSS for type-safe styling
- tRPC for end-to-end type safety
- React Query for efficient data fetching
- Zustand for state management
- Internationalization support with next-intl
Backend (API)
- Hono - Ultra-fast web framework running on Bun
- tRPC server for type-safe APIs
- Better Auth for authentication
- Prisma ORM with PostgreSQL
- GraphQL client for Railway API integration
- Pino for structured logging
Infrastructure
- Docker Compose for local development
- Caddy as reverse proxy
- PostgreSQL for data persistence
- Redis for caching and sessions
- MinIO for object storage
- Turborepo for monorepo management
How It Works
1. Initial Setup
Users deploy Conductor to Railway using the one-click template. The setup process:
- Provisions PostgreSQL, Redis, and MinIO services
- Generates secure environment secrets for authentication
- Sets up the Railway API integration
2. Railway API Integration
Conductor connects to Railway using a user's Personal Access Token (PAT). This allows it to:
- Create and manage Railway projects and environments
- Deploy game server templates
- Monitor deployment status and manage resources
- Handle TCP proxy configurations for game connections
The integration enables:
// Deploy a game server template
const deployment = await railwayService.deployTemplateV2({
templateId: game.railwayTemplateId,
serializedConfig: config,
projectId: selectedProject.id,
environmentId: selectedEnvironment.id
});
// Monitor deployment status
const status = await railwayService.getWorkflowStatus(workflowId);
// Manage TCP proxies for game connections
const proxies = await railwayService.getTcpProxies(environmentId, serviceId);
3. Game Server Lifecycle
- Deploy: Select game type โ Configure settings โ Deploy to Railway
- Monitor: Real-time status updates, resource usage, player connections
- Manage: Start/stop servers, update configurations, manage backups
- Scale: Deploy multiple instances across different regions
Impact & Innovation
Conductor demonstrates several innovative approaches:
-
Domain-Specific Orchestration: While Railway excels at general application deployment, Conductor shows how specialised orchestration layers can unlock new use cases.
-
Template Composition: By leveraging Railway's template system, Conductor can deploy complex, multi-service game server setups with proper networking configuration.
-
Developer Experience: The combination of tRPC, Prisma, and TypeScript provides end-to-end type safety, making the codebase maintainable and extensible.
-
Modern Stack Showcase: Utilizing Bun, Hono, and React 19, Conductor demonstrates Railway's ability to host cutting-edge technology stacks.
Future Roadmap
Post-hackathon, I hope to continue developing Conductor with the following features:
- Multi-Game Support: CS:GO, Valheim, Terraria, and more
- Mod Management: Easy installation and management of game mods
- Player Analytics: Track player activity, generate reports
- Automated Backups: Scheduled backups to S3-compatible storage
- Multi-Region Deployment: Deploy servers across Railway regions
- API Marketplace: Allow developers to create custom game integrations
- Cost Optimization: Automatic scaling based on player activity
Deploy Your Own
Ready to conduct your own game server orchestra?
๐ License
MIT - Because great tools should be accessible to everyone.