Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting
An open-source Ultima Online server written in modern .NET with Lua scripting is rekindling interest in classic MMORPG design and private “shard” communities. Commenters highlight the project’s clean architecture, use of NativeAOT, and AI-assisted tooling, while reminiscing about UO’s emergent gameplay, harsh PvP, and player-driven economies that modern MMOs rarely replicate. The thread also touches on terminology debates around “server emulators,” legal and client-compatibility questions, and how UO-inspired projects continue to shape both hobbyist development and contemporary MMO experiments.
Project & Tech Stack
- Built as a modern Ultima Online server in .NET (current versions) with Lua scripting via MoonSharp.
- Uses NativeAOT to produce a single native binary for fast startup, predictable performance, and simple deployment (e.g., Docker).
- React-based admin UI was largely generated with AI assistance; developer dislikes front-end work.
Networking, Sectors & Performance
- World is partitioned into sectors with delta-based synchronization.
- When entering a sector, only newly visible sectors are synced; nearby sectors may be fully refreshed due to client view limitations.
- Outgoing packets are queued so the main loop isn’t blocked, but packet bursts in busy areas are still an open tuning problem; ideas like prioritization and spreading sync over multiple ticks are on the roadmap.
- Other developers compare/contrast with their own frustum or partition-based approaches.
AI Tools in Development
- AI (e.g., “Codex” / ChatGPT-like tools) used heavily for tests, boilerplate, and React UI.
- Some skepticism about using AI even for community interaction; project owner clarifies direction and design are human-led, with AI as a coding assistant.
Nostalgia & MMO Design Discussion
- Strong nostalgia for UO-era private shards and tools (Sphere, UOX3, RunUO, ModernUO, etc.); many credit UO emulator tinkering with sparking their programming careers.
- Long discussion of UO’s unique qualities: open PvP, true loss, bugs treated as features, housing in the shared world, rich emergent stories, and “commoner” roles like bakers, miners, decorators, and tamers.
- Comparisons drawn to EVE Online, Star Wars Galaxies, Tibia, Haven and Hearth, and UO Outlands; sentiment that most modern MMOs are safer, more “theme park,” and more homogenized.
Griefing, Risk & Player Culture
- Debate over whether UO-style freedom and griefing produced magic or simply drove away most players.
- Some argue high-risk shared worlds are culturally and commercially untenable now; others believe the loss of friction killed the genre’s depth.
Recreating UO Today
- Many doubt the original experience can truly be recreated due to modern player expectations, ubiquitous guides, and market pressures.
- Nonetheless, there is clear enthusiasm for hosting family shards, niche servers, or experimental worlds.
Terminology & Legal Concerns
- Extended debate over “server emulator” vs. “server” or “protocol reimplementation”; some see “emulator” as technically misused but culturally entrenched in MMO circles.
- IP risk is raised but others note UO emulators have existed since the late 1990s without aggressive takedowns, and may even help keep interest in the original game alive.
Future Ideas
- Interest in plugging LLM-driven NPCs into Lua, giving merchants and quest-givers dynamic dialogue, memory, and world-altering interactions.
- Suggestions for tutorials and “family-friendly” presets (e.g., faster skill gain, low-grief settings) for casual/private servers.