Com um pouco de lógica e conhecimento é simples ser feito.
Simples não quer dizer que não seja extenso ou que não se tenha de ter conhecimento para fazer tal.
Da forma a qual o
@Akio "tentou explicar", deixou aberto muitas possibilidades. E como sempre querem complicar...
Todavia
do ah diferentes logicas.
A mais simples seria setar uma diferença no Player, um quesito que analisaria Massive Multiplay / MultiPlay / Singleplay.
Tendo isso, basta adicionar a leitura logica de processamento de Mapa ao jogador em si, e transformar a leitura e envios em relação ao valor a qual o player estaria conectado.
Em outras palavras para os mortais.
Ligar o processamento de Mapa dos Servidor ao Player, porém ainda mantendo o processamento de mapa original para caso o jogador esteja em Massive Multiplay.
Caso não esteja, processa o 'mundo' do jogador dentro dele.
Parte da logica onde o cliente só sabe o que o servidor diz para ele o que ele tem de saber. Se o servidor não enviar para o jogador A que o monstro X está ali, ou mesmo o jogador B, então A não saberia de nada.
Dessa forma com poucas mudanças teria-se o resultado desejado.
Desenhando'AtualServer o> [ Processamento de Mapa Global Único (For All) // Envia para Todos ]
'Novo Fada Simple LogicServer o> [ Processamento de Mapa Global Único (For All) // Envia para os Massive ]
Player o> [ Processamento de Mapa Global Único (For Me) // Envia para Index ou Grupo ] 'Retira Players que não estão no Massive e processa por fora o Logic deles.
É literalmente dar o universo ao jogador e usar ele como base para analisar seu próprio universo, ainda dentro do servidor.