MC-Network
I server MeshCom utilizzano uno scambio di messaggi UDP. Il server MeshCom in OE funge attualmente da server Matrix. In futuro è previsto che anche i server specifici per paese scambino messaggi tra loro, qualora questi siano necessari solo in determinate sedi server. Messaggi DM o messaggi di gruppo, qualora il sistema di prenotazione di gruppo comunichi anche tramite le interfacce. Analogamente a bMaster+ nel DMR.
Ogni server apre una porta UDP in entrata e invia messaggi al server MeshCom partner proprio su quella porta.
Il gioco è ambientato nel 1985.
Heard-Beat / Registrazione
- Il client invia “DNCLOUD” + codice di accesso di lunghezza fissa pari a 50 byte. Riempire sempre lo spazio rimanente con 0x00
Ripetere questa procedura di autenticazione ogni 60-80 secondi al massimo. Se mancano due autenticazioni, il client viene disconnesso. - Il master restituisce "HBMASTER" con una lunghezza fissa di 8 byte. Se non arriva alcuna risposta entro il tempo di latenza normale (andata e ritorno), significa che il codice di accesso è errato oppure che si è verificato un errore di rete.
Codice di registrazione
- DNCDATA-M indica che vengono inviati tutti i pacchetti HEY, POS, TXT, GATEWAY e TELEMETRY
- DNCDATA-D solo TXT
Si utilizza un protocollo JSON:
Nota: i protocolli JSON trasmessi dipendono dalle credenziali di accesso
- Messaggio di testo:
-
{"type": "msg","src": "OE1XAR-45","dst": "*","msg": "questo è il testo","msg_id": "663B1093","timestamp": 9999999999,"rssi": -100,"snr": 3
} - msg_id deve rimanere univoco per tutti i messaggi di testo, i messaggi diretti e i messaggi di posizione all'interno di un limite di 120 per stazione trasmittente.
- timestamp è il tempo dell'epoca Unix espresso in secondi
-
-
Messaggio diretto:
-
{"type": "msg","src": "OE1KFR-3","ds"t: "OE1KBC-2",„msg“: „test{787“,„msg_id“: „754CE313“,„timestamp“: 9999999999,„rssi“: -100,„snr“: 3
}
- 787 È un numero progressivo dei messaggi che può variare da 001 a 999 per poi ripartire da 001. Serve a confermare la ricezione dei messaggi di testo da parte del destinatario (protocollo APRS)
- msg_id deve rimanere univoco per tutti i messaggi di testo, i messaggi diretti e i messaggi di posizione all'interno di un limite di 120 per stazione trasmittente.
- timestamp è il tempo dell'epoca Unix espresso in secondi
-
- Posizioni:
-
{"type": "pos","src": "OE1KFR-2,OE1KFR-12","lat": 48,2388,"lat_dir": "N","long": 16,3178,"long_dir": "E",«vecchio»: 801,"aprs_sym": "-","aprs_sym_grp:" : "/","hw_id": 10,"msg_id": "A4ED0001",«fw»: «4.33b»"batt": 0,«press»: 1019.2,«hum»: 56,2,"temp": 22,1,"temp2": 22,1,«qnh»: 989,2,"gas_res": 125,«eco2»: 655,"wlevel":655,"wtemp": 22,5,«gw»: 0,"nct": 0,"timestamp":9999999999,"rssi": -100,"snr": 5,"grc":[232,2321],"comment": "Node Vienna","nome": "Kurt","max_hop": 3,„mod“:8
}
-
- Messaggi HEY:
-
{"type": "hey","path": "OE1MOJ-45,OE1KFR-12","nct": "9","rssi": "12,86,6","msg_id": "663B1093",
"timestamp": 11111111}
-
Sintassi: hey payload ("rssi")
-
Rn, rssi, snr;
-
–> nct=n rssi="rssi,snr;"
-
-
Rssi,snr;
-
–> nct=0 rssi="rssi,snr;"
-
-
Rn;
-
–> nct=n rssi=““;
-
-
-
-
Messaggi gateway:
-
{"type": "gwstatus","src": "OE1XAR-12","timestamp": 121212121212,"status": 1,"grc": [232,2321,93]}
-
Come viene trasmesso il JSON:
- Buffer di lunghezza variabile
- Pos:0 DNCDATA
- Pos:7: {…json-String…}
- I dati non vengono confermati
73 da Kurt
OE1KBC