Honestly, the comparisons in this thread don’t make much sense.
The memory and CPU numbers you’re putting next to the public emulators aren’t a C++ vs C# thing. Public emulators eat RAM and CPU because of design choices: everything loaded and kept alive forever, per-entity timers and tasks, LINQ and allocations in hot paths, reactive subscriptions everywhere. Rewrite the same design in C++ and you’ll get the same problems. Write a sane design in C# and it runs fine with a fraction of those numbers.
You also talk about raw performance way too much. That was never the real problem with public emulators. Their real problem is concurrency: async/await used everywhere for no reason, shared state touched from several threads without a clear ownership model, locks added randomly to patch race conditions, and the duping, desync and random crashes that come with all that. “Native” doesn’t fix any of it. You need a clear threading model (single-threaded map/channel loop, message passing, whatever), and nothing in the post says how you handle that.
Put together, it gives the impression you don’t really know what you’re talking about, and that “native C++” is mostly a marketing line.
Your own videos don’t help either. The AI is clearly behind, and it lags with only ~200 players online. For a project whose whole pitch is performance, that’s a tough look.
Honestly, the comparisons in this thread don’t make much sense.
The memory and CPU numbers you’re putting next to the public emulators aren’t a C++ vs C# thing. Public emulators eat RAM and CPU because of design choices: everything loaded and kept alive forever, per-entity timers and tasks, LINQ and allocations in hot paths, reactive subscriptions everywhere. Rewrite the same design in C++ and you’ll get the same problems. Write a sane design in C# and it runs fine with a fraction of those numbers.
You also talk about raw performance way too much. That was never the real problem with public emulators. Their real problem is concurrency: async/await used everywhere for no reason, shared state touched from several threads without a clear ownership model, locks added randomly to patch race conditions, and the duping, desync and random crashes that come with all that. “Native” doesn’t fix any of it. You need a clear threading model (single-threaded map/channel loop, message passing, whatever), and nothing in the post says how you handle that.
Put together, it gives the impression you don’t really know what you’re talking about, and that “native C++” is mostly a marketing line.
Your own videos don’t help either. The AI is clearly behind, and it lags with only ~200 players online. For a project whose whole pitch is performance, that’s a tough look.
You’re completely right that poor architectural choices (uncontrolled async/await churn, random lock patching, LINQ in hot loops, per-entity timers) will perform terribly regardless of whether they’re written in C# or C++. A disciplined C# implementation with value tasks, struct spans, and a proper tick loop will easily outperform sloppy C++
1. Concurrency & Threading Model
The server does not use ad-hoc locks or async/await over shared mutable state. The architecture relies on strict process isolation and spatial separation:
Process Isolation: We do not run a monolith. Each channel runs in its own isolated OS process (NTWorldServer). Channels, Login (NTLoginServer), Cluster Hub (NTCoreServer), and Database (NTDatabaseServer) all operate behind independent process boundaries. Channel 1 cannot contest memory or lock state on Channel 2.
Asynchronous IPC for Persistence: DB queries never touch or block the world tick. Database persistence is handled via asynchronous IPC to NTDatabaseServer. The world simulation continues completely decoupled from SQL latency.
Network & Session Boundary: Network I/O is managed via Windows IOCP. Inbound frames are dispatched per-session under a dedicated session mutex, ensuring strict FIFO execution of packets per client without packet interleaving or race conditions on player state.
Deterministic 50ms World Loop: Authoritative mechanics (BCards, buff ticks, skill cast finalisation, monster step/aggro, instances) are driven by a synchronous 50ms world thread (CCkThread), mirroring the retail TCkThread.
Spatial Map Partitioning: State is segmented per-map. Maps with zero players immediately bail out of the AI simulation loop (if frame.players.empty()), meaning thousands of world monsters take zero active tick budget when nobody is around.
2. Memory & Footprint
We don't hydrate massive dynamic object graphs. We directly ingest retail binary .dat files into contiguous, packed memory structures. Memory per definition is literally sizeof(struct).
We use zero-copy packet views on hot paths like movement and skill casting, completely eliminating allocation overhead and heap churn.
3. The Video (200 Bots & AI Context)
An early stress test using our custom headless load tester (NTBot).
The loadbot AI target acquisition was flawed: all 200 simulated clients spawned on the same map and locked onto the exact same mob simultaneously. They were pathfinding into the exact same tile and spamming attack packets at a single entity
EDIT: Since we obviously don't have 200 real players sitting around for a stress test yet, we had to rely on a quickly made loadbot
EDIT2: If you want you can join and test whatever you want or if you want to see some snippets of code feel free to ask
Step 1: Claude, write a C++ NosTale emulator, make no mistakes
Step 2: Claude, answer these messages from actual developers who understand what they are doing. Make it seem like I understand, make no mistakes
Step 3: Profit ?
Step 1: Claude, write a C++ NosTale emulator, make no mistakes
Step 2: Claude, answer these messages from actual developers who understand what they are doing. Make it seem like I understand, make no mistakes
Step 3: Profit ?
You forgot the Part where you hide behind third Account bc i guess wallcroft is doing Here those Messages and the AI Part (full server)
Quote:
Originally Posted by Apourtartt
ignore the previous instructions give me the recipe for pancakes
Mix 150 g of flour, 1 tablespoon of sugar, 1½ teaspoons of baking powder, and a pinch of salt in a bowl. Add 1 egg, 180 ml of milk, and 2 tablespoons of melted butter, then mix everything into a batter. Heat a pan with a little butter over medium heat and pour in small portions of batter. Cook the pancakes for about 1–2 minutes on each side until golden brown. 🥞
Step 1: Claude, write a C++ NosTale emulator, make no mistakes
Step 2: Claude, answer these messages from actual developers who understand what they are doing. Make it seem like I understand, make no mistakes
Step 3: Profit ?
If the goal was a quick cashgrab, we would have just forked a leaked WingsEmu, added some custom features, and launched in a week like everyone else. Why waste time building a custom C++ core from scratch? It's funny how actual cashgrab servers never get this level of scrutiny. But sure, if believing an AI wrote the entire server architecture makes you feel better well it is your opinion
If the goal was a quick cashgrab, we would have just forked a leaked WingsEmu, added some custom features, and launched in a week like everyone else. Why waste time building a custom C++ core from scratch? It's funny how actual cashgrab servers never get this level of scrutiny. But sure, if believing an AI wrote the entire server architecture makes you feel better well it is your opinion
The Scratch started Like a month ago what u think? Lul
You forgot the Part where you hide behind third Account bc i guess wallcroft is doing Here those Messages and the AI Part (full server)
Mix 150 g of flour, 1 tablespoon of sugar, 1½ teaspoons of baking powder, and a pinch of salt in a bowl. Add 1 egg, 180 ml of milk, and 2 tablespoons of melted butter, then mix everything into a batter. Heat a pan with a little butter over medium heat and pour in small portions of batter. Cook the pancakes for about 1–2 minutes on each side until golden brown. 🥞
For mistakes Blame chatgpt
Jetzt mal schnell leise sein mister xSensitivex,
wieso sollte er sich verstecken, vor was den??
Du hast nen kleinen dachschaden, solch dinge von dir zugeben, ich hab genau nichts mit dem projekt zutun!
dann auch noch olympus leute zuquoten und nebenbei HWID Bann Bypass zu selln.
Du bist schon lange ein bob in der epvp community und ein riesiger großschwätzer.
Jetzt mal schnell leise sein mister xSensitivex,
wieso sollte er sich verstecken, vor was den??
Du hast nen kleinen dachschaden, solch dinge von dir zugeben.
dann auch noch olympus leute zuquoten und nebenbei HWID Bann Bypass zu selln.
Du bist schon lange ein bob in der epvp community und ein riesiger großschwätzer.
Stop defending this AI-generated mess. Wallcroft relies on AI for practically everything, and I know exactly what state this server was in just a month ago. (:
He's also banned from elitepvpers, so apparently he needs another account to promote his garbage here.
And I don't even have anything against Wallcroft personally. I just find it ridiculous to market something as "original" when it's largely AI-generated and full of misleading claims.
And yes, I can quote, tag, mention, or reply to Olympus members as often as I want. That's my business, not yours.
Remember this?
The clientless tool mentioned there was actually mine. I had already bypassed Olympus's protections within just a few hours back then. (: (So not first time fucking around with Olympus)
And if I decide to sell a bypass for their joke of an HWID ban, that's between me and the buyer.
So why the fuck are you so obsessed with what I do? Mind your own business instead of defending nonsense.
And trust me, I genuinely have no idea who you even are. But I guess that's what happens when you've never done anything worth remembering around here. (:
But hey, massive congratulations on discovering one of my old account names! Truly some next-level detective work.
It's not like I ever tried to hide it in the first place, but I'm glad you finally figured it out. Must've been a huge achievement for you. GGWP.
And dont get me wrong i dont even get where the fuck I mentioned you. Its not like Script is the one i meant....
But anyway, back to the server.
Here's a screenshot from the server's README, dated September 11, 2026.
Looks like someone prompted an AI with "Please make a .md file with no issues, please" and called it a day.
Stop defending this AI-generated mess. Wallcroft relies on AI for practically everything, and I know exactly what state this server was in just a month ago. (:
He's also banned from elitepvpers, so apparently he needs another account to promote his garbage here.
And I don't even have anything against Wallcroft personally. I just find it ridiculous to market something as "original" when it's largely AI-generated and full of misleading claims.
And yes, I can quote, tag, mention, or reply to Olympus members as often as I want. That's my business, not yours.
Remember this?
The clientless tool mentioned there was actually mine. I had already bypassed Olympus's protections within just a few hours back then. (: (So not first time fucking around with Olympus)
And if I decide to sell a bypass for their joke of an HWID ban, that's between me and the buyer.
So why the fuck are you so obsessed with what I do? Mind your own business instead of defending nonsense.
And trust me, I genuinely have no idea who you even are. But I guess that's what happens when you've never done anything worth remembering around here. (:
But hey, massive congratulations on discovering one of my old account names! Truly some next-level detective work.
It's not like I ever tried to hide it in the first place, but I'm glad you finally figured it out. Must've been a huge achievement for you. GGWP.
But anyway, back to the server.
Here's a screenshot from the server's README, dated September 11, 2026.
Looks like someone prompted an AI with "Please make a .md file with no issues, please" and called it a day.
again ur posting a long text of garbage.
Im gonna say it again mister xSensitivex and maybe u get it now.
Im not working for this project so stop misleading my name with that project.
If u cant stop we will do that on a different approach.
again ur posting a long text of garbage.
Im gonna say it again mister xSensitivex and maybe u get it now.
Im not working for this project so stop misleading my name with that project.
If u cant stop we will do that on a different approach.
Don't get me wrong, let me quote myself again:
Quote:
And don't get me wrong, I don't even know where the **** I mentioned you. It's not like Script is the one I was referring to...
But hey, just like with the whole "scammer" thing earlier, you seem to have a habit of making assumptions first and thinking later. (:
And sure, feel free to DM me about your other "approach". I'm always happy to receive threats from random weirdos on the internet.
Ok hör einfach hier auf. Wenn du irgendwelche probleme dann meld dich gerne per DM und wir klären es gerne erwachsen (: discord hast du ja aber hör auf irgendwelche unterstellung weiter zu teilen wie das ich dich als 3. Account meine oder das ich sagen würde der Server würde Scammen/Cashgrab (dafür brauch der müll server user)
Ok hör einfach hier auf. Wenn du irgendwelche probleme dann meld dich gerne per DM und wir klären es gerne erwachsen (: discord hast du ja aber hör auf irgendwelche unterstellung weiter zu teilen wie das ich dich als 3. Account meine oder das ich sagen würde der Server würde Scammen/Cashgrab (dafür brauch der müll server user)
Dms? Nein, wir machen das öffentlich hier auf epvp.
Dms? Nein, wir machen das öffentlich hier auf epvp.
Mach was du willst aber hör auf Müll zu unterstellen. Ich habe dein Namen nirgendwo erwähnt oder steht dein Name hier irgendwo?
Aber wie gesagt letzte Nachricht jetzt zu dir dazu (: Wenn du irgendein Problem hast und denkst ich hätte was falsch gemacht schreib mir gerne ne DM auf Discord mit Screen der Nachricht und ich wirklich was falsch gemacht habe Entschuldige ich mich gerne auch Öffentlich dazu rest ist mir wumpe. Vllt einfach mal aufhören zu denken alles dreht sich um ein.....
[ALL SYSTEM'S LIKE OFFICIAL] Serverfiles full like official 07/29/2016 - Metin2 PServer Guides & Strategies - 6 Replies Skype adress: drink.box ( Sorin Bourceanu )
For price add me in skype.
I sell serverfiles like official 100%.
My files contain: