Domanda

Sono immersioni in RoR e piano per costruire alcuni siti web. Accanto ai siti web, mi piacerebbe usare RoR per costruire una semplice API RESTful server di gioco che può essere utilizzato per orchestrare una due giocatori iOS gioco che sto scrivendo. Il gioco è la Sfida a tempo di puzzle-based (il primo giocatore a risolvere le vittorie del puzzle) ed i giocatori saranno solo comunicare con il server di gioco di ogni secondi dieci a cinque minuti e la quantità di dati provenienti da / verso il server probabilmente vinto' t essere più di qualche centinaio di byte. Il flusso client-server andrà qualcosa di simile ...

  1. Matchmaking si verifica sui client utilizzando l'API Game Center per generare un elenco di due giocatori (client)
  2. Sia i clienti il ??check-in e l'autenticazione con il server di gioco per iniziare una nuova partita, quindi il server di gioco sincronizza l'inizio del gioco su entrambi i client
  3. Entrambi i giocatori iniziano risolvere il puzzle, in cui sia le finiture giocatore (risolve un puzzle o smette), il client invia i risultati al server.
  4. Quando entrambi i giocatori finiscono, il server memorizza i risultati nel DB e restituisce i risultati di entrambi i client, quindi la sessione di gioco è finito.

Senza aver implementato questo, è sembra che questo funzionerà abbastanza bene con RoR. Barare è, tuttavia, una preoccupazione e la mia idea di una soluzione è quella di utilizzare il concetto di RoR attivo record della sessione per autenticare i giocatori quando il gioco ha inizio. Cioè, consentire solo le richieste di clienti che sono stati autenticati nel passaggio 2 sopra per essere onorato dal server.

  • Vede qualche problema con l'utilizzo di RoR per implementare questo tipo di server di gioco a turni?
  • Come accennato in precedenza, sto cercando di evitare imbrogli limitando l'autenticazione giocatore a verificarsi attraverso la mia app iOS. Quali sono alcuni modi posso garantire l'autenticazione viene richiesto dal mio app iOS?
  • Supponendo che posso effettivamente giocatore limite di autenticazione al mio iOS, mi sto perdendo eventuali modi ovvi i giocatori possono ancora inviare i falsi dati del server e imbrogliare?

Grazie mille in anticipo per il vostro aiuto!

È stato utile?

Soluzione

  1. non vedo alcun problema con l'utilizzo rotaie per questo, o qualsiasi altro linguaggio web per quella materia.
  2. Credo che un metodo di autenticazione appropriato per le vostre esigenze è OAuth.
  3. Se fossi in te, mi piacerebbe possibile limitare i vostri clienti a solo 1 login alla volta.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top