Netcode for entities MMORPG

Can netcode for entities handle a lot of ghosts ? (big open world, but with small area of interest)?
and is there any sample to setup a scalable area of interest system?

This is the sort of question - no matter what feature or technology - that you have to answer yourself OR at a minimum provide plenty of details, be very specific about the requirements, the intended use cases, the game’s design or an existing game you’re modeling yours after that people might know … and then, if you’re lucky, you may get a rough (!) ballpark (!) guesstimate (!) that you still have to put to the test.

Because … you can’t rely on someone else’s opinion about performance metrics, let alone whether they understood what you aim to do while your game does, indeed, irrevocably, rely on that feature to work as you intend (and are capable of optimizing yourself - most of the “handle” questions in fact revolve around how your technical expertise or lack thereof allows you to find optimizations or cheap workarounds that still do the trick).

Just for example, how many is “a lot”? Ten? Twenty? Fifty? One hundred thousand millions? :wink:

Also, side-note: Creating an MMORPG is insanely challenging and very unrewarding, both financially and from a development perspective.

You should know that pure MMORPGs (the WOW kind) have practically become extinct since the early 2010s due to the immense development and operating costs while better alternatives to monetize players have emerged. Read: MMORPGs are extremely high risk, low reward endeavours.

2 Likes

I want to have 800 players connected on same world and 50k ghosts over the map. Is it possible? i think the bottleneck here is the Relevancy system that is not really optimized for that

I can’t answer the technical part, but I doubt it’s possible to get 800 players connected to your game specifically. The chances of getting to that point are negligible, and the costs are tremendous.

Consider you’ll have to host several beefy machines worldwide that will cost you upwards of several hundred $ per month even with little to no usage.

800 players on Unity’s Game Server Hosting service is next to impossible unless you are an Enterprise customer and can configure your machine.

You need to ask the right question: how much does it cost to provide the necessary services for an 800 concurrent players online game, both during development AND live service? This then will steer your choices of monetization, respectively the monthly rate players need to pay you.

MMOs are first and foremost a financial challenge.

Is this something you’ve tested with 800 players and 50K ghosts? What specific issues did you run into?

Not sure what do u mean by beefy machines but i plan to host it on a single $25 per month (max) machine

I`m assuming the way it works is not optimized to handle a lot of ghosts. But can i use Importance instead of relevancy to handle distance based area of interest?

1 Like

I doubt that one cheap ass $25 machine can handle it. Cuz if it is MMO you want to have login server, shop server, time server, event server, drop server, communication server etc
Cuz every action will flood your main server.

1 Like

It will definitely not suffice. Even if you artificially limit your player base to, say, North America East Coast region. The West Coast americans will already start to suffer from higher than usual latency. The rest of the world will definitely suffer and shun your game for being unplayable.

An MMO needs a worldwide distribution of servers, a server farm. At a minimum you need to have approximately 10 machines spread across the world if you want to support a worldwide audience. Two servers per major region / continent, of which there are between four to eight depending on what audiences you can tap into (eg Asian player may just not be interested, just as us Westerners are rarely interested in Asian indie online games).

For $25 you can at best rent a virtual server that’s good enough to do a little more than hosting a wordpress site, perhaps it may run your personal source control repository and personal cloud storage but it would already be painful to use it as a build machine.

You’d have to spend at least $50-100 on a dedicated server with full admin access, good backbone access and good specs. For that price you can expect the server to be severely limited, be it only allowing 10-100 Mbit/s or having a hard bandwidth cap, limited storage, limited CPU time, restricted access (eg can’t install just anything, can’t configure services).

No sir, the costs of MMORPGs are extremely high which is why nobody risks developing them anymore.

Your best chance at growing this is to start small. Use your single server and maybe, with optimizations, it can support 50 concurrent players. If these players keep coming back, you have two options: rent more servers and open the game up to more players around the world. That’ll be the preferred option because this is more important to players than a high concurrent player count. The alternative is to spend more on the single server to allow for 100, maybe even 200 concurrent players but you will always have players complaining about high latency.

2 Likes

My previous mmo, peaked at 1200 players online on a $10 VM (digital ocean)

1 Like

Also there is that doing 700 players on a not so good machine WITHOUT AREA OF INTEREST.
It means all 700 players are sending packets to all other 700.

This is not what i am doing but 700 sending to something like 10 to 20 (Area of Interest)

2 Likes

Well thx for enlighting me \o/

Netcode fore Entities, while it is a scalable solution, it is not meant in general for MMO style production, that usually requires specific solution, especially server side, to handle both player distribution and scalability requirement.

You can potentially handle 700 player on one single, large enough server (depending on the game complexity) but indeed the cost of transmitting the data (not the bandwidth itself but the CPU cost) can be the most expensive part of the whole server simulation.

Nor, to speak, RPCs are not scalable enough for 700 players and there is no built-in server-server interprocess communcation for zoning and entity handover. Everything should be rebuilt/built from scratch.

So, in general, I would suggest to get inspired by netcode for entities for building you own custom solution for MMO, but to not consider it a fully flagged solution for it.

3 Likes

Is RPC the only problem? I`m not using it but commands only now

Also are you sure it can`t handle it? because it looks like it can if well done

1 Like

If you have only $25 then it’s better if you just rent out a virtual machine as suggested above. No other way around it.