Introductie
In 2021 ben ik begonnen met het ontwikkelen van een Discord-bot die het beheren van game servers eenvoudiger maakt. Het idee was om een oplossing te bouwen die het mogelijk maakte om servers flexibel te starten en te stoppen, zonder dat daar constant handmatig beheer voor benodigd was.
De bot maakt gebruik van Docker-containers en ondersteunt het draaien van meerdere servers op verschillende machines. Daarmee wordt het voor hobbyisten eenvoudiger is om servers te beheren zonder onnodig hoge kosten of complexiteit te introduceren.
Aanleiding
Ik experimenteer al jarenlang met homelabs en draai daarin allerlei soorten applicaties, van websites tot game servers voor vrienden of kennissen. In 2022 liep ik tegen een praktisch probleem aan: ik wilde meer game servers draaien dan mijn hardware aankon.
In eerste instantie loste ik dit op door extra servers toe te voegen, maar dat bracht nieuwe uitdagingen met zich mee. Game servers gebruiken bijvoorbeeld veel RAM, waardoor de servers al snel vol liepen. Bovendien draaiden er vaak game servers terwijl ze bijna niet gebruikt werden, wat zorgde voor onnodig energieverbruik en uiteindelijk tot resource verspilling.
Omdat ik al veel werkte met Docker, besloot ik mijn servers te koppelen in een Docker Swarm-cluster. Dat hielp om de resources beter te verdelen, maar de cluster was alleen door mijzelf te beheren. Voor gebruikers/spelers van mijn server was er geen eenvoudige manier om zelf servers te starten of te stoppen.
Nu kunnen gebruikers door middel van deze bot zelf via Discord een server starten wanneer ze die nodig hebben, waarna de server ook gestopt kon worden als die niet meer gebruikt hoeft te worden. Dit maakte het beheer makkelijker, de hardware beter benut, en was ook nog eens goed voor de planeet.
Open Source
In augustus 2025 heb ik besloten om dit project open source te maken. Zo kan iedereen die tegen vergelijkbare uitdagingen aanloopt deze bot gebruiken en mogelijk zelfs bijdragen aan de ontwikkeling ervan.
🔗 Broncode: GitHub Repository
Documentatie
Op het moment van schrijven biedt de Discord-bot de volgende functies:
-
Docker-integratie: De bot biedt uitgebreide docker management functionaliteit, waarmee je Docker Swarm-clusters direct vanuit Discord kunt beheren. Serverbeheerders kunnen docker commando's uitvoeren zoals het tonen van alle nodes, het toevoegen van nieuwe nodes aan de cluster of het verwijderen van nodes. Alle commando's zijn alleen beschikbaar voor de eigenaar van de bot wegens veiligheidsredenen.
-
CPU- en geheugenmonitoring: De bot geeft inzicht in het CPU- en geheugengebruik van de master node. Dit helpt beheerders om inzicht te krijgen over huidige toestand van hun server, zodat ze weten wanneer een server op zijn limiet zit.
-
Minecraft serverbeheer: De bot biedt ook server management functionaliteit toe voor Minecraft-servers, wanneer je een Minecraft-server draait in een Docker-container kan de discordbot deze herkennen en voor je beheren. Beheerders en spelers kunnen servers starten, stoppen of opnieuw op laten starten.
Voor de meest actuele en volledige lijst van mogelijkheden, raadpleeg altijd de Documentatiepagina.