Du bist nicht angemeldet.

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

H5::

Treue Seele

Beiträge: 368

Wohnort: Kiel

  • Private Nachricht senden

31

14.07.2014, 11:59

Ich habe so etwas noch nie versucht und stelle es mir auch eher wenig performant vor. Aber wie würde es denn ausschauen, wenn nicht der Server die Positionsdaten des Spielers verifiziert sondern ein anderer zufälliger Client. Dieser hätte ja die nötige Karten, und es ist eher unwahrscheinlich, dass alle Cheaten. Muss man sich nur überlegen wie dann die jeweiligen Daten weiter gegeben werden.
:love: := Go;

32

14.07.2014, 12:04

Ich habe auch schon überlegt die Spieler das überprüfen zu lassen. Aber das ist doch zu umständlich. Was mir dann eher im Kopf schwebt ist das neue Positionen errechnet werden. Und wenn diese zu weit weg sind = kick wegen Speed oder in der art.

Man kann es später ja immer noch ausbessern.

33

14.07.2014, 18:43

Eine spezielle Server-Version des Unity-Spiels halte ich wie Sacaldur für am praktischsten, dann kannst Du alle Unity-Features nutzen ohne irgendwas nachprogrammieren zu müssen.

Ich habe eben mal geschaut, mit -batchmode kann man Unity wohl in einem headless System starten (siehe http://docs.unity3d.com/Manual/CommandLineArguments.html).

Ansonsten musst Du, wenn Du die Physikberechnung serverseitig nachprüfen möchtest, eine eigene Physikengine implementieren, die bei einem Java-Server sogar in Mono und auf der JVM gleich funktionieren muss, jedenfalls wenn Du clientside prediction nutzen möchtest. Die meisten/praktisch alle Spiele, die serverseitig nachprüfen, sind serverseitig eine headless Version des Spiels und keine eigene Neu-Implementierung.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Chromanoid« (14.07.2014, 18:49)


NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

34

14.07.2014, 18:58

Ich habe eben mal geschaut, mit -batchmode kann man Unity wohl in einem headless System starten (siehe http://docs.unity3d.com/Manual/CommandLineArguments.html).

Habe ich ausprobiert. Die Argumente beziehen sich auf den Buildvorgang. Das heißt also nur, dass der Build im Batchmode erstellt wird(die Unity Entwicklungsumgebung wird nicht gestartet).
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

35

14.07.2014, 19:44

Hä? Dann verstehe ich die Dokumentation nicht:

Zitat

Unity Standalone Player command line arguments

Standalone players built with Unity also understand some command line arguments:

-batchmode Run the game in “headless” mode. The game will not display anything or accept user input. This is mostly useful for running servers for networked games.

...

-nographics (Linux & Windows only) When running in batch mode, do not initialize graphics device at all. This makes it possible to run your automated workflows on machines that don’t even have a GPU.

So bin ich darauf gestoßen: http://answers.unity3d.com/questions/353…d-over-ssh.html

Werbeanzeige