Pregunta ¿Qué arquitectura de servidor es apropiada para un juego multijugador en línea?


Para un juego de rol en línea y multijugador que debería ser capaz de admitir al menos 1000 jugadores por instancia de servidor, ¿qué tipo de arquitectura debo usar? Me gustaría usar Java o PHP como el lenguaje de programación del servidor (sé que PHP es probablemente una mala elección). ¿Qué tipo de sistema operativo y especificaciones de servidor necesitaría para tal sistema?


6
2018-05-27 07:47


origen


La gran pregunta es ¿cuánto tráfico esperan de estos 1000 jugadores? ¿El software está basado en el navegador o es una aplicación propia? Los juegos basados ​​en navegador generalmente requieren más carga debido a la naturaleza de la reproducción (actualizar la página varias veces por minuto). - Andrew Williams
Sería un applet de Java basado en navegador. gracias por preguntar :) - Click Upvote
por lo que es poco probable que necesite refrescos - Click Upvote
Basado en HTML tampoco necesitaría actualizaciones. AJAX :-) - vartec


Respuestas:


El mejor ejemplo conocido es EVE Online, que utiliza Pitón sin pila. Han escrito que poseen servidor.

Su arquitectura describe:

En general recomiendo leer highscalability.comespecialmente los ejemplos del mundo real.


12
2018-05-27 08:05



Vale la pena señalar que la arquitectura de Eve es algo inusual en el mundo MMO: tiene un solo mundo persistente para más de 300,000 usuarios. Pero es una buena lectura, no menos importante porque los otros MMO no hablan mucho sobre cómo funcionan sus cosas. - Nelson
En realidad, están proporcionando la ilusión de un solo mundo persistente. Cada servidor maneja sistemas estelares individuales o grupos de ellos y cuando llegas a las puertas, pasas a un servidor diferente. Básicamente zonas de la vieja escuela. Su diseño es lo que lo hace funcionar, ya que no es un cuello de botella tan grande como otros MMO, donde el 90% de sus jugadores están en el 10% de sus zonas, sino que los jugadores están distribuidos, por lo que cada servidor solo maneja unos pocos jugadores. - Shial
CCP: los desarrolladores de EVE han optado por no dividir el mundo (es decir, tener múltiples servidores no relacionados), hay un mundo (dos si se cuenta con China) y algo que compre en un sistema solar puede transferirse a otro de forma trivial. Esto se opone al modelo Everquest o WoW, donde cada mundo virtual es independiente de los demás, no se pueden transferir bienes o personajes entre ellos, por lo general, el modelo compartido tiene un número de jugadores mucho menor para cualquier mundo virtual. Sin embargo, se puede escalar agregando Más mundos virtuales. La cantidad de servidores en los que se ejecuta el VW es irrelevante. - Richard Slater


Como ya estás haciendo Java, es posible que desees echar un vistazo a Proyecto DarkStar de Sun:

No conozco ningún juego comercial que lo use (creo que todavía está en desarrollo).


3
2018-05-27 08:26



jajaja - Click Upvote
Para Darkstar, también hay una pregunta relacionada con la programación en StackOverflow: stackoverflow.com/questions/20034 - Michael Stum♦