How can files be used to keep track of players positions?
Scrivi la posizione del giocatore nel file. Ad esempio, se identifichi ogni giocatore con un numero univoco (o un GUID), puoi usarlo come nome del file. Nel file, scrivi semplicemente i dati di posizione in un formato che puoi analizzare in seguito. Ad esempio, 467239.txt
potrebbe contenere 20, 3, 19
se il giocatore # 467239 è in quel (x, y, z) location.
Questo non è così diverso da quello che faresti con un database, tuttavia - un database non dovrebbe essere "lento" in questa operazione, dovrebbe essere molto veloce (probabilmente più veloce dei file, perché hai più overhead IO del disco o blocco IO contesa - se sono state memorizzate più posizioni per file - in un approccio basato sul filesystem).
Forse stavi cercando di utilizzare il DB o il filesystem per memorizzare la posizione del player in fase di esecuzione ? Non dovresti farlo affatto .
In fase di esecuzione, nel tuo server, le posizioni dei giocatori dovrebbero essere mantenute in memoria e aggiornate lì, come faresti con qualsiasi altro tipo di gioco. Periodicamente possono essere salvati su disco o altro archivio permanente, ad esempio quando il lettore si riposa, salva o si disconnette.
Ma scrivere ogni posizione dei giocatori nella memoria di ogni aggiornamento è superfluo ed estremamente inefficiente; non sarà mai abbastanza veloce da gestire qualcosa che assomigli a "massicce" scale di giocatori.