X3 Terran Conflict MP! (TCMP)

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum

Bhatou
Posts: 197
Joined: Sun, 25. Dec 11, 12:01

Post by Bhatou »

na da bin ich ja echt mal heavy gespannt....

ich selber hab mal mit 2 kameraden versucht (war waren toppfitt in unsrer sprache und kannten die protokolle) ein spiel mit mehreren clients und einem server aufzubauen, aber scheiterten an der realtime sync mehrere objekte...



also 2 oder 4 schiffe gleichzeitig durchs all fliegen zu lassen übers netzwerk oder andersweitige protokolle ist vlt noch nicht gemacht, lustig wirds erst wenn man die ganzen positionen rotationen und kleinstpartikel synchronisieren will ^.^

wenn ihrs packt ist das eine mega sache und überleg mir auch vlt rebirth irgendwie zu besorgen oder so ^^
Loader009
Posts: 2174
Joined: Wed, 16. Jul 08, 17:44
x3tc

Post by Loader009 »

Meister Rog wrote:also wir haben uns endschieden den mp erst für rebith zu machen weil es sich für tc nicht mehr lohnt
Mein Vermutung ist, dass Rebirth erst gegen Herbst nächsten Jahres kommt und selbst dann noch voller Bugs sein wird.
Wenn ihr dann anfängt (neu) zu entwickeln, wird es für die ersten Schritte ein halbes Jahr dauern, dann ein Jahr, falls es denn überhaupt möglich ist.
Falls ihr hier weiter entwickelt, ist es denkbar, dass ihr in ein paar Monaten, vielleicht auch einem halben Jahr Ergebnisse habt, die ihr hier präsentieren könnt.

Außerdem, es würde doch schon reichen, seine Schiffe mit den Befehlen in den Kampf zu schicken, ohne direkt mitwirken zu müssen.
Das wäre ein Anfang, auf dem man aufbauen kann.
Greetz
Meister Rog
Posts: 106
Joined: Thu, 24. Nov 11, 15:43

Post by Meister Rog »

also um auf loaders beitrag zurück zukommen das was die beiden hier aufgebaut haben wahr schon nicht schlecht aber es ist von prinzipher ungeignet für so ein aus mars von daten austausch der stat finden mus und es wird auch nach der zeit zuun übersichtlich wir haben uns von daher für speicheraddressen austausch entschieden so wie es bei samp von gta san andreas und da ist schon ein server für 1000 von spieler möglich
Loader009
Posts: 2174
Joined: Wed, 16. Jul 08, 17:44
x3tc

Post by Loader009 »

Haltet euch nicht zurück, wir lesen gerne über euren Fortschritt, auch wenn es manchmal ein Rückschritt ist.
Ich kenne mich mit Multiplayer-Mods im grunde garnichts aus, kann daher nichts passendes zu dem sagen.

Falls ihr TCMP tatsächlich noch weiter entwickelt, wie gesagt, wir lesen gerne mit :)
Greetz

edit: Unter Umständen ist es sogar Sinnvoll, Syncs der Clients auf den Sektor zu beschränken, in dem der Client sich aufhält. Vorerst zumindest.
Würde die Datenmenge enorm verringern.
Meister Rog
Posts: 106
Joined: Thu, 24. Nov 11, 15:43

Post by Meister Rog »

ein rückschritist es nunwirklich nicht ehr ein fortschrit weil wir drauß gelernt haben das es mit ein server stystem mit nur cc+ oder php sogut wie unmöglich ist bei so ein ausmars

mit speicheraddressen auslesen sind wir zwar trotzdem noch auf cc+ angewissen ist aber viel efecktiver nach unsere meineung nach

euer meisterrog
Kevin714
Posts: 98
Joined: Sat, 19. Feb 11, 21:01
x3tc

Post by Kevin714 »

Gibt es eine Möglichkeit den Mod, so weit wie er ist zu downloaden?
Versuchen kann man es ja :)
Gravaty cat not amused!

Der computer ist eine großartige Erfindung:
Es passieren genauso viele Fehler wie vorher, nur niemand ist daran schuld


Wer rechtschreibfehler findet darf sie behalten
Jora2
Posts: 4
Joined: Mon, 6. Apr 09, 16:03
x3ap

Post by Jora2 »

Das würde mich auch einmal interessieren, einfach um sich das mal anzusehen.

Wenn ich das richtig verstanden habe wolltet ihr es in XRebirth nocheinmal versuchen, bleibt es dabei?
Meister Rog
Posts: 106
Joined: Thu, 24. Nov 11, 15:43

