[Alg] Safe code

Pagina: 1 2 Laatste
Acties:
  • 573 views sinds 30-01-2008
  • Reageer

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 10-09 12:16

Sponge

Serious Game Developer

Werkten Quake I fo 2 trouwens niet met een algorithme om te bepalen of iemand een cheater was (% accuracy e.d.), waardoor sommige extreem goede spelers gekicked (of erger) werden.

offtopic:
Cool dat je kat weer terug is! Been chasing birds again? ;)

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 15:22

.oisyn

Moderator Devschuur®

Demotivational Speaker

41.6C.6D.61.72 schreef op 15 augustus 2002 @ 19:49:
Werkten Quake I fo 2 trouwens niet met een algorithme om te bepalen of iemand een cheater was (% accuracy e.d.), waardoor sommige extreem goede spelers gekicked (of erger) werden.

offtopic:
Cool dat je kat weer terug is! Been chasing birds again? ;)



volgens mij niet
ik heb een keer naar het Quake1 protocol gekeken (niet quakeworld overigens!), en daar was alles dus volledig afhankelijk van de server (veranderingen van posities werden doorgestuurd van alles wat potentieel zichtbaar was)

Maar in quakeworld is dat dacht ik heel anders geregeld

offtopic:
ben idd blij dat ze terug is, maar ze is heel zwak en mager. Ze is al 16, en haar nieren functioneren slecht... ik vrees dat ze niet meer al te lang in leven blijft. Morgen naar de dierenarts om te kijken hoe en wat, en als het een spuitje wordt dan heb ik iig de kans om afscheid te nemen

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • TheOneLLama
  • Registratie: Oktober 2000
  • Laatst online: 20-01-2022

TheOneLLama

A llama like no llama before

.oisyn schreef op 15 augustus 2002 @ 19:42:
[nohtml]
[...]


dat klopt, daarom moet je de tijd waarop een knop is ingedrukt ook meesturen
(let wel dat 500 ms over het algemeen niet geldt als speelbare ping... zeker niet met zo'n algoritme)
Het was een voorbeeld om aan te geven dat als je een directe correctie upstuurt op basis van verschil server<->client model prediction een stuk minder nuttig wordt.. hoewel je er nog steeds een stuk voordeel aan hebt, nl. de one way latency tussen client en server. Misschien als je correctie een beetje smooth doorvoerd. :) Je kan em natuurlijk al een beetje voorspellen aan de hand van vorige correcties..
[...]


Je kan ook gewoon, in plaats van de client blindelings op z'n woord te vertrouwen, kijken of die tijd enigzins consistent is met de rest
Dat kan.. daar zijn natuurlijk ook op protocol niveau methodes voor met ticks ed. maar het blijft een gevaarlijk pad.. zoals in de praktijk ook vaak gebleken is.
[...]

dat zeg ik ;)
je zult altijd een trade-off moeten maken, daar ontkom je gewoon niet aan. Maar je kunt wel zorgen dat het zo kloppend mogelijk is.
Natuurlijk is het dan niet 100% veilig tegen cheaten, maar zeg nou zelf, hoeveel ruimte voor cheaten blijft er over? Dat een client opgeeft dat een knop 25ms eerder is ingedrukt dan werkelijk?
Uhuh.. die tradeoff hadden we het al een tijdje over :) Opvallend is natuurlijk dat in games zo'n tradeoff mag, terwijl ik me nog niet een webservice zie bouwen "ja als de client dit en dit en dit doet hoeft ie opeens 25 van de 1000 euro niet te betalen." :P Als je zegt "ach dan maar geen security op dit punt" zie ik sommige mensen al over hun nek gaan hier :D
In de praktijk zie je dat zo'n gok soms toch net verkeerd uitpakt (hoewel niet altijd uit performance oogpunt, soms ook gewoon gemak) en spellen totaal verpest worden door al het gecheat.

[...]
zoals je zelf al aangeeft is dat niet echt een optie :)
[...]
zoals ik al zei, dat hou je toch wel :)
[...]
[/quote]

