Manager für Browsergames ?

Bei Browsergames ( z.B.: Ogame, Inselkampf, Desertwar, usw. ) wirds nach einiger Spielzeit immer aufwendiger einen Account zu verwalten, da man immer mehr "Stützpunkte" ( z.B.: Planeten, Inseln, Camps, usw. ) hat. Leider sind die meisten Games so aufgebaut das man jeden einzelnen Stützpunkt aufrufen und bearbeiten ( z.B.: Einheiten bauen, Gebäude bauen; ) muß.

Für manche dieser Browsergames gibt es jedoch so genannte Manager die das Verwalten erleichtern ( z.B.: Übersicht aller Stützpunkte auf einer Seite, einfachere Auftragserteilung; ). Ich interessiere mich nun dafür wie so ein Manager funzt bzw. wie man ihn erstellt.

Besonders stellen sich mir hierbei die folgende Fragen:
1. Mit welcher Sprache setzt man soetwas am leichtesten / effektivsten um?
2. Wie funktionert das mit dem Anmelden über das Managerprog und die interaktion zwischen Managerprog und Browsergame?

Ich hoffe ihr könnt mir da weiterhelfen! ;)

P.S.: Ums gleich vorweg zu nehmen:
a) Ich weiß das solch ähnliche Programme ( Bots ) bei den Browsergames verboten sind ( will ja auch keinen machen :P)
b) Ich weiß das mir hier keiner ne vollständige Anleitung geben bzw. mir das Teil programmieren wird! Ich such nur nach Anhaltspunkten wo ich weitersuchen/-lernen kann :rolleyes:
 
Ich empfehle dir hierbei Programmiersprachen, bei denen komplizierte Dinge wie Netzwerk-Programmierung bereits "vorprogrammiert" sind und dir zur Verwendung immer zur Verfügung stehen.

Z.B. wenn du einen Ogame-"Bot" programmieren willst, der Alarm schlägt, sobald man angegriffen wird, dann musst du ein Programm schreiben, welches die Übersichtsseite alle XX Sekunden herunterlädt (so macht es der Browser im Prinzip ja auch, es kommen später nur noch einige Dinge dazu, wenn man beispielsweise Formulare (so wie ein <form>) versenden muss, um z.B. im Spiel Flotten zu verschicken). Die heruntergeladene Seite wird dann nach bestimmten Begriffen wie z.B. "Eine feindliche Flotte" durchsucht und bei Erfolg schlägt das Programm Alarm.
(Ich hab so einen Bot bereits geschrieben, aber keine Sorge ich spiele kein OGame mehr. Dennoch entwickle ich mein OGame-Tool weiter. *g* ==> http://robertnitsch.de ==> Projekt ==> emaggO)

Bei .NET ist dieser OGame-"Bot" ziemlich einfach umzusetzen, denn es reicht eine Anweisung wie

WebClient.DownloadFile("http://ogameXXX.de/game/overview.php?sid=abcdefgh123","tmp.txt")

um die Übersichtsseite herunterzuladen. Der User muss in diesem Fall halt die URL mit der SessionID angeben.

Wie man sich mit Hilfe des WebClients von .NET automatisch einloggt, da bin ich bisher noch nicht dahinter gekommen. Allerdings bin ich ganz nah dran. Nur ein dämlicher unverständlicher und v.a. unbegründeter Fehler bei der Übertragung von Formular-Werten treibt noch sein Unwesen (an jeden übertragenen Wert wird - warum auch immer - ein Zeilenumbruch angehängt).


2. Wie funktionert das mit dem Anmelden über das Managerprog und die interaktion zwischen Managerprog und Browsergame?
Das Anmelden funktioniert so, indem du eben wie der Browser die Anmelde-Daten an das Login-Skript schickst, z.B. an http://ogame.de/login.php (das ist nicht die echte URL, aber egal).
Mit dem WebClient von .NET funktioniert das mit der Methode WebClient.UploadValues(). Wie gesagt scheitere ich noch an dem oben beschriebenen Problem bei dieser Methode.

Die Interaktion zwischen Managertool und Browsergame erfolgt, indem man (das Tool) die einzelnen Seiten des Browsergames in regelmäßigen Abständen herunterlädt und die benötigten Daten aus den heruntergeladenen Seiten extrahiert. Die Dateien müssen also geöffnet und systematisch durchsucht werden. Das kann aber ziemlich aufwendig werden.

In jedem Fall muss man verdammt viel Hintergrundwissen haben, am besten auch über die Programmiersprache, in welcher das Browsergame selbst geschrieben wurde (meistens PHP).
Ich hoffe ich konnte dir einen kleinen Überblick verschaffen.


MfG, BattleMaker
 
Hallo,
gerade bei Ogame habe ich mich gefragt, wie ich ein Skript dazu animieren könnte, sich automatisch dort einzuloggen. Der Rest für einen Bot wäre natürlich sehr einfach.
Ist es denn überhaupt klug, ein PHP-Skript dafür zu schreiben, das sich eben automatisch einloggt und guckt, ob man angegriffen wird, o.ä.?
Ich frage mich ernsthaft (nicht nur bei Ogame, sondern auch bei vielen anderen Seiten - nicht nur Browsergames - und nicht unbedingt für Bots) wie man ein PHP-Skript zum Einloggen bewegt.

Ein kleines Beispiel:
Im Quelltext der Hauptseite kann man erfahren, dass der Login-Link ungefähr so aussieht:
http://uni20.ogame.de/game/reg/login2.php
Aber wie werden dort nun die Logindaten übergeben?
Jedenfalls führt uns dieser Link unbedingt hierhin:
http://uni20.ogame.de/game/reg/errorpage.php?errorcode=2&arg1=20&arg2=0
Und dort stehen arg1=20 für das Universum und arg2=0 für den Namen.
D.h. wie kann man Namen und Passwort automatisch übergeben?
Das ist für mich zum Beispiel ganz praktisch, wenn ich mich direkt beim Browserstart einloggen will, was durchaus nützlich ist.

Wie sieht es mit Ideen aus? :D
PS: Ich hoffe, dass ich trotz des Alters des Threads noch eine Antwort bekomme :)
 