Post by Meister Rog »

da habt ihr beide was zumteil falsch verstanden. Denn mod der hier ist ist von den anderen beiden, und die sind dadran gescheitert. Weil es durch php und sql für so eine größe nicht geeignet ist, es wurde hint her zu komplex und unübersichtlich. Und wir wolten jetzt zuerst für tc neu anfangen zu entwicklen mit speicheradressen austausch, haben es aber lieber auf rebith verschoben weil es fürn mp besser geeignet ist durch die highways, einspielerschiff und keine sinca schon von anfang an da ist.
wir sind jetzt ein team von 3 bein 4 ist es noch nicht sicher ob er nun genau mit macht, aber ich denke schon das er mit macht.
Wir werden mit unseren project so schnel wie möglich nach dem reales von rebith starten.
euer mp mod team ;)

edite

was haltet ihr davon wenn wir ein klein youtube kanal aufmachen. Wo wir denn sync probem und so zeigen also das ihr denn auf den laufenden seid mit kleine videos ? ^^
Kevin714
Posts: 98
Joined: Sat, 19. Feb 11, 21:01
x3tc

Post by Kevin714 »

Wäre ne gute idee, vieleicht kann jemand euch helfen :)
Gravaty cat not amused!

Der computer ist eine großartige Erfindung:
Es passieren genauso viele Fehler wie vorher, nur niemand ist daran schuld


Wer rechtschreibfehler findet darf sie behalten
Meister Rog
Posts: 106
Joined: Thu, 24. Nov 11, 15:43

Post by Meister Rog »

naja es gibt keien weiteren so wie ich es momentan sehe die meisten halten es schon hoffnungslos
LaT3St
Posts: 29
Joined: Sat, 9. Apr 11, 19:48
x4

Post by LaT3St »

Sorry das ich so einen alten Thread nochmal rauskrame aber:

Hier nochmal ne kurze Erklärung wie es um uns steht,
ich und jgue haben damals eine wirklich miese Methode verwendet um alles aus dem Mod in das eigentliche Spiel zu bringen, die Logfile!
Die Logfilemethode hatte das Problem das sie zum einen sehr langsam war und - was noch viel schlimmer ist - sie beschädigte die Festplatte mit der Zeit.
Wie man eventuell aus anderen MP-Mods weiß, wird dort die Möglichkeit genutzt Speicheradressen auszulesen und zu überschreiben. Das neue Projekt wird genau so funktionieren, all diese technischen Schwierigkeiten die die Logfile mit sich brachte sind dadurch gelöst, allerdings ist der Arbeitsaufwand dafür umso höher!

Im Moment sind wir dabei das Programm das die Speicheradressen manipuliert nocheinmal neu zu schreiben und auf den alten Stand mit neuer Technik zurück zu kommen. Wir werden für das neue Projekt das .NET Framework verwenden, damit sollte es leichter werden und außerdem hatte das alte Projekt den Fehler, sich erstmal 250MB Zusatzsoftware installieren zu müssen.

Das Problem ist nun allerdings die Suche nach Speicheradressen, wir müssen nun das komplette System hinter dem Spiel verstehen um zum Beispiel voraussagen zu können wo das Spiel Schiffe hinspeichert, die gerade eben neu gespawnt sind.

Ich bin im Moment aktiv dabei und habe Hilfestellungen von beiden alten Teams erhalten bzw. erhalte sie noch immer.

Wir versprechen garnichts, aber wir versuchen es auf jeden Fall!

Der Grund warum nun doch für X3:TC ist einfach der, dass ich vieles in X:RB nunmal für hochgradig komplex halte und es so für sehr viel schwerer halte, als Beispiel seien hier die Modularen Stationen genannt die einem als MP-Modder das Leben zu Hölle machen würden.

Wer immernoch zweifelt das es technisch machbar ist solle sich bitte mal bitte die GTA-Reihe anschauen. Dort gibt es schon seit vielen Jahren die MP-Moddingfraktion MTA oder auch SAMP/VCMP und IVMP. All diese Mods verwenden unsere neue Methode und brachten es sehr weit, sogar bis zum MMORPG! Warum sollten wir das bei X also nicht schaffen?

Zu der immer wieder wiederkehrenden Meinung die Datenmenge sei einfach viel zu riesig sei gesagt das es genug komplexere MMO´s mit tausenden von Spielern gibt. Anfangs überlege ich allerdings alle KI-Schiffe vorerst rauszunehmen um TC:MP in Ruhe perfektionieren zu können bevor ich mich an dessen Synkronisation wage.

