Attualmente sto sviluppando un gioco utilizzando JavaScript/JQuery. È un semplice tipo di rompicapo che mantiene il punteggio, i livelli, ecc. Sto pianificando di implementare una classifica che gli utenti possano inviare a punteggio finale. L'unico problema che vedo è che gli utenti manipolano il punteggio utilizzando strumenti di sviluppo sulla maggior parte dei browser. Capisco che mantenere le cose lato server risolverà la maggior parte di questi problemi, tuttavia se c'è un volume elevato di utenti, colpirà il mio server con delle richieste. Cookies - Facilmente cambiato lato client. Sono onestamente fuori dalle idee logiche per promuovere un gioco leale perché ci sono SEMPRE persone che cercano di imbrogliare/diventare il capo della classifica. Detto questo, qual è un modo efficace ed efficiente per tenere traccia del punteggio dell'utente senza dare loro l'accesso per cambiarlo?Previene il gioco cheating su Javascript
risposta
offuscare il proprio punteggio creando un'equazione che può essere calcolata solo sul lato server.
Modifica: RobG è corretto in quanto dovrà essere calcolato sul lato client.
ho inciso il gioco Angry Birds, quando ha lanciato il Chrome:
http://wesbos.com/all-levels-html5-angry-birds/
Tuttavia, essi hanno dato offuscare il codice così tanto che la sua impossibile capire quale funzione di hash calcolato ..
Meravigliosa idea! Non ci ho mai pensato. Definirò sicuramente questo concetto. Grazie mille! –
Il codice è in esecuzione lato client, quindi qualsiasi codifica si verifica sul client e può essere falsificato. Approcci diversi lo rendono più o meno difficile. – RobG
@RobG per un gioco di puzzle c'è l'opportunità di fare lo spoofing del punteggio difficile come il gioco stesso. –
base64 codifica la tua pagina javascript. Questo dovrebbe impedire alla gente con un QI sotto 120
Non penso che sia necessario un QI elevato per installare un plug-in scritto da qualcun altro (con qualsiasi IQ) che invii il punteggio che desideri. – RobG
Non si può garantire non barare, è impossibile. Il server risponde alle richieste, il gioco è fatto. Non ha idea del codice in esecuzione sul client, del tipo di agente utente o dell'ambiente in cui si trova o anche se sta eseguendo il codice o un fac-simile.
È possibile prendere varie misure per rendere più difficile lo spoofing, ma non è possibile renderlo impossibile. Il costo di tali misure (di solito visto come "sicurezza") è solitamente bilanciato con il valore del bene protetto.
Non inserire mai nulla sul sul client. Il cliente è nelle mani del nemico . Mai e poi mai dimenticarlo.
rendere la pagina presentare un replay completa del gioco, piuttosto che solo il punteggio finale. Dato il seed casuale e un record frame by frame degli input dell'utente, il tuo server dovrebbe essere in grado di simulare e ricostruire il gioco e verificare il punteggio.
Ovviamente anche il replay può essere simulato, ma ciò equivarrebbe a molto lavoro (effettivamente giocando e ottenendo effettivamente un buon punteggio, sebbene con il vantaggio ingiusto di assistenza AI, rallentamento e altri hack client) quello strumento I punteggi assistiti dovrebbero meritare di essere in classifica.
Questa è la soluzione più efficace, ma non la più semplice. – 7yl4r
Un'idea che avevo era di usare un timer di gioco. Se l'utente cambia il punteggio in un importo che ovviamente non è possibile, data la quantità di tempo trascorso, rifiutare di registrare le informazioni. È possibile avviare il timer e controllare il timer nello script sul lato server.
Ora, ovviamente, se cambiano il punteggio solo di alcuni punti questo controllo potrebbe non riuscire, ma, se aggiungono solo un importo inferiore a quello dell'impatto, forse non ti interesserà altrettanto?
Si potrebbe anche rendere la classifica meno importante, condividendo solo i punteggi con amici "fidati". O semplicemente permettendo alle persone di condividere il loro punteggio su qualsiasi sito di social networking. Forse questo rimuove la motivazione primaria per imbrogliare in primo luogo.
Si potrebbe quindi confrontare sempre il punteggio in modo implicito con le statistiche raccolte, per sapere se qualcuno sta facendo del bene o meno.
- 1. Struttura del gioco JavaScript
- 2. C# exam application timer cheating issue
- 3. Previene il pulsante Indietro dopo il logout
- 4. Gioco di scacchi in JavaScript
- 5. Previene il riordino nell'output derivativo?
- 6. Previene il blocco automatico dello schermo su Windows Phone 8
- 7. Previene MicrosoftAjaxWebForms.debug.js dal caricamento
- 8. Gioco Javascript; rallentando e congelando! Come risolverlo?
- 9. Come fare un gioco sicuro in javascript?
- 10. Java Motore di gioco 2D per gioco basato su tile
- 11. Gioco browser basato su testo
- 12. Previene il cursore evidenziatore nei CSS?
- 13. Previene UIAlertController per respingere
- 14. Dove posizionare il ciclo di gioco principale nel gioco Android
- 15. Previene la virtualizzazione UAC?
- 16. Cercando di eseguire il gioco Android usando libgdx su Genymotion
- 17. Come portare il gioco di Blender su Android
- 18. XForwardedSupport per il gioco https! supporto su Heroku in mancanza
- 19. Il gioco libgdx si blocca su alcuni dispositivi
- 20. Cheating nei giochi online: è possibile impedire a un processo Win32 di ispezionare/manipolare la memoria di un altro?
- 21. XNA deride l'oggetto di gioco o disaccoppiando il gioco
- 22. Previene l'attività di ricarica quando si fa clic su SearchView
- 23. Previene re-init in ajax
- 24. Intellij, previene i messaggi pop-up su make build
- 25. Previene la selezione in HTML
- 26. Previene i pulsanti per nascondere la tastiera virtuale su Android
- 27. Come scalare correttamente un gioco su Android
- 28. HTML5 Canvas (gioco) su tablet iPad/Android
- 29. Creare un gioco con Cocos2dx su Linux
- 30. reagire suono gioco nativo su evento
Ci dovrebbero essere delle buone risposte in molte delle domande correlate su questa pagina. Come è diversa la tua domanda? –
possibile duplicato di [Quali sono i modi migliori per prevenire l'imbroglio nei giochi multiplayer JavaScript?] (Http://stackoverflow.com/questions/5250403/what-good-ways-ways-are-there-to-prevent-cheating-in- javascript-multiplayer-games) – Konerak