Few questions around "massively" multiplayer #970
-
|
Hi, very impressive crate, my hat off to the hero who laid the foundation and of course to all the contributors! Working on a passion project, I'm a systems guy so it's all about the systems, clients see only 3D cubes 🙃
I'm not seeking to simulate physics, etc on server which limits most modern MMOs to few hundred players per shared world. So I'm wondering if Thousands of players per serverTo enable this, client needs to receive spawn/update/despawn events only in near area, for example in the radius of 50 meters. My first prototype was done with Any pointers how to combine 100+ players in one area100 players, 100 x 100 = 10,000 updates, granted every player moves every frame which is not likely but aiming for worst case. My idea was to have a distance based replication (simulation still runs every tick). For example entities in the range of 0-20 meters get replicated every tick, 20-30 every 2 ticks, etc. Interpolation would smooth out all tick rates. I think it would come down to using
I was first going to ask if something like this would be possible to implement with Server meshingPlanning to experiment with this soon. There are very complex parts I do not even dare to think about yet like seeing entities across the server boundaries but the first issue I'm trying to tackle is that if player crosses the server boundary, entity will be serialized and moved to another server (without loading screen) which then becomes responsible for that entity simulation and state. Is that kind of connection management possible with I'm just a noobie who just started playing around with this crate, if these are solved problems and I'm just trying to fit in unnecessary features that were required elsewhere, please do let me know. Thank you very much! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
|
Hi! I think none of these problems are currently solved, but I would love to have a big projects with many concurrent players to test FYI I don't think lightyear is especially well optimized, so I doubt it would handle that many concurrent players. As for your questions:
You would use the kd-tree to query for any entities at a given radius around a player, and mark all of them as visible
|
Beta Was this translation helpful? Give feedback.
Hi!
I think none of these problems are currently solved, but I would love to have a big projects with many concurrent players to test
lightyearin heavy conditions.FYI I don't think lightyear is especially well optimized, so I doubt it would handle that many concurrent players.
There's this project: https://github.com/hyperion-mc/hyperion which uses rust to serve 10K concurrent players, it might be interesting to look at.
As for your questions:
You would use the kd-tree to query for any entities at a given radius around a p…