Ergebnis 1 bis 7 von 7

Thema: Multiplayerscript für den RPG-Maker VX (Tocu-Connector)

  1. #1

    Multiplayerscript für den RPG-Maker VX (Tocu-Connector)

    Wie ich euch auf dem BMT bereits versprochen habe, hier eine vorab Version des Multi-Player-Scripts, welches euch ermöglichen soll, möglichst einfach Multiplayerspiele mit bis zu 4 Spielern zu erstellen.

    Projekt: Tocu-Connector
    Aktuelle Version: 0.25 Alpha

    Am Projekt beteiligt:
    Towky - RGSS, RPG-Maker Sachen, Lobby-Server und Konzeption
    Cubby - C#, Connector, Client/Server und Konzeption

    Grundanforderung an das Programm:
    - einfache Einbindung in per Copy & Paste
    - automatischer Austausch von Game-Variablen und Switches

    Definition:
    RGSS = Alle Scripte und Funktionen die im RPG-Maker ablaufen
    Connector = Externes Programm, welches die Verbindung zwischen den Spielern aufbaut.
    Server = Der Spieler/Computer, der ein Spiel hosted
    Clients = Die Spieler/Computer, die einem Spiel beitreten
    Lobby-Server = PHP / MySQL basierte Schnittstelle zum anzeigen der Spieler und Server

    Voraussetzung:
    - Bisher nur getestet auf Windows7
    - .net Framework 4 mit aktuellen Updates

    Geplante (zusatz) Features:
    - Doku / FAQ
    - Connector: Broadcast-Abfrage für LAN-Games
    - Connector: Fix für "Direkt Play", damit auch über Lobby erstellten Games beigetreten werden kann.
    - Connector: Überprüfen der Spielversion und ggf. Automatisches Update
    - RGSS: ATB-Kampfscript
    - RGSS: Seperater Spieler-Auswahlbildschirm
    - RGSS: Speicherung von Spielerdaten und Fortschritt

    Bereits Implementiert:
    - "Connector"-Programm zum Verbingunsaufbau und Datenaustausch
    - RGSS: Automatischer austausch von vorher Definierten Game-Variablen und Switches
    - RGSS: Game-Variablen und Switches -> Definition per Config
    - RGSS: Player-Movements
    - RGSS: Ingame-Chat
    - Connector: Austausch von Hintergrundbildern
    - Lobby-Server auf Basis von PHP und MySQL

    Bekannte Bugs:
    - Connector: absturz beim ändern des Servernamens
    - Connector: absturz beim klicken des "leave"- Buttons
    - Ingame: Chat und Spielernamen werden gelöscht beim aufrufen des Game-Menüs
    - Ingame: Sonderzeichen im Chat funktionieren noch nicht
    - Ingame: Copy&Past für vorhandene Zusatz-Scripte (Playermovements, Chat) ist noch nicht gegeben.
    - Programm Arbeitet zur Zeit noch auf Basis von Input- und Output-Dateien - wird noch auf Shared-Memory geändert
    - Connector: Passwortabfrage für die Server funktioniert noch nicht
    - Ingamge: Shared-Switches sind teils noch verbuggt.
    - Connector: Probleme beim Connecten über Hamachi - HOT

    Funktionsweise und Mini-Doku:

    Dateien im Projektorder:
    Tocu_lobby.exe -> (Connector) Dieses Programm wird anstatt der Game.exe gestartet.
    input -> Datei die vom Connector geschrieben wird. Enthält Variablen und Switche von allen Spielern (nicht Anfassen!)
    output -> Datei die vom RGSS geschrieben wird. Enthält Variablen und Switche, die der jeweilige Spieler ändern darf. (nicht Anfassen!)
    version -> Version des Aktuellen Clients ( Noch nicht benutzt )
    clientconfig -> Datei die vom Connector generiert wird, um dem RGSS Startinformationen zu geben (Spielernamen, Spielernummer etc.) (nicht Anfassen!)
    tocuData -> Enthält die Config, die für den Connector wichtig ist, wie z.B. die URL unter der der Lobby-Server zu erreichen ist.
    Images/background.jpg und background_login.jpg -> Bilder für den Hintergrund im Connector, können angepasst oder ausgetauscht werden.

    Funktion:
    Starten des Connectors -> Auswahl Username -> Erstellen oder Beitreten eines Spiels -> automatischer Start der Game.exe

    Die Kommunikation läuft über Port 44444 TCP, dieser muss auch freigegeben bzw. vom Router weitergeleitet werden, wenn die Verbindung über das Internet ablaufen soll.

    Config der Variablen und Switches im RGSS:
    In den RGSS-Scripten werder ihr unter "Tocu-Mod VX" folgendes finden:
    Code:
        # configuration:
        @var_server_start = 1001
        @var_server_end = 1100
        @switch_server_start = 1001
        @switch_server_end = 1100
        @var_player1_start=1101
        @var_player1_end=1200
        @var_player2_start=1201
        @var_player2_end=1300
        @var_player3_start=1301
        @var_player3_end=1400
        @var_player4_start=1401
        @var_player4_end=1500
        @switch_shared_start = 1101
        @switch_shared_end = 1200
    Hier werden die Variablen und Switche Definiert, die Ausgetauscht werden sollen. Jeder Spieler darf eine gewisse Anzahl an Variablen ändern, bekommt aber zugleich von den Anderen Spielern alle Daten zurück, bis auf seine Eigenen. Spieler1 dürfte in diesem Fall im Variablen-Bereich 1101 bis 1200 ändern und den anderen Spieler würden Automatisch in diesem Berech die Variablen zugewiesen. Der Server (also der Spieler, der das Game hosted) bekommt außerdem noch eine zusätzliche Anzahl an Variablen und eine Gewisse Anzahl an Switches zugewiesen, die automatisch bei allen anderen Spielern gesetzt werden.
    Zusätzlich gibt es noch so genannte Shared-Switches (siehe @switch_shared_start und @switch_shared_end) diese Switche dürfen von allen Spielern geändert werden. Wenn spieler 1 den switch auf ON schaltet und spieler 2 eine Sekunde danach auf off, wird der Switch für alle als OFF geschrieben.

    Wichtige RGSS-Info:
    Es könnte sein, das sich noch einige Funktionen im Tocu-Mod noch ändern, auch was die Implementation des Shared-Memory betrifft, daher empfiehlt es sich noch keine Größeren Projekte darauf aufzubauen
    Was aber beibehalten wird, ist die Config und der Austausch der Variablen und Switches

    ----------------

    Im Anhang findet ihr vorerst nur den Projekt-Ordner und das Connector-Programm. Der die Lobby-Server-Scripte basierend auf PHP und MySQL sind nun auch hochgeladen, ihr dürft aber auch gerne meinen eigenen unter "http://www.towky.com/tocu/" nutzen

    Testet und Probiert rum, wie Ihr lustig seid und gebt uns Feedback über Bugs, Verbesserungen usw.


    Ich hoffe ich habe nichts Wichtiges vergessen, an sonsten einfach Nachfragen
    Angehängte Dateien Angehängte Dateien

    Geändert von Towky (08.10.2012 um 14:23 Uhr)

  2. #2
    Es geht leider nicht.
    Ich habe folgendes versucht: .Net Framework aktualisiert und Hamachi (Optional) für die "Direct Connect" Funktion installiert,
    bekomme leider immer denselben fehler: "Could not connect to Server"
    Was fehlt mir noch, oder habe ich etwas falsch Installiert?
    Bitte um schnelle Hilfe

    Erweitert:
    Problemsignatur:
    Problemereignisname: CLR20r3
    Problemsignatur 01:tocu_lobby.exe
    Problemsignatur 02:1.0.0.0
    Problemsignatur 03:501c58a7
    Problemsignatur 04:mscorlib
    Problemsignatur 05:4.0.30319.17929
    Problemsignatur 06:4ffa561c
    Problemsignatur 07:5811
    Problemsignatur 08:23
    Problemsignatur 09:System.ArgumentNullException
    Betriebsystemversion:6.1.7601.2.1.0.256.1
    Gebietsschema-ID:1031
    Zusatzinformation 1:0a9e
    Zusatzinformation 2:0a9e372d3b4ad19135b953a78882e789
    Zusatzinformation 3:0a9e
    Zusatzinformation 4:0a9e372d3b4ad19135b953a78882e789

    - -

    Geändert von pastirma (11.10.2012 um 18:22 Uhr)

  3. #3
    Hi Pastirma,

    sorry für die verspätete Antwort, ich war das ganze Wochenende unterwegs

    Wenn du soweit kommst, das du das Client-Programm starten kannst, sollte das Framework korrekt installiert sein, sonst würde direkt mit einer Fehlermeldung abgebrochen.

    Um ehrlich zu sein haben wir das Programm auch noch nicht über Hamachi getestet.

    Nur um ganz sicher zu gehen, du hast auch die IP-Adresse von Hamichi eingetragen?

    Wir werden dem Problem in den nächsten Tagen auf den Grund gehen und das Tool über Hamachi testen.


    EDIT: Was vieleicht noch wichtig ist währe ist, dass die Kommunikation über Port 44444 TCP abläuft. Evtl. könntest du die Firewalls checken und den Port freigeben. Da leider momentan keiner online ist, mit dem Ich Testen kann, kann ich nur Vermutungen anstellen

    Geändert von Towky (08.10.2012 um 02:40 Uhr)

  4. #4
    So, Ich hab nun rücksprache gehalten und hamachi wird noch nicht unterstützt. Wir sind jedoch dabei, das Problem zu beheben, da der C# Programmier aber zurzeit etwas ausgelastet ist, kann es bis nächste Woche dauern, bis wir einen Patch rausbringen.

    Bis dahin könntest du aber die Online-Connectivität nutzen. Es muss nur derjenige, der den Server startet, den Port 44444 weiterleiten.

    Da ich die Server-Lobby Scripte ja noch nicht hochgeladen habe, kannst du einfach meinen Lobby Server unter "http://www.towky.com/tocu/" nutzen. Der sollte aber auch schon Standartmäßig in der tocuData - Datei eingestellt sein.

  5. #5
    Erst mal Danke das sie geantwortet haben, ich werde es nochmal versuchen mit dem Port 44444 ich glaube es liegt wohl daran.
    Ich werde ihnen so schnell wie möglich antworten mit den Ergebnissen.
    Eine frage hätte ich noch, wo stelle ich das mit dem weiterleiten des Port's ein?

    P.s. Ich würde die Lan (Direct Connect) Funktion bevorzugen, nur dort habe ich genau das gleiche Problem .
    Pp.s. Wenn Sie/du wollen würde ich ihnen ein Video über E-Mail schicken um es noch besser zu zeigen.

    - -

    Geändert von pastirma (15.10.2012 um 17:04 Uhr)

  6. #6
    Bleiben wir mal beim "du"

    Die Ports musst du in deinem Router (Internet-Gateway) einstellen. Dort kannst du sowohl den Port als auch die Ziel-IP-Adresse (der PC, auf dem der Server gestartet wird) einstellen. Wie das genau geht musst du in der Beschreibung von deinem Router nachlesen oder google um Hilfe bitten

    Du kannst das Video einfach bei Youtube hochladen und auf "nicht gelistet" setzen und mir den Link schicken, dann schau ich mir das an.

    Wie gesagt, werden wir aber versuchen bis Mitte/Ende nächster Woche einen Patch rauszubringen, der das Problem mit dem Verbinden über Hamachi beseitigt.

    So währe der Weg, wie es aktuell Funktionieren sollte:
    Auf dem Server:
    - Port 44444TCP auf dem Router weiterleiten
    - "Online Game" starten
    - Server erstellen (hierbei nicht den Servernamen ändern, es kommt dort manchmal zu problemen)
    Client:
    - Einfach nur über "Online Game" dem Server beitreten

    An sonsten heißt es: Auf den Patch warten

    Geändert von Towky (12.10.2012 um 08:47 Uhr)

  7. #7
    Ich werde denn lieber mal auf den Patch warten, den Link für
    das Video werde ich dir denn bald schicken.

    - -

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •