Moongate
Ultima Online server emulator in .NET 10 with Lua scripting
Details
- External ID
- 47275236
- Source
- HN
- Company
- —
- Product
- Moongate
- Website domain
- github.com
- Launched
- March 6, 2026
- Cohort
- —
- Upvotes
- 287
- Upvotes percentile
- 0.977859778597786
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:26 p.m.
- Updated at
- Sept. 7, 2026, 9:26 p.m.
Description
I've been building a modern Ultima Online server emulator from scratch. It's not feature-complete (no combat, no skills yet), but the foundation is solid and I wanted to share it early.What it does today: - Full packet layer for the classic UO client (login, movement, items, mobiles) - Lua scripting for item behaviors (double-click a potion, open a door — all defined in Lua, no C# recompile) - Spatial world partitioned into sectors with delta sync (only sends packets for new sectors when crossing boundaries) - Snapshot-based persistence with MessagePack - Source generators for automatic DI wiring, packet handler registration, and Lua module exposure - NativeAOT support — the server compiles to a single native binary - Embedded HTTP admin API + React management UI - Auto-generated doors from map statics (same algorithm as ModernUO/RunUO)Tech stack: .NET 10, NativeAOT, NLua, MessagePack, DryIoc, KestrelWhat's missing: Combat, skills, weather integration, NPC AI. This is still early — the focus so far has been on getting the architecture right so adding those systems doesn't require rewiring everything.Why not just use ModernUO/RunUO? Those are mature and battle-tested. I started this because I wanted to rethink the architecture from scratch: strict network/domain separation, event-driven game loop, no inheritance-heavy item hierarchies, and Lua for rapid iteration on game logic without recompiling.GitHub: https://github.com/moongate-community/moongatev2
Enrichment
- Theme
- Vertical
- Media & entertainment
- Function
- Dev tools
- Audience
- Developer
- AI stance
- Not AI
- Project type
- Hobby / open-source project
- Normalized one-liner
- ultima online server emulator in dotnet
- Manually corrected
- False
Could you build this?
No Writing an MMORPG server emulator from scratch requires deep reverse engineering of complex 1990s binary network protocols, stateful packet encryption, world simulation, and synchronization logic.
What it would actually take: Requires extensive knowledge of legacy binary network protocols, custom packet compression/encryption (Huffman, Twofish/Blowfish used by the UO client), spatial partitioning for tile maps, and high-performance concurrent networking in .NET. Developers must reverse-engineer undocumented game client expectations and maintain precise tick-rate simulation loops alongside Lua embedding.
Discussion
20 comments analyzed.
Competitors mentioned: Old School RuneScape, Stardew Valley, Animal Crossing, Star Citizen, Meridian 59
Concerns raised: Griefing drives away majority of players, Small niche market limits profitability, Game world capacity/scaling challenges with large player counts, Reverse-engineering gameplay from network protocol guesses risks inconsistencies, Players can't learn meta-strategies if rules change too frequently
Feature requests: Multiple computers connecting from same IP address for family play, Safe zones where players cannot be attacked, Single persistent world instead of sharded servers
Competitors
Other products that read as similar to this one — 30 launches clear the similarity bar, closest 8 shown.
Attention rank: #1 of 31 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Launched 98 days after the earliest competitor.
- Server-rendered multiplayer games with Lua (no client code) · hn · 2026-01-04 · 85 upvotes · similarity 0.48
- I made a 2D Lua game engine using Rust with code and asset live reload · hn · 2026-05-19 · 30 upvotes · similarity 0.43
- Lunar, a "fast", memory-efficient Lua 5.1 VM written in Go · hn · 2026-08-03 · 8 upvotes · similarity 0.43
- Katipo is a minimal alternative internet with a Vulkan based browser · hn · 2026-02-16 · 5 upvotes · similarity 0.41
- Lumina · hn · 2026-01-25 · 6 upvotes · similarity 0.39
- Lunar, a coding harness extensible with Lua · hn · 2026-08-21 · 5 upvotes · similarity 0.38
- Bodge.app · hn · 2025-11-28 · 8 upvotes · similarity 0.36
- Buncha Games · ph · 2026-09-18 · 59 upvotes · similarity 0.35
Other launches for this product
- No other launches for this product.
Same idea, different domain
Nobody's really built a dev tools tool for Sales yet.