If I understand correctly, your concern is about the scaling and performance of the single realm, having a single realm doesn’t mean having fewer servers or computational capacity, on the contrary, the idea is to have several components that would work together and be able to scale independently. This model would enable to support more users on the platform and will release resources on the catalyst nodes (CPU & Network used for comms).
If this poll passes, I will post the second stage with the proposed implementation, adding the solo mode that has been requested, and details for how anyone could run their own realm.
Increasing the size of an island is not a problem for comms but for the client, user data is exchanged fast but the client has to render the scene + all the avatars. The experienced performance depends on many factors, including how the scene was designed and coded. What this is trying to improve is not the in-world performance and lag but the user’s grouping and connections and make it easier for new users to meet with friends. Right now baldr es one of the servers with more users and the average comms performance for data exchange is between 200ms and 500ms.
The purpose of the poll is to enhance user grouping on the platform and revamp the user experience. The goal is to make newcomers unfamiliar with the concept of realms feel at ease. When the users join Decentraland, they will be directed to the default realm without any suggestions in the user interface to switch realms or display a list of realms along with the number of users. Additionally, the calculation of hot-scenes will be limited to the current realm.
If a catalyst owner wishes to continue hosting comms service, it will still be possible. Nevertheless, users must explicitly specify the realm name in order to connect to it.
Regarding the LiveKit cost it will be low as long as the platform user base is low or users are not concentrated in your realm, if you use LiveKit cloud you pay based on the consumed bandwidth and if you are with the free tier then you have a realm that cannot host much more than 100 concurrent users. In the case that you run your own infra, again you will need to have a cluster instead of a LiveKit node, to be able to manage more users and this is not only infra cost, it also requires some operational time to configure, deploy, monitoring, troubleshooting, etc.
The IPFS point, in theory, seems nice but in practice, it doesn’t work that well in terms of performance, you would still need a fast content server on top so that files can be consumed by the client but IPFS it can be used as a decentralized bkp system.
Hi @paralax, sorry for being noob on technical stuffs. It seems to me that you are proposing a single realm that will improve some part but add problem to the other part.
- Can you give us an explanation how a single realm can handle, let’s say, 1 million online users in DCL?
- My unqualified opinion is telling me that a single realm is beneficial to new users. Is it worth the risk to sacrifice the scalability for onboarding new users using a single realm?
- Is it really about the cost of infrastructure, not the user experience and user retention? I mean user experience will improve temporarily as we have low daily active users.
The metaverse trend is declining but the adoption from brands is increasing. There will be a point where DCL needs to host 1million active users, maybe from different brands, metaverse shops, banks, and other businesses. With a single realm, new users will highly benefit from the unified realm regardless of the latency but old users may find it unattractive as soon as the realm became overcrowded or reached the time that it cannot load any scenes anymore.
Are you familiar with Roblox?
You can ignore my concerns too as I have only a tiny-little voting power.
A single realm doesn’t mean a single server, it can still be scaled across several servers (and region around the world, so no latency issues).
Thanks for all the questions.
Can you give us an explanation how a single realm can handle, let’s say, 1 million online users in DCL?
Single realm doesn’t mean having 1 server, it only means that all people will walk on the same virtual worlds and run into each other based on their position and not in the server that they are downloading the scenes from.
To explain how to support 1M users I have to go a bit technical, the general rough idea would be to have several service components that will work together, the first is a WebSocket service that manages users’ connection with the single realm comms, this service has a simple implementation and can be added to an auto-scaling group in AWS with a Load Balancer and can have instances in several places in the world to run with regional affinity. More users just mean more instances of this service. Then there will be a centralized Archipelago service in charge of receiving all user’s positions and calculating the islands groups, this service is low in CPU and can be re-implemented using something better than node JS to make use of multi-threading and scale better. To connect all we use NATS, high-performance messaging system, open-sourced, implemented in GO. Finally, we put a stats service that exposes the platform information: users, positions, hot-scenes, this service communicates with Archipelago through NATS. All these components are highly scalable. WebRTC comms will continue to work over LiveKit.
My unqualified opinion is telling me that a single realm is beneficial to new users. Is it worth the risk to
sacrifice the scalability for onboarding new users using a single realm?
Scalability is everything, it wouldn’t be sacrifice.
Is it really about the cost of infrastructure, not the user experience and user retention? I mean user experience will improve temporarily as we have low daily active users.
It’s all about User Experience, not cost. It would just remove some cost from node owners, more in the case that the platform user base scale up fast.
Are you familiar with Roblox?
Yes, Roblox work with isolated experiences, this is what Worlds bring to the table, where users can create scenes isolated from Genesis City, they can even perform better as they are not affected by the soundings and the full loading of the city. Worlds is another way to scale the Platform that would work in parallel to this.
Then no problem with me.
Unified realm is a great idea then.
I just thought that 1 realm is equivalent to 1 server as we are thrown to other realm when there are too many people in a scene.
It’s an error on my side. My apologies.
I am just concern with the DCL’s competitiveness as more metaverse projects emerge.
Cheers men
To expand a bit about scalability, having one realm doesn’t mean having fewer servers, on the contrary, we may have even more servers. Currently, 1 catalyst is one server due to the nature of the catalyst deployment and the cost for catalyst owners, here the proposal is to have a single massive realm, which may consist of multiple server machines, perhaps autoscaling the number of servers according to the number of users.
I think we need to have more discussions on this topic to move forward in order to hear all the Community’s thoughts and reach consensus.
Should Decentraland transition to a single realm?
This proposal is now in status: REJECTED.
Voting Results:
- Transition to a single realm 24% 1,201,053 VP (38 votes)
- Keep 11 realms 10% 506,874 VP (10 votes)
- Invalid question/options 66% 3,200,859 VP (21 votes)
lol imagine dcl trying to host events like yuga. We already barely make it for some big stuff. Look forward to seeing servers not pull people or collapse.
Islands are still 100 users at once.
lol imagine you don’t know how infra and comms works and you try to look smart.
Otherside - First Trip Playtest! - YouTube yea man 100 users on a island peak
I believe I said my opinion properly about me being a noob on Technical stuffs. If you don’t like how I post my opinions, then I should obey. hahaha
That was destined to CryptoTengu, not you.