The goal of this project is to build a cloud-hosted game server platform on Azure.
Current implementation focuses on:
- Infrastructure as Code
- Security
- Monitoring
- Observability
Future implementation will provide:
- Web dashboard
- Discord integration
- Automated game server management
- Modular Bicep deployment
- Parameter-driven configuration
- Repeatable deployments
- Virtual Network (VNet)
- Dedicated subnet
- Network Security Group (NSG)
- Public IP assignment
- Ubuntu Linux Virtual Machine
- Managed Identity enabled
- Automated deployment
- Azure Key Vault integration
- Secrets stored securely
- Key Vault RBAC permissions
- Managed Identity access to secrets
- Azure Monitor Agent (AMA)
- Log Analytics Workspace
- Data Collection Rule (DCR)
- Syslog collection
- Centralised monitoring
- Virtual Network
- Subnet
- Network Security Group
- Public IP Address
- Ubuntu Virtual Machine
- Managed Identity
- Azure Key Vault
- Log Analytics Workspace
- Azure Monitor Agent
- Data Collection Rule
- Data Collection Rule Association
bicep/
├── Deploymain.bicep
├── modules/
│ ├── vm.bicep
│ ├── vnet.bicep
│ ├── nsg.bicep
│ ├── keyvault.bicep
│ ├── DCR.bicep
│ └── loganalytics.bicep
└── params/
- Azure Infrastructure as Code (Bicep)
- Azure Virtual Machines
- Virtual Networking
- Network Security Groups
- Azure Key Vault
- Managed Identities
- Azure Monitor
- Log Analytics
- Data Collection Rules
- Azure RBAC
- Monitoring and Observability
Develop a web-based dashboard to:
- View server status
- Display monitoring metrics
- View logs and alerts
- Manage hosted game servers
Develop a Discord bot and API integration to:
- Query server status
- Display player counts
- Start and stop services
- Receive monitoring alerts
- Performance counters
- Custom log ingestion
- Azure alerts and action groups
=======
A fully automated, self-hosted multiplayer game server platform built using Docker, virtualisation, and Discord integration.
This project provides a centralised system for hosting and managing multiple game servers on demand.
Users can start and stop servers directly from Discord, while the system automatically shuts down idle servers to conserve resources.
-
Docker Containers
- Project Zomboid
- Valheim
- 7 Days to Die
-
Windows VM (KVM/QEMU)
- DCS World Server
- Sons of the Forest
-
Discord Bot (Python)
- Server start/stop commands
- Player monitoring
- Idle shutdown automation
- Status reporting
- Multiple dedicated game servers running in containers and VM
- Start/stop servers via commands
- Real-time player monitoring
- Automated notifications
- Auto shutdown when servers are empty
- Reduces unnecessary CPU/RAM usage
- Domain + port forwarding
- LAN + public access
- Secure remote access
- Game data stored on host filesystem
- Survives restarts and updates
- SteamCMD integration for server updates
- Prometheus for metrics collection
- Grafana dashboards for real-time insights
- Track CPU, RAM, server uptime, and player activity
game-server-platform/ ├── bot/ # Discord bot ├── vm/ # VM config + README ├── docker/ # (current game containers 👇) │ ├── 7days2die/ │ ├── valheim/ │ └── zomboid/ ├── scripts/ # host scripts ├── automation/ # Crontab ├── images/ # diagrams/screenshots ├── docs/ # rebuild └── README.md
- Containerisation (Docker)
- Virtualisation (KVM/QEMU)
- Automation (Discord bot + scripts)
- Networking (ports, routing, remote access)
- Infrastructure as Code
- Linux host (Ubuntu recommended)
- Docker + Docker Compose
- KVM/QEMU with libvirt
- Windows VM (for DCS/SOTF)
- Discord bot token
- Game files are not included (SteamCMD required)
- VM images are not included
- Secrets and environment variables are excluded
This project demonstrates a fully automated, self-hosted game infrastructure capable of dynamically managing multiple multiplayer servers with minimal manual intervention.