Ich antworte jetzt mal sehr allgemein ( gibt sicher hier einige Profis die dir besser helfen können )!

Wenn du ein Script/Tool/Bot/Sonstiges erstellen willst das sich automatisch bei nem BG oder sonstigem einloggt ist es am besten wenn du vorher mal schaust was du bzw. dein Rechner beim "manuellen" einloggen überträgt. Dazu nimmt man am besten nen Sniffer ( richtiger Ausdruck? ) wie z.B. Wireshark. Mit den so erhaltenen Infos ( was wird übertragen, wo wird die Session gespeichert, usw. ) kannst du dann dran gehen ein Login-Script zu erstellen.

In welcher Programmiersprache du den Bot/.. programmieren willst bleibt eigentlich dir überlassen. Ich hab mal was in PHP verbrochen, aber auch schon was in vb, Java,u.a. gesehen.
 
wenns nur darum geht, ein PHP script zum einloggen zu nutzen ist es ja nicht sonderlich schwierig.

man nehme eine einfache php datei, schreibe die Formularanweisungen hinein (so wie sie @ogame.de stehen) und setze statt den inputfeldern gleich seine Werte ein.
Dann als Ziel die ogame.de/login.php oder wie es heißt nehmen, POST nehme ich an.

Eigentlich sollte man dann ja eingeloggt sein, sobald man auf ogame.de geht

hab ogame aber nie gespielt, daher kA ob meine Idee gerechtfertigt ist =)
 
Wenn die Entwickler ein bischen mitdenken, dann übergeben sie beim Loginformular eine einmalige ID.
Dadurch wäre ein Login dann nur mit gültiger ID (gültiger Session) möglich, und somit ein "Remote-Login" über ein eigenes Script unmöglich.
 
@Mackz Nicht ganz....
Meistens wird die Umsetzung der versteckten SId durch ein verstecktes Formularfeld gemacht. Das kann man nun auch über einlesen der Loginseite über ein weiteres GET request auslesen.
Daraufhin kann man sich mit der erhaltenen SId einloggen.

MFG HKA
 
@HKA:
Es gibt durchaus Möglichkeiten sowas umzusetzen, ohne das deine Variante zum Erfolg führen würde ...
 
Hmm also ich hab es mit C++(Dev-Cpp) und Sockets hinbekommen.

Einfach den HTTP Header vom Feuerfuchs abschicken(ohne das encoding gzip) und schon funzts.
 
Zurück
Oben