Sunblock
Built solar-powered server infrastructure for a Minecraft community — reduced energy costs while keeping 200+ concurrent players online with zero downtime.
Visit project
The Problem
Most conversations about sustainability in gaming stay abstract — pixel-art solar panels, in-game "eco" quests, thematic messaging. None of it connects to the actual energy powering the experience. We wanted to change that by making the energy infrastructure behind a Minecraft server tangible and playable.
SunBlock is a solar-powered Minecraft server at the Milieux Institute, Concordia University. The core question: what happens when real solar energy constraints directly shape the game world?
What We Built
The system uses a three-layer architecture:
-
Physical Layer — A 100W solar panel, EPEVER MPPT charge controller, and 100Ah LiFePO4 battery power an ODroid H4+ server (48GB DDR5, 1TB NVMe). The SunBlockCore-PL module reads real-time energy data from the charge controller over RS45.
-
Logical Layer — A Python service interfaces with the solar hardware, feeding data into SunBlockExpress (Node.js/Express with Socket.io). Energy metrics are stored in SQLite and exposed via a REST API. A React status page gives players a real-time dashboard of the server's energy state.
-
Game Layer — A custom Java mod (SunBlockCore-GL) running on Forge 1.20.1 translates energy data into in-game effects. When solar production drops, the world responds — weather changes, resources shift, gameplay adapts.
Technologies
Java (Forge Mod), Python, Node.js, Express.js, Socket.io, React, SQLite, Ubuntu Server, CubeCoders AMP, RS45 serial communication, MPPT solar charge control.
Outcome
The server ran a full survival multiplayer season from May through July 2025 with zero unplanned downtime. Players experienced energy constraints as a gameplay mechanic rather than a message — when clouds rolled in over Montreal, the game world responded in real time. The project demonstrated that sustainable infrastructure can be a design material, not just a theme.