Zoals ik reeds vertelde in een andere topic spelen mijn kinderen (5 en 6 jaar) op zondag Minecraft.
Ik host zelf 3 privé Minecraft servers thuis zodat ze wat variatie hebben in de wereld / add-ons enz.
Mijn zoon speelt als “Steve”. Mijn dochter als “Alex”. Dat zijn de avatars die je op de screenshots ziet.
Wanneer ze spelen vragen ze vaak:
- Papa, teleporteer mij eens bij zus.
- Papa, zet mijn game mode eens op “creative” (bouw-modus).
- Papa, zet het eens op dag / nacht.
Daaruit is mijn idee ontstaan om een nieuwe app te maken voor mijn Google Nest Hub: Minecraft RCON.
Et voila:
Op de Google Nest Hub:
Technische details:
-
Lokale Minecraft server hosting met Crafty Controller. Waardoor ik ook API’s heb om commando’s naar de servers te sturen.
-
Ik draai een VM in m’n homelab met het Cast All The Things python script. Via
catt cast_site https://en.wikipedia.org/wiki/Rickrolling
kan je een website laden op je Google Nest Hub. -
Frontend in React met wat tailwindUI. Buttons lanceren calls naar de backend app.
-
Backend Node.js express app met een endpoint om de commando’s van de frontend te ontvangen en dan volgende acties uit te voeren:
- Access token aanmaken voor Crafty Controller.
- Server lijst ophalen met player count. Ze spelen altijd samen dus ik moet gewoon de server vinden met meer dan 0 spelers. Die ServerID gebruiken in de volgende call.
- Afhankelijk van het gevraagde commando een API call sturen naar Crafty Controller.
-
Met Home Assistant kunnen we de app starten op 1 van onze Google Nest Hubs.
Home Assistant -> CATT -> Frontend -> Backend -> Crafty Controller
Job’s done!
Nu kunnen ze alles zelf doen!