ich bin neu hier im Forum, lese aber schon eine Weile fleissig mit.
Als WorldOfTanks Spieler hab ich mich oft gefragt, ob das Sichtsystem wirklich auf dem Server berechnet wird.
Mit einem Kollegen hab ich da lange drüber philosophiert und wir sind der Meinung, dass der Server zwar die Information, ob ein Panzer sichtbar ist oder nicht, liefert, es am Client aber erst ausgewertet wird.
In diesem Zuge hab ich die Funktionen der umbraob32.dll exportiert um mir eine Proxy DLL dazu zu schreiben.
Verwendet habe ich den Dev-C++ Compiler.
Source:
Leider funktioniert die Initialisierung nicht mit der Fehlermeldung
"Fehler bei Initialisierung 0xc000007b"
Hat vielleicht jemand einen Tipp woran es liegen kann?
Falls noch weitere Infos zu den Funktionen aus der DLL nötig, kann ich die posten.(zumindest das was der Disassembler hergibt)
Falls ich im falschen Forum gepostet habe, dann seht es mir bitte nach.
Gruß
Hanse
Edit:
Ok, hab vergessen beim Kompilieren das DEF File mit anzugeben.
WOT Fenster öffnet sich schonmal kurz, wird dann aber wieder geschlossen.......mal schauen.
Auch wenn der Client es auswertet, geschieht das checken, berechnen etc. auf dem Server. Du kannst vielleicht einen Effekt bei dir auslösen, dieser kann aber falsch etc. sein, da wie gesagt das ganze auf dem Server passiert.
Eine Möglichkeit bei so einem Game zu cheaten/hacken wär, Packets mitzulesen, verändern und an den Server schicken. Sprich das ganze bei dir emulieren und an den Server dann schicken.
Wo ich mir WoT zum ersten mal geholt und angesehen hab, konnte ich schon im Menü nach dem einloggen erkennen, dass es eine Art "Browser" ist. Wenn du in den Shop gehen wolltest etc. hat es immer bissl länger geladen(und hatte leichte Merkmale von Browsern die eine Seite laden), bei anderen Games passiert sowas eigentlich viel schneller, dies hat mich dann vergewissert das ca 90% des Spiels auf dem Server basiert/läuft.
Das ist die Zukunft und eine Art des Anti-Cheatings. Es wird alles mehr auf den Servern ausgelagert und der Server übernimmt immer mehr und mehr, der Client kümmert sich fürs darstellen.
Falls ich mich wo täusche, dann bitte darauf hinweisen.
Das es eine Art Browser mit Python Verarbeitung ist haben wir auch schon festgestellt. Die komplette Spiellogik wird in den vorkompilierten Pythonscripts erledigt.
Ich würde drauf wetten, dass alle Vektoren von Mitspielern einer Runde an den Client gesendet werden und per Flag geregelt wird welcher Panzer sichtbar ist und welcher nicht.
Die Funktionen in der umbraob32.dll weisen jedenfalls daraufhin.
Wenn man nun generell alle Feindpanzer Flags auf "sichtbar" setzt, ist es völlig egal was der Server sendet oder macht, am Client sind die Panzer immer sichtbar.
Immer sichtbar, aber ob die Position stimmt? Der Server sendet dir immer wieder neue Position mit den Flags etc. Wie gesagt bei dir ist es sichtbar, aber diese Information muss nicht stimmen
dass du in den jeweiligen funktionen jeweils den arrayindex * 4 nimmst ist auf jedenfall falsch.
was soll die proxy dll überhaupt - und wo kommt genau der fehler?
außerdem generell net ganz schön das ganze unnötige kopieren da.
und wenn du unter windows arbeitest nimm visual studio, express version ist kostenlos, kann mehr als devc++ und hat by default nen aktuellen/brauchbaren compiler.
Die Proxy DLL soll den Sinn haben, dass ich die Daten die da durchlaufen manipulieren will.
Momentan will ich erstmal erreichen, dass sie vom Program ordentlich gefressen wird.
Die Kopiererei muss so gemacht werden, da der Linker von dev-c++ sonst den Code nicht kompiliert. Nicht schön aber selten, ich weiss.......
Der Initialisierungsfehler ist schon behoben, wie ich schon schrieb, hatte vergessen die DEF Datei mit zuverarbeiten.
Die original DLL läd einen haufen System DLLs nach und da liegt jetzt der Knackpunkt. Das Program startet schon, aber schliesst dann sofort wieder.
Welche DLLs nachgeladen werden hab ich mir durch den dependensy walker geholt.
Momentan hat die Proxy DLL ja nur die Funktionspointer und läd keine weiteren DLLs nach.
Bin offen für Ansätz wie man das angehen kann.
Ja VS2008Prof hab ich schon, aber noch nicht installiert.
The entry-point function should perform only simple initialization or termination tasks. It must not call the LoadLibrary or LoadLibraryEx function (or a function that calls these functions), because this may create dependency loops in the DLL load order. This can result in a DLL being used before the system has executed its initialization code. Similarly, the entry-point function must not call the FreeLibrary function (or a function that calls FreeLibrary) during process termination, because this can result in a DLL being used after the system has executed its termination code.
Auch wenn der Client es auswertet, geschieht das checken, berechnen etc. auf dem Server. Du kannst vielleicht einen Effekt bei dir auslösen, dieser kann aber falsch etc. sein, da wie gesagt das ganze auf dem Server passiert.
Eine Möglichkeit bei so einem Game zu cheaten/hacken wär, Packets mitzulesen, verändern und an den Server schicken. Sprich das ganze bei dir emulieren und an den Server dann schicken.
Wo ich mir WoT zum ersten mal geholt und angesehen hab, konnte ich schon im Menü nach dem einloggen erkennen, dass es eine Art "Browser" ist. Wenn du in den Shop gehen wolltest etc. hat es immer bissl länger geladen(und hatte leichte Merkmale von Browsern die eine Seite laden), bei anderen Games passiert sowas eigentlich viel schneller, dies hat mich dann vergewissert das ca 90% des Spiels auf dem Server basiert/läuft.
Das ist die Zukunft und eine Art des Anti-Cheatings. Es wird alles mehr auf den Servern ausgelagert und der Server übernimmt immer mehr und mehr, der Client kümmert sich fürs darstellen.
Falls ich mich wo täusche, dann bitte darauf hinweisen.
Alles was mit Packet-Manipulation zu hacken geht, geht auch ohne
@TE:
warum rechnest da jede adresse "mal" 4?
probiers mal so
sorry das ich mich erst jetzt melde, Wochenende war ich zeitlich zu eingespannt.
Ja das *4 stammt vom sizeof(void*), werds ändern.
Die abhängigen DLLs werd ich auch nachladen.
Melde mich dann wieder.
so ich hab den ganzen Code jetzt in VS2008 Prof. überführt.
Die Kompilierung funktioniert auch, aber es gibt Probleme mit dem DEF File.
Die Funktionsnamen werden nicht korrekt aus dem DEF File übernommen.
proxy problem 04/09/2011 - Metin2 Private Server - 3 Replies Ich habe mir proxy nach dieser anleitung installiert:
http://www.elitepvpers.com/forum/metin2-pserver-gu ides-strategies/377534-how-eigner-proxy-root-gm-re chte.html
Doch jetzt hab ich das problem, dass der proxy übels langsam ist.
Davor auf mein alten root hab ich den proxy auch so installiert und der war richtig schnell.
Das heißt da hatte ich keine lags usw. Und jetzt mit dem proxy hab ich voll übels lags im spiel.
Woran kann es liegen das mein proxy so langsam ist? Wie krieg ich den...
Proxy Problem (JAP) 01/19/2011 - Technical Support - 5 Replies Moin,moin
Ich hab ein Problem mit meinem Proxy Server seit dem ich von FF auf Opera gewechselt bin.Ich hab den Proxy von JAP also diesem anonymiesierungsprogramm (falsch geschrieben ich weiß) Ich hatte mir JonDoFox für mein FF geholt da FF aber ein paar Funktionen auf meinem Pc blockiert hatte hab ich beschlossen auf Opera zu wechseln.Ich hab nun alles eingestellt wie es Jap wollte
HTTP 127.0.0.1
HTTPS 127.0.0.1
FTP 127.0.0.1
soweit so gut funktionieren tut es auch aber mein Browser...
Proxy Problem 05/29/2010 - Diablo 2 - 1 Replies Mir kam die Idee 8 bots in einem game laufen zu lassen, um besser "leveln" zu können. 4 auf einem Virtuellen PC in vmware und den rest auf dem Normalen.
Die 4 auf vmware laufen super!
Ich habe mich dann nach dem How to join 1 Game with more than 4 Chars or bnet with more than 8 per PC/IP Guide aus dem Forum hier gerichtet.
Nach erfolgreichem Einstellen habe ich mir viele verschiedene proxys geholt und getestet.
Allerdings immer wenn ich mit dem 5ten char versuche über ein proxy ins...
problem with cid proxy 06/10/2009 - Conquer Online 2 - 3 Replies evry time i installe cid proxy my conquer dosnt work anymore
when the aiutopatch is done CO just disapear
Proxy problem 11/11/2007 - Technical Support - 3 Replies hiho
hab folgendes problem
hab mir im internet n paar proxy listen zusammn gesucht und gescannt ( 10.000 stück) Gescannt hab ich mit "Charon"
Naja am schluss habe ich die proxies die mit "good" eingestuft wurden hintereinander getestet keiner von denen ging...