Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Jar« (23.06.2016, 15:12)
Du solltest das neusortieren des Inventars auch auf dem Server machen. So erkennst du auf dem Server, ob noch platz da ist und bietest dem Client weniger Möglichkeiten zu Cheaten.
Im Endeffekt liegen die Inventardaten also auf dem Server. Der Client sendet dann lediglich "Item von Position 13 nach 25 verschieben", "Stack an Position 8 halbieren", etc.
Naja er beschreibt im Prinzip eine Race-Condition (was wenn der Spieler das inventar neu soritert, bevor der Server mit aufheben des Items fertig ist?)...
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (23.06.2016, 22:14)
Ich würde mir überhaupt keine Gedanken über eine Verzögerung machen. Einfach mal implementieren. Dann wirst Du merken, dass "Item verschwindet vom Boden" und "Item taucht im Inventar auf" so nahe beieinander liegen, dass ein Mensch das gar nicht unterscheiden kann. Die Prüfung, ob es in's Inventar aufgenommen werden kann, sollte wie schon vorher erwähnt, rein auf dem Server erfolgen. Alle Änderungen am Inventar müssen *immer* auf dem Server passieren. Der Client stellt nur Requests. Da kann sich "zwischenzeitlich" also überhaupt gar nichts ändern, weil der Server immer den aktuellen Zustand kennt. Und falls Dir jemand erzählen will, dass das mit Netzwerk nicht schnell genug geht, lass ihn reden. Ich habe an einem MMORPG-Server mitgearbeitet. Der war in Java geschrieben. Die Clients in C++. 3500 Spieler online und kein Problem irgendeiner Art mit Inventar- oder Pickup-Verwaltung. Zusätzlich auch noch in TCP.
Werbeanzeige