NTServer (NTS)
Hey everyone! 👋
For a while now, My friends have been working on a custom, open-source Game Server Architecture for NosTale. Instead of just tweaking existing frameworks, the team decided to build a completely new server core from scratch in modern C++. Our goal is to create a highly optimized, low-latency foundation that closely mimics the official client's underlying mechanics, and we’d love for you to come see it in action!
Under the Hood: Performance & Tech
The developers wanted to take a completely different approach to how a NosTale server handles data, networking, and memory. Because it's written in native C++, we don't have to deal with Garbage Collection (GC) stutters, and the execution is incredibly smooth.
Here are some of the performance stats the guys have managed to pull off so far:
- Extremely Lightweight: A single World Server channel consumes only about ~60 MB of RAM (compared to the ~430MB+ normally seen on C# projects).
- IOCP Async Networking: We are using highly scalable asynchronous networking. A world channel runs on just 7 to 8 active threads, virtually eliminating CPU context-switching overhead.
- Database Speeds: Our database write batching is incredibly fast. In our recent benchmarks, we successfully flushed and saved 1,000 new characters to the database in just 32 milliseconds (0.032 ms per character).
- Native .DAT Parsing: NTS parses the original Entwell `.dat` files directly. The server reads the exact same data as the client, ensuring perfect parity for stats, items, and map data.
To manage all this, we also built our own **NTMonitor - Cluster Remote Operator**. It’s a custom GUI tool that lets us monitor RAM usage, remotely start/stop individual nodes (Database, Login, World Channels), and send global broadcast announcements instantly.
Pros & Cons
We want to be totally transparent, building in C++ isn't for everyone. It has a steeper learning curve, and it requires a more dedicated setup (MySQL, custom configs). But in exchange, it gives us an authentic retail-like core with 100% accurate formulas and unmatched scalability.
Where We Are At Right Now
The foundational MMORPG systems (Login, Movement, Map Sync, etc.) are fully working. Here is a look at where our core gameplay features currently stand:
- Combat Engine: We have achieved a 1:1 damage algorithm identical to the official server.
- Party (Group) System: 100% finished (including EXP sharing and loot tracking).
- BCard Effects: Almost completed; fully integrated with native client data.
- Instant Combats: 100% finished with fully scripted spawns and waves.
- TimeSpaces: Functional and utilizing the native Entwell scripts just like official, but currently undergoing some final polish.
- Raids: Fully done.
Come Hang Out & Help Us Test!
Whether you are a developer interested in tackling backend architecture, a game designer, or simply a player who wants to jump in, break things, and help us find bugs :D we want you in the community.
We are actively looking for testers and people to just chat with about the project's direction.
Join our Discord and come say hi:
[Only registered and activated users can see links. Click Here To Register...]