Orchestrating Conductor

Rees Morris

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:

  1. Domain-Specific Orchestration: While Railway excels at general application deployment, Conductor shows how specialised orchestration layers can unlock new use cases.

  2. Template Composition: By leveraging Railway's template system, Conductor can deploy complex, multi-service game server setups with proper networking configuration.

  3. Developer Experience: The combination of tRPC, Prisma, and TypeScript provides end-to-end type safety, making the codebase maintainable and extensible.

  4. 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?

Deploy on Railway

๐Ÿ“ License

MIT - Because great tools should be accessible to everyone.