[DiscordArchive] Yeah, I’m not aware of any real cases with a massive online player base. I knew of a Chinese one tha
[DiscordArchive] Yeah, I’m not aware of any real cases with a massive online player base. I knew of a Chinese one tha
Archived author: walkline • Posted: 2024-12-16T23:16:09.606000+00:00
Original source
Yeah, I’m not aware of any real cases with a massive online player base. I knew of a Chinese one that had 3k players online, and it struggled with performance. The latency was 150-200 ms because most of the players were in Northrend, and the server didn’t have the best cpu for the task (two Intel Xeon E5-2697 v2 2.7 ghz).
There is also a playerbots project, which can serve as a decent benchmark for performance. While it doesn’t produce the same workload as real players (but similar), the AI component consumes about half of the cpu time. In general, I estimate that real players would consume approximately 70-80% of the resources that playerbots use.
With decent single core cpu performance, I’ve observed that it’s possible to run 5k bots with ~100ms diff. Based on this, I would say the current setup could support around 6,5k concurrent players with a similar diff (~100ms) if equipped with a cpu that have a strong single threaded performance.
Overall, I believe the current setup should work for most cases, and there’s no immediate urgency to optimize map updates. However, it still brings value, and if there is interest, I believe it makes sense to pick this up.
Since we’re discussing this, what do you think about having something like layers for a continent instead of instantiating? For instance, a config could allow setting Northrend to have three layers. Players would be distributed among these layers (and players on Layer 1 wouldn’t see those on Layer 2). One way to switch layers could be by logging out or joining a group.
Do you think this approach would be simpler and cleaner to implement (not necessary by you) than instantiating a continent map, or would it be similar in complexity?
Archived author: Takenbacon • Posted: 2024-12-16T23:21:54.836000+00:00
Original source
layers could be done easier I'd believe but that would split up players which is never ideal -> it's the entire reason retail classic abandoned that idea if they didn't absolutely need it
Archived author: Revision • Posted: 2024-12-16T23:25:57.586000+00:00
Original source
Wouldn't the idea behind layering and sharding essentially seem like the same thing for the player? Both of which retail has used and most likely still uses.
Archived author: Takenbacon • Posted: 2024-12-16T23:25:59.389000+00:00
Original source
I'll eat my shoe if the current codebase could support more than a few thousand, I think the loading is _significantly_ different than you'd expect with real players
Archived author: Takenbacon • Posted: 2024-12-16T23:26:18.871000+00:00
Original source
there's so many huge common sense optimizations that are just missing
Archived author: Takenbacon • Posted: 2024-12-16T23:27:39.315000+00:00
Original source
it's the same thing yes, retail classic only uses it as a last case scenario when they are unable to support more players on a continent, they've already stated this
Archived author: Takenbacon • Posted: 2024-12-16T23:27:56.860000+00:00
Original source
_modern_ retail is very different
Archived author: Revision • Posted: 2024-12-16T23:29:30.635000+00:00
Original source
Too bad more cores != better performance because of how map updates work in a single thread then. It seems to throw people who think they can throw 30 cores at the world server and think that it'll work great. If I'm not mistaken the most common server CPU is AMD EPYC 700X and it only boosts to 3.6GHz and some up to 4GHz so it's not the best single core performance either.
Archived author: Revision • Posted: 2024-12-16T23:29:57.272000+00:00
Original source
My experience is mainly with how the performance with playerbots is and not real players though.
Archived author: Takenbacon • Posted: 2024-12-16T23:41:40.844000+00:00
Original source
yeah the multithreading definitely isn't great lol