We zijn het idd best met elkaar eens geloof ik :7
een spawn bestaat meer dan alleen een positie, richting en tijdstip, en gespawned worden moet er toch wel. Kun je net zo goed gelijk doen (ook al is het onzichtbaar) zodat je op bericht van de server gelijk de entitiet kan toewijzen
Ook in een model zonder prediction zou ik het object voor een grenade al spawnen enz. als ik een request do. Als je het object alvast aanmaakt en pas als de server je vertelt waar en wanneer je het hebt afgevuurd ook daadwerkelijk afvuurt dan ben je ook niet meer met prediction bezig.
[...]
klopt idd
[...]
tenzij je een heel complex collision model hebt zijn floating point afwijkingen niet zo heel erg belangrijk en vrijwel niet zichtbaar voor het blote oog en de hersenen. (zo van: heej dat klopt niet, die rocket was eigenlijk 0.001 units naar rechts zodat ie net wel tegen de muur kwam ipv ernaast. CHEATERS!)
Als je je model compleet correctie georienteerd bouwt (wat datatraffic kan schelen) worden die verschillen steeds groter en groter.. waar die de auteur van die post nog het meeste door ge-irriteerd was was dat al die FP bugs erg slecht bekend waren (lees: hij kwam er pas achter toen het te laat was).
[...]
nee, je moet alleen zorgen dat de server op 125 fps draait :)
[...]
Hm ik weet niet precies hoe die bug inelkaar zit bij Quake3 maar ik ken em van Quake2. Er zijn dus echt mensen die op hun AMD2000+ met Geforce4 op 640x480 spelen om zoveel mogelijk FPS te halen om zover mogelijk te springen.

uiteraard, daarom stond het stukje wat daarna kwam er ook bij
[...]
Halve ping was misschien een slecht voorbeeld idd, maar ook niet meer dan als dat bedoeld: een voorbeeld. Maar als iemand een knop indrukt en het pakketje doet er meer dan een seconde over kun je je ook gewoon afvragen of het sowieso wel zinnig is om zo'n persoon in de game te laten... ook al is ie eerlijk. Want zeg nou zelf, wil jij spelen met een ping van 2 ms?

Zelfde geldt voor package loss. Als de client een pakketje verstuurt met een commando erin en die raakt zoek, dan klopt het ook niet meer. Imho is het de taak van de client dat te detecteren (de server acknowledged dat pakketje niet), en zich aan te passen aan de nieuwe situatie (positie van de speler enz. opnieuw opvragen). Okee, dit kan resulteren in een schok. Je kunt daar moeilijk over gaan doen, of gewoon accepteren dat je netwerk niet voldoet aan de eisen van het spel (package loss is toch al iets wat weinig voorkomt, zeker met de apparatuur van tegenwoordig. Als je er last van hebt dan is het meestal ook niet maar 1 pakketje maar gewoon 50% van alle packets, omdat er problemen zijn met een router in het netwerk. Compenseren hiervoor zou nutteloos zijn imho)[/quote]

Tja een internet verbinding blijft instabiel iets.. we hebben het nu vooral over FPS en daar is een ping van 250ms al hoog tegenwoordig.. maar als dat betekend dat ik tot 250ms terug in de geschiedenis m'n bewegingen kan aanpassen vind ik het al ver gaan. Maar ach, we waren er al achter... het is allemaal altijd zoeken naar een comprimis.. en we hebben het nu alleen nog maar over security en speelbaarheid gehad.. niet CPU / RAM usage en dat soort dingen :) Het blijft natuurlijk wel jammer dat perfomance minder moet zijn door die k* cheaters, en dat ze zelfs dan nog de boel een beetje kunnen verzieken.. kijk bv. naar counterstrike waar een tijd een aimbot heeft gewerkt (of nog steeds werkt?) die de skins vervangt en aan de hand van kleuren van het scherm aflezen (!) je muisbewegingen controleert! Misschien toch maar Carmacks advies opvolgen.. gewoon lekker op een LAN of via internet met mensen die je kent, die je vertrouwen kan, spelen... (moet je wel veel mensen kennen wil je een leuke MMORPG spelen :P)

Opera OpenOffice.org Jabber Psi jabber://llama@mordax.com


  • TheOneLLama
  • Registratie: Oktober 2000
  • Laatst online: 20-01-2022

TheOneLLama

A llama like no llama before

41.6C.6D.61.72 schreef op 15 augustus 2002 @ 19:49:
Werkten Quake I fo 2 trouwens niet met een algorithme om te bepalen of iemand een cheater was (% accuracy e.d.), waardoor sommige extreem goede spelers gekicked (of erger) werden.

offtopic:
Cool dat je kat weer terug is! Been chasing birds again? ;)
Dat was een MOD, dat zit er niet standaard bij.

Opera OpenOffice.org Jabber Psi jabber://llama@mordax.com


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 10-09 12:16

Sponge

Serious Game Developer

Hmm, dat kan idd wel. Was nog voor mijn echte online tijd :)

btw, op flipcode.com/network{ing} staat een interessant artikel, gebaseerd op Quake 2, misschien wel eens interessant om door te lezen.

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:07
Ik kick dit topic even. :P

Ik vond op de MSDN Belux forums een linkje dat wellicht best interessant is voor Windows Developers. Ik moet het zelf nog lezen, maar het ziet er wel veelbelovend uit:

klik

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Zeer interessant. Vooral (DoS) attack drie is leuk:
Is my system secure from a malicious user who sends me malformed input?
Is my database secure from unauthorized access?
Would my system tolerate the destruction of a data center in a tactical nuclear strike?
Pagina: 1 2 Laatste