Gameserverbeeinflussung
-
Hi,
ich würde gerne mit C++ einen CS:GO (Counterstrike: Global Offensive) Server beeinflussen. Nein ich möchte keinen ServerSideHack schreiben,
sondern nur Daten auslesen und Daten beeinflussen(Rundenanzahl, Zeit, etc) um diese dann in Datenbanken zu speichern.Jetzt ist die Frage: Wie stelle ich das an?
Meine Gedanken dazu:
1. Ich muss C++ lernen, was ich mir auch sehr ordentlich vorgenommen habe (Vorkenntnisse durch c#, javascript, php, html)
2. Wenn die "C++ Daten" auf dem Server sind, wie wird dann z.B. eine Rundenanzahl ausgelesen? ist dies überhaupt mit C++ möglich? Wenn ja:
3. Welche Bücher, Internetseiten, etc sind gut um mit sowas anzufangen? (ob deutsch oder englisch, mir egal)Das Gleiche könnte man ja auch mit: "Call of Duty"-Spielen usw. machen, aber ich verstehe halt nicht wie der Eingriff in das Spiel funktionieren soll.
Bitte keine Flames, oder arrogantes getue.... ich wende mich an ein Forum, damit man mir weiterhelfen kann.
*MfG
mty138//Hier noch ein YT-Vid, für diejenigen die nicht wissen was csgo ist
//http://www.youtube.com/watch?v=QNqCeRrLuFI
-
mty138 schrieb:
Bitte keine Flames, oder arrogantes getue.... ich wende mich an ein Forum, damit man mir weiterhelfen kann.
*Das mag jetzt arrogant klingen, aber: Vergiss es. Das wird nichts, wenn du als Schritt 1 hast, die Sprache überhaupt zu lernen. Stell jemanden ein, der es dir programmiert oder benutz ein fertiges Cheattool. Das Vorhaben ist viel, viel, viel zu schwierig für jemanden, der noch nicht programmieren kann*. Geschätzte Zeit um das ohne Vorkenntnisse selber zu entwickeln: 9-15 Monate, wenn du sehr motiviert bist.
*: Aus deinen Fragen schließe ich, dass du trotz deiner angeblichen Kenntnisse in C# nicht wirklich programmieren kannst.
-
Hi,
mit C++ ist das nicht möglich. Dazu brauchst du externe Toolkits. Das wiederum verlangt, dass du C++ bereits einigermaßen beherrscht, sonst wirst du dir extrem schwer tun. Nachdem was du schreibst, bist du praktisch Anfänger in allen von dir genannten Sprachen. Und da C++ die schwierigste Sprache ist, ist dein Vorhaben nicht umsetzbar. Wenn du wirklich C++ lernen willst, brauchst du ein paar gute Bücher, sonst tappst du in die "ich programmiere in C++ so wie ichs in C# auch mache" Falle und dann bist du "verloren".
-
mty138 schrieb:
2. Wenn die "C++ Daten" auf dem Server sind, wie wird dann z.B. eine Rundenanzahl ausgelesen?
Das ist abhängig von dem jeweiligen Programm, das du beeinflussen möchtest. Hat es vorgesehene Schnittstellen für sowas? Früher konnte man auf solche Daten z.B. über das RCON-Protokoll des jeweiligen Spiels zugreifen. Das müsstest du dann implementieren, was in praktisch jeder Sprache möglich ist.
Ein kurzes Googeln sagt mir, dass es für dein Counterstrike auch irgendwie eine auf HTTP-basierende API gibt. Auch die kannst du (vorzugsweise mithilfe von Librarys) in C++ implementieren.
Der erste Schritt ist aber erstmal das Programmieren und irgendeine Sprache zu lernen. Nicht indem du Gameserver beeinflusst, sondern indem du erstmal ein Hello World und alles was danach so kommt schreibst. Du solltest über Datenstrukturen lernen. Gängige Algorithmen solltest du verstehen.
Guck dir mal die Links in Sepps Signatur an, da findest du bestimmt ein brauchbares Buch.
Zum Programmieren lernen generell (unabhängig von irgendeiner Sprache) kann ich nur SICP empfehlen. Da werden die wichtigen Konzepte wirklich sehr gut vermittelt. Ist aber durchaus etwas anspruchsvoller. Übrigens nicht nur für Anfänger interessant.
Gibt es beim MIT mittlerweile kostenlos im Volltext online.
http://mitpress.mit.edu/sicp/
-
Mal was anderes: Ist das dein Server ? Wenn nein kannst du das sowie so vergessen.
Wär ja noch schöner wenn jeder ohne Authentifizierung auf nen Server zugreifen und ihn nach Belieben verändern könnte.Und es wäre ganz interessant zu wissen was du damit erreichen willst. Willst du damit cheaten ?
Bitte keine Flames, oder arrogantes getue.... ich wende mich an ein Forum, damit man mir weiterhelfen kann.
Es mag zwar sehr einfach klingen "mal schnell ein paar Werte zu verändern" aber sowas wird von den meisten nun mal stark unterschätzt.. Ohne Programmiererfahrung wird das ohne externe Tool viele Monate dauern bis du es auch nur halbwegs funktionierend hinbekommst.
-
mty138 schrieb:
Hi,
Jetzt ist die Frage: Wie stelle ich das an?Mit den dafür vorgesehenen Mitteln der HL-Engine, also ein Server-Side Mod.
Gute HL-Mods wie bspw. AMX unterstützen wiederrum skripting, so dass du im Endeffekt nicht mal wirklich programmieren können mußt, geschweige denn C++ lernen.Ich rate ich dir ab C++ zu lernen oder ein eigenes Mod zu schreiben.
-
Geschätzte Zeit um das ohne Vorkenntnisse selber zu entwickeln: 9-15 Monate, wenn du sehr motiviert bist.
Würde ich in Kauf nehmen um C++ ordentlich zu lernen.
Dazu brauchst du externe Toolkits.
Erklär mal bitte genauer^^
Wenn du wirklich C++ lernen willst, brauchst du ein paar gute Bücher, sonst tappst du in die "ich programmiere in C++ so wie ichs in C# auch mache" Falle und dann bist du "verloren".
Welche kannst du denn empfehlen? Es geht mir um die Erlernung einer neuen Sprache, hatte mal die Basics an der Fachhochschule gelernt (Switches, Schleifen etc als Konsolenanwendung)
Früher konnte man auf solche Daten z.B. über das RCON-Protokoll des jeweiligen Spiels zugreifen. Das müsstest du dann implementieren, was in praktisch jeder Sprache möglich ist.
Das einzigste was möglich ist: Man gibt in die Entwicklerkonsole "rcon_adress <IP>" dann "rcon_password <RCON PW> ein und man kann den Server Clientseitig steuern. Mit direkten RCON-Logs habe ich mich noch nicht befasst.
Guck dir mal die Links in Sepps Signatur an, da findest du bestimmt ein brauchbares Buch.
thx
Ist das dein Server ?
ja
Und es wäre ganz interessant zu wissen was du damit erreichen willst. Willst du damit cheaten ?
Ich will NICHT cheaten, fair play steht an oberster stelle bei mir und wird es immer bleiben. Es geht um ein Community Projekt, wo man später Cups/PCWs mit gestellten Servern leiten kann ohne einen großen Arbeitsaufwand durch Userfehler zu haben. Im Endeffekt geht es darum das die User auf einen Server connecten, sich bereit erklären via Chatcommand und dann das Spiel beginnt etc. Desweiteren will ich die Zeit sowie Rundenanzahl beeinflussen, weil ich am Anfang einen kleinen Deathmatchmod laufen lassen will. Der Rest ist ein Teamswitch von einzelnen Clienten, der Restart und halt die allgemeine Datensammlung von Statistiken und Runden, was alles auf einer Website ausgegeben werden kann.
Gute HL-Mods wie bspw. AMX unterstützen wiederrum skripting, so dass du im Endeffekt nicht mal wirklich programmieren können mußt, geschweige denn C++ lernen.
Ich weiß das es eine AMX Mod gibt, möchte mich mit ihr aber nicht beschäftigen, da es darum geht C++ zu lernen und umzusetzen.
Es ist noch zu sagen, das es um eine kleine Community geht, ich weiß es gibt schon größere wie die ESL und ESEA die das auch gut und sehr gut umgesetzt haben, ich will aber mein eigenes^^ Danke für die Antworten bis jetzt

-
mty138 schrieb:
Geschätzte Zeit um das ohne Vorkenntnisse selber zu entwickeln: 9-15 Monate, wenn du sehr motiviert bist.
Würde ich in Kauf nehmen um C++ ordentlich zu lernen.
Das ist gut.
mty138 schrieb:
Dazu brauchst du externe Toolkits.
Erklär mal bitte genauer^^
Naja, wenn man von C++ spricht, dann meint man den C++ Standard. Alles was der Standard nicht erwähnt, gibt es in C++ nicht. Hier hast du mal ein Draft zum Standard. Wenn du was willst, was C++ nicht kennt, musst du es anderswo herholen, also irgendwelche zusätzlichen Bibliotheken.
mty138 schrieb:
Wenn du wirklich C++ lernen willst, brauchst du ein paar gute Bücher, sonst tappst du in die "ich programmiere in C++ so wie ichs in C# auch mache" Falle und dann bist du "verloren".
Welche kannst du denn empfehlen?
Da gabs erst letztens einen guten Thread: http://www.c-plusplus.net/forum/316631-full
-
mty138 schrieb:
Es geht um ein Community Projekt, wo man später Cups/PCWs mit gestellten Servern leiten kann ohne einen großen Arbeitsaufwand durch Userfehler zu haben.
mty138 schrieb:
Ich weiß das es eine AMX Mod gibt, möchte mich mit ihr aber nicht beschäftigen, da es darum geht C++ zu lernen und umzusetzen.
Also was nun? Projekt möglichst schnell/effizient umsetzen oder erst mal lange Programmieren lernen?