Hej jeg har et javascript til et spil der har virkeligt mange linjer code men det kan nemt hackes så tænkte om det overhovedet var mulligt at lave det om til php
Nu ved jeg ikke lige hvordan spillet fungerer, men jeg ser tegn i koden på, at der er noget bevægelse, bl.a. sætter den fps til 30 et sted. Og så nej, det kan på ingen måde lade sig gøre at lave om til PHP eller anden server side kode.
En minifier gør også meget, meget lidt for at forhindre fusk. Bortset fra variabelnavne kan det gøres pænt igen med en beautifier, og med en dev konsol kan enhver hurtigt sætte en høj score og lignende, uanset hvor obfuscated det er.
Så det korte af det lange er, nej. Du kan ikke lave browser-spil der ikke er lette at fuske med i åben, client-side teknologi, og du kan ikke lave spil med animation eller løbende eventhåndtering i server-side. Det var bl.a. derfor Flash var så populært til spil en overgang. Det proprietære, compilede format gjorde det langt sværere at fuske med.
Okay, bare en clicker. Teknisk set kunne du godt lave kald frem og tilbage til serveren for at håndtere shoppen, men det eneste det giver mening for, er at gemme dataene, så man kan komme tilbage og spille senere. Det hjælper absolut intet på at forhindre snyd, da man stadig bare kan ændre sin score og sine køb client-side og sende det til serveren, og den vil ikke have nogen mulighed for at vide, om du har tjent det på ærlig vis eller snydt.
Kan man ikke lave det sådan man ikke kan snyde sig til flere penge fordi har nemligt tænkt mig at lave en shop hvor man kan købe flere penge i spillet for rigtige penge
Alt hvad der foregår på klienten kan manipuleres nemt. Du kan kun sikre ting, ved at lade dem foregå på serveren. Men for at hente og sætte data på serveren, kræver det stadig en eller anden form for forbindelse. Den mest almindelige form for bindelse i dag er et AJAX kald, men sådan et tager tid. An på flere faktorer, kan det tage flere sekunder at forbinde - og det gør det ubrugeligt i et spil, hvor alting foregår hurtigt.
Husk at det ikke er nok at fortælle servren, at nu har brugeren så og så mange penge, for så kan man bare ændre antallet af penge på klienten og sende det til serveren. Du er nødt til at sende alle beregningerne, der GIVER pengene til serveren. Hvis man f.eks. skal klikke på noget 100 gange for at få 100 kr i spillet, så er det hvert eneste klik der skal sendes, og serveren skal så også beregne, om der er gået tilstrækkeligt længe siden sidst, til at det rimeligvis er et menneske og ikke et script der klikker.
Netkode er ikke nemt at skrive. Alle spiludviklere, der har lavet multiplayerspil, kan fortælle dig masser om det. Det er et helvede at forhindre snyd.
Du kan dog komme nogenlunde tæt ved at bruge det, der hedder websockets. Det er en relativt ny teknologi til web, hvor du har en konstant forbindelse åben mellem server og klient, hvilket giver dig muligheden for hurtigt at sende data frem og tilbage. Men stadig, det løser ikke alle problemer, og det er besværligt at implementere ordentligt.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.