Technisch machbar ist es, das Spiel eignet sich vom Gameplay her sogar noch besser als zB GTA für sowas und gefragt ist es auch!

Ich werde mit ein wenig Glück in den nächsten Tagen/Wochen die ersten beiden Schiffe, also Flugschule und Spielerschiff gesynct haben.

MfG
LaT3St
skullair
Posts: 95
Joined: Mon, 20. May 13, 08:55
x4

Post by skullair »

Es ist schön, dass das Projekt nicht tot ist und es noch Fortschritte gibt.
Nur weiter so!
right09
Posts: 92
Joined: Fri, 18. Mar 11, 22:00

Post by right09 »

Großartig. Das ganze wird sicher ein riesenspaß. Abgesehen davon: Ihr könnt die Datenmengen sicher gut begrenzen wenn ihr die meisten Autopilot-Kommandos entfernt, OOS nicht so oft syncht und Stationen nur dann syncht wenn sich etwas ändert. Da es Ingame ja sogar möglichkeiten gibt änderungen an Stationen festzustellen sollte es kein Problem sein das bei eurem Programm einzufügen. Besonders geil wäre es natürlich wenn man mehrere Leute in ein Schiff setzen könnte, wobei das sicher ein gewaltiger Aufwand wäre. Wie auch immer, ich drücke euch die Daumen!
"modified und stolz drauf!"
"Wieso?"
"Weils jeder ist!"
GRUPPENZWANGSSIGNATUR DETECTED!
User avatar
ubuntufreakdragon
Posts: 5226
Joined: Thu, 23. Jun 11, 14:57
x4

Post by ubuntufreakdragon »

Kann etwas c++ falls ihr dringend Hilfe braucht.
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist
Einheit 101
Posts: 660
Joined: Sat, 3. Jan 09, 22:57
x3tc

Post by Einheit 101 »

Also wo hier das Wort MTA fällt, muss ich schon sagen, dass die Entwickler dort grandiose Arbeit bisher geleistet haben. Der Spielumfang wurde völlig gesprengt und man hat einfach so Funktionen hinzugefügt, von denen ich anfangs nicht einmal geträumt habe. Mittlerweile unterstützt MTA auch so zwischen 1024 und 4096 Spielern pro Server, nebenbei erwähnt, und sogar Verkehrsampeln und Feuer wird synchronisiert ;-)
LaT3St
Posts: 29
Joined: Sat, 9. Apr 11, 19:48
x4

Post by LaT3St »

Korrekt, MTA ist extrem weit.
Sie nutzen aber die selbe Methode, ich habe MTA nur angesprochen um zu zeigen das man so viel erreichen KANN, von muss oder versprechen habe ich nichts gesagt.

@right09:
OOS ist relativ einfach, es werden nur Werte berechnet und keine komplexe 3D-Berechnungen oder sonstiges, gar Physik berechnet. Das kann man ruhig auch alle Sekunde wie es auch X tut aktualisieren.
Was du bei den Stationen ansprachst bezieht sich auch auf Spieler, spieler die ihre Geschwindigkeit/Flugrichtung nicht ändern sind auch ohne dauernde Neupositionierung bei den anderen Spielern komplett gesynct, die Datenrate wird einfach bei einer Änderung kurzzeitig erhöht und so spart man viel Bandbreite.
Was zB Waren an Stationen angeht ist das nicht leichter oder schwieriger als alles andere. Allerdings werden wir den Scripteditor nicht verwenden, es wird alles über den Speicher erledigt bzw über DxHooks um ein Overlay ähnlich des Steamoverlays zu schaffen. Mehrere Leute in ein Schiff zu setzen ist meiner Meinung nach kein großer Aufwand, das Problem ist eher Schiffe spawnen, denn dafür muss man das dahinterliegende System verstehen. Der Autopilot kommt uns sogar noch entgegen, man muss das Kommando syncen und meistens reagiert der Computer ja sowieso genauso wie bei allen anderen Spielern, sollte er dennoch bei einem Spieler Abweichungen produzieren zB in einer anderen Richtung ausweichen wird dessen Schiff einfach an eine andere Position gespawnt und damit wars das.

Alles in allem:

Das meiste was hier schon besprochen wurde ist durchaus machbar, Laser werden genauso möglich sein wie Raketen und sich ein Schiff teilen könnte vllt. irgendwann sogar auch mal Realität werden.
ABER wir haben garnichts versprochen! Es kann sein das wir ein Deathmatch hinbekommen und es danach keine weiteren Updates mehr gibt!
right09
Posts: 92
Joined: Fri, 18. Mar 11, 22:00

Post by right09 »

Das Spawnverhalten könntet ihr doch "relativ" einfach herausfinden. Wenn ihr wisst wo das Spiel an sich seine Wurzeln schlägt könntet ihr ein Programm schreiben dass das ganze nur ausliest im, sagen wir mal, sekundentakt. Danach spawnt ihr auf beliebige Art und Weise der Reihe nach die Schiffe durch. Dabei werden zwar enorme Datenmengen anfallen aber die müsst ihr ja nicht selbst verarbeiten. Ihr könnt ja statistisch ermitteln wo sich was am häufigstens ändert usw. Das in ein Programm zu integrieren ist verhältnismäßig leicht. Danach habt ihr schonmal einen Ansatzpunkt. Ihr solltet nur alles andere als das Spawnen vorerst unterbinden insofern möglich.
Wenn ihr also den verwendeten Bereich dann habt könnt ihr das Programm auf diesen Fixieren (Weniger anfallende Daten) und das ganze wiederholen. Wenn ihr damit durch seid verändert ihr die Spawnreihenfolge und lasst sagen wir mal die Nova am selben Platz zur selben Zeit spawnen. Alles andere ändert ihr. Wenn ihr dann also 2 mal die selben Datenstrukturen am selben Ort bekommt habt ihr schonmal wo die Nova hingespawnt wird wenn sie zum Zeitpunkt X am Ort Y kreirt wird. Wenn nicht wisst ihr dass die Spawnstelle eines Schiffes direkt von den vorher gespawnten abhängig ist. In diesem Falle könntet ihr die Schiffsklassen die ihr vor der Nova spawn variieren um zu sehen, ob bei 2 mal der selben Schiffsklasse mit unterschiedlichen Schiffen die Nova am selben Ort landet. Jetzt geht zurrück zur ersten Spawnroutine und ersetzt die Nova zb. durch die Titan. Wird die jetzt auch da gespeichert wo die Nova war?
Auf diese Art und Weise bekommt ihr ein ziemlich gutes Screening über das Spawnverhalten. Wenn Speicherplatz für sowas reserviert wird (Und da bin ich mir ziemlich sicher) dann müsste das ganze klappen. Im Grunde ist das ganze nur eine statistische Datenermittlung.
"modified und stolz drauf!"
"Wieso?"
"Weils jeder ist!"
GRUPPENZWANGSSIGNATUR DETECTED!
User avatar
Killjaeden
Posts: 5366
Joined: Sun, 3. Sep 06, 18:19
x3tc

Post by Killjaeden »

es gibt keine spawnreihenfolge. Das ist alles zufällig...
[ external image ]
X-Tended TC Mod Team Veteran.
Modeller of X3AP Split Acinonyx, Split Drake, Argon Lotan, Teladi Tern. My current work:
Image
LaT3St
Posts: 29
Joined: Sat, 9. Apr 11, 19:48
x4

Post by LaT3St »

Leider hat Killjaeden recht, es wird im RAM selten nach einem genauen Muster abgespeichert. Dass die Flugschule am Anfang immer an der selben Position gespeichert ist, ist nur deswegen so weil da noch kein Spieler im X-Universum was geändert hat, weil der Spielstand dann immer genau gleich im RAM aussieht.

Man muss herausfinden von wo die Daten für ein neues Schiff kommen, also woher die Daten in den RAM geschrieben werden, diese Daten müsste man manipulieren. Soweit zumindest zum gesunden Informatikerverstand, wie man das genau macht müssen wir erst einmal herausfinden, das geht nicht von heut auf morgen.
User avatar
Marvin Martian
Posts: 3615
Joined: Sun, 8. Apr 12, 09:40
x4

Post by Marvin Martian »

Blöde Frage, wie viel Speicher brauchen denn die auf Festplatte geschriebenen Informationen im Regelfall?

Ich frage nur, weil ein aktueller Rechner ja selten mit weniger als 8GB RAM daherkommt. Du also problemlos eine Ramdisk nutzen könntest diese Arbeit zu erledigen. Da das Game ab ~3,6GB zugewiesenem Speicher eh abstürzt, also reichlich ungenutzter RAM vorhanden sein sollte.

Return to “X³: Terran Conflict / Albion Prelude - Scripts und Modding”