SERVICES AND INFRASTRUCTURE Updated August 8, 2026 --- PUBLIC SERVICES ---------------------------- Random Steam Game Picker https://randomsteam.kgivler.com/ A fast random game picker for public Steam libraries. It resolves a Steam account, loads the user's owned games, applies filters and exclusions, and selects a random game. --- ECHO --------------------------------------- HappyEcho echo.kgivler.com TCP port 7 A modern implementation of the classic Echo protocol. Every byte sent to the server is returned unchanged. Try it: printf "hello\r\n" | nc echo.kgivler.com 7 --- DISCARD ------------------------------------ HappyDiscard discard.kgivler.com TCP port 9 A modern implementation of the classic Discard protocol. The server accepts incoming bytes and intentionally throws them away without returning a response. Try it: printf "throw this away\r\n" | nc -w 2 discard.kgivler.com 9 --- DAYTIME ------------------------------------ HappyDaytime daytime.kgivler.com TCP port 13 An implementation of the RFC 867 Daytime protocol. Each connection receives the current server time and is then closed. Try it: nc daytime.kgivler.com 13 --- QUOTE OF THE DAY --------------------------- HappyQOTD qotd.kgivler.com TCP port 17 HTTP API: https://qotd-api.kgivler.com/api/quotes/today A Quote of the Day service with both a classic TCP endpoint and an HTTP JSON API. The TCP service and API return the same persisted quote for the current UTC day. Try it: nc qotd.kgivler.com 17 WARNING: This instance uses my personal, unfiltered quote collection. Most quotes are programming-related, but some contain strong or obscene language or discuss suicide and other sensitive subjects. --- GOPHER ------------------------------------- HappyGopher gopher://gopher.kgivler.com/ TCP port 70 A Gopher server written in C# and .NET. It serves menus, text files, downloads, and compiled dynamic pages. This gopherhole is running on it right now. Try it: curl gopher://gopher.kgivler.com/ --- FINGER ------------------------------------- HappyFinger finger.kgivler.com TCP port 79 A Finger protocol server with file-backed records, traditional .plan support, and Random Steam Game integration. A public 17-digit Steam ID can be used as the Finger username to receive a random game recommendation. Try it: finger kyle@finger.kgivler.com finger [STEAM_ID]@finger.kgivler.com Get a random steam game from my library: finger 76561197988408972@finger.kgivler.com --- MISSION CONTROL ---------------------------- Mission Control is my small event-driven observability system used by the Happy services and several other projects. Mission Control Gateway Receives integration events and signed GitHub webhooks, validates them, and publishes a common event envelope to RabbitMQ. Mission Control Archive Consumes the complete Mission Control event stream and stores a durable SQLite history of received events. Mission Control GitActivity Consumes GitHub push events and creates a sanitized, website-friendly view of recent commit activity stored in SQLite. RabbitMQ Routes Mission Control events through a topic exchange to independent durable consumers. --- OPERATIONS AND MONITORING ------------------ Beszel A private dashboard for host and container CPU, memory, network usage, uptime, and status. Uptime Kuma Performs scheduled availability checks against websites, APIs, and classic protocol services. --- INFRASTRUCTURE ----------------------------- Most of these services run in Docker on a small VPS in Staten Island, New York. The Happy protocol servers are primarily written in C# and .NET and share infrastructure through JoyfulReaperLib. Most publish best-effort operational telemetry to Mission Control. Public services are exposed selectively. Administrative dashboards, message broker interfaces, internal APIs, and most Mission Control components remain private. --- CURRENTLY EXPERIMENTING WITH --------------- HappyGemini A Gemini server is currently under development as the next step in my old-protocol and smolweb experiments. Nothing live yet! If that goes well, HappySpartan may eventually follow. .