forked from gatchan00/MongoMMORPG
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathguia.txt
42 lines (31 loc) · 1.83 KB
/
guia.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
guion:
0- instalar node y mongo
1- ejecutar el server-esqueleto
node server-esqueleto.js
1B - probamos con un websocket
ejemplo-websocket.html - se muestra como no se recicla el mensaje
ejemplo-websocket2.html - se muestra como aparece undefined (es asíncrono, así que no llega)
ejemplo-websocket3.html - ahora si, en el callback ponemos que actualice ese dato
2- añado para conectarme a mongo con un dummy
para ello, el mongoclient en el connect, mete una nueva función startServer, que es la que estará escuchando las llamadas
arranco ejemplo-websocket3 y muestro cómo deja trazas (he puesto donde el console.log un insert en mongo)
3- hago web de dar de alta usuarios
pasos -> 2-crear usuario
3-server-mongo-crea-usuarios.js (luego lo refactorizo para no tener el código dentro del if)
4- creo un servidor para mantener las entidades (y regenererarlas)
1- server-backend-1.js -> crea entidades cuando no hay suficientes
2- server-backend-2.js -> Debería echar a los jugadores que llevan tiempo sin actualizar su posición o algo yborrar entidades muertas
5- añado al server las opciones para recibir instrucciones de
conectar jugador (se genera un ticket y se almacena en un json de jugadores activos)
dame entidades
come entidad
dame rivales
y añado las opciones para recibir el puerto por parámetro
por último, creo un sistema de tickets para comunicarse
4-server-mongo-multifuncional.js
6- añado las opciones para comunicar desde el videojuego, y validar usaurio, etc
Paso 4
7- Levanto varios servidores de websockets y conecto a cada uno de ellos desde una web distinta
set PORT=8000&&node 4-server-mongo-multifuncional.js
set PORT=8001&&node 4-server-mongo-multifuncional.js
Paso 5 (con el webserver moongose encendido, accedo a juego.html y me conecto en dos ventanas distintas con puerto 8000 en una y 8001 en otra)