I never set out to run an MMO. I think it's virtually impossible for an indie-developer. The infrastructure alone to start day one runs in the millions.
I will host a community for players to communicate but it will ultimately be up to the players to make cool servers and worlds. I'm really trying to follow the Neverwinter Nights model here. That was such a fun game to play and there seemed like there was always one more cool server to check out somewhere.
My target is for one server to be able to handle a minimum of 64 connections running on hardware like I have mine setup on. If it can handle more then that's awesome... but really I think 64-100 is a good sized server.
Otherwise, you hit the harsh realities of the internet. But I'll address each point in turn:
Quote: "Increase the number of server by region of the world to minimize the latencies."
That's really the only solution. It's prohibitively expensive for an indie developer to set this up. Big huge companies spend millions on MMO infrastructure and then never recoup it. And in the end, everyone ends up just playing the same world as everyone else and that's not very exciting to me. I want to empower users to run their own server (and potentially charge for access if they want) with their own cool mods, etc.. I want to see what they create.
Quote: "Find a another solution for minimize server working.. And latencies.. No packet loss etc.."
Packet loss and latency are the only bottlenecks here. They are the single choke point. There are a thousand ways to optimize the server processing but it won't matter if a high number of network packets never make it from point A to point B. So far, my server runs only at 1% CPU and 0.5% network even with 8 players connected.
And if a player is connecting to my server from a modem on the other side of the world, it's really hard to provide a good experience.
Quote: "Optimize the client build to Minimize interaction, use constant variable etc.. The client working more.."
The client can't really work more. While I don't plan to be a "twitch" game like a lot of first person shooters, there are simple things that need to be reasonably timely. If I remove a block from under your feet then its bad if you don't see that update for 5 seconds. If I roll a boulder down the hill and you never see it coming then you die and don't even know why.
Quote: "Use the best pc and better connection to relieve the server works"
Better connection is the way... and for some users connecting to some parts of the world... it's completely out of their hands. But in the end, that's what we're talking about.
Get a better connection or find a better server to connect to.
For anyone interested in additional reading at a technical level... these articles are pretty good:
http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networkinghttp://developer.valvesoftware.com/wiki/Latency_Compensating_Methods_in_Client/Server_In-game_Protocol_Design_and_OptimizationThey were the original basis for my network designs back in March when I wrote the multiplayer support... and even the new stuff is just better fleshing out designs from back then and optimizing